Skip to main content
Falaê is a customer-experience platform for restaurants and retail: it collects NPS survey answers from customers, issues coupons and loyalty-program rewards, and tracks reviews on Google, iFood and TripAdvisor. The Nekt connector extracts that data into your Catalog, so you can analyze customer satisfaction together with your sales and operations data.

Before you start

You need the API token (a JWT) of your Falaê account. Falaê provides it on request: ask the Falaê team for an integration token. The token decides which companies (units) the connector can see. If Falaê revokes or replaces it, update it in the source configuration.

Configuring Falaê as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Falaê option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

The following configurations are available:
  • API Token: The integration token provided by the Falaê team. Paste only the token, without quotes and without the word Bearer.
  • Start Date: The earliest day to extract answers, coupons, awards and daily reports from. A long period makes the first extraction slower, because the daily reports are requested one day at a time.
Once you’re done, click Next.

2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis.
Tip: The stream can be found more easily by typing its name.
Select the streams and click Next.

3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.
  • Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
  • Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
  • Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
  • Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
    • Incremental: every time the extraction happens, we’ll get only the new and changed data, which is good if, for example, you want to keep every record ever fetched.
    • Full table: every time the extraction happens, we’ll get the current state of the data, which is good if, for example, you don’t want to have deleted data in your catalog.
We recommend INCREMENTAL for answers, coupons, awards and the daily reports: each extraction reads only the last few days again, while FULL_TABLE reads everything since the start date on every run. Once you are done configuring, click Next.

4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. Answers arrive throughout the day, so a few runs per day keep them fresh; once a day is enough for the daily reports. Optionally, you can define some additional settings:
  • Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
  • Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. A monthly full sync is enough to pick up coupons that changed long after they were created.
Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Available streams

The table below lists every stream, its slug (the exact identifier to pass when creating the source via API) and a short description. The rated criteria of an answer and the NPS by criterion of the consolidated report are stored as JSON text, for example json_extract_scalar(criteria, '$[0].nick').

Fields by stream

Stream name: companies.Sync Strategy:
  • Full table
  • Primary key(s): id
Stream name: searches.Sync Strategy:
  • Full table
  • Primary key(s): id
Stream name: answers.Sync Strategy:
  • Incremental on created_at (re-reads the last 2 days)
  • Primary key(s): id
Stream name: coupons.Sync Strategy:
  • Incremental on created_at (re-reads the last 2 days) plus every coupon used since the previous run
  • Primary key(s): id
Stream name: awardeds.Sync Strategy:
  • Incremental on created_at (re-reads the last 2 days)
  • Primary key(s): id
Stream name: consolidated_report_daily.Sync Strategy:
  • Incremental on date (re-reads the last 7 days)
  • Primary key(s): date, company, uf
Stream name: google_reviews_daily.Sync Strategy:
  • Incremental on date (re-reads the last 30 days)
  • Primary key(s): date, company_id
Stream name: ifood_reviews_daily.Sync Strategy:
  • Incremental on date (re-reads the last 30 days)
  • Primary key(s): date, company_id
Stream name: tripadvisor_reviews_daily.Sync Strategy:
  • Incremental on date (re-reads the last 30 days)
  • Primary key(s): date, company_id

Implementation Notes

Data Quality Considerations

  • Answers are read by the day they were created. Each extraction reads the last 2 days again, so late answers are not missed. The answer’s workflow status and closed-loop notes are not available in Falaê’s API and are not extracted.
  • NPS and eNPS: Falaê asks for the answer type on every request, but for some accounts it returns the same answers for both types. The is_enps column is filled only when Falaê tells them apart, and is empty otherwise.
  • Coupons change after they are created, when they are used. Each incremental extraction also reads every coupon used since the previous extraction, so date_of_use and status stay up to date. A coupon that only expires is not read again; use expiration_date to tell expired coupons.
  • Daily reports are aggregates per company and day. The consolidated report is read again for the last 7 days, and the review summaries for the last 30 days (replies to reviews keep arriving), so recent days are refreshed. Today’s row is partial until the next extraction.
  • The consolidated report has no company id: each row is identified by the day, the company name and its state (uf, empty when Falaê has none). If two units have the same name and state, only one of them is kept for that day and the run log warns about it; give them different names in Falaê to keep both. If a company is renamed, recent days (up to 7 days back) get a row under the new name next to the old one.
  • The consolidated report’s figures are calculated by Falaê and do not always match the other tables: total can differ from the number of rows in the answers table, and coupons_created is not limited to the day, so do not add it up across days. Days older than 7 days are not read again; run a full sync if you need them recalculated.
  • Client, company and survey names on answers, coupons and awards are the values at the time the record was read. Changes made in Falaê more than 2 days after the record was created only show up after a full sync.
  • published_rating and total_answers in the review summaries describe the company on the review site overall, not the day.
  • Client fields (name, e-mail, phone, CPF, birth date) are filled only when the client identified themselves. Birth dates are normalized to YYYY-MM-DD.

API Limits & Performance

  • Lists are read 50 records per request (Falaê’s maximum), with a short pause between requests. When Falaê asks the connector to slow down or is temporarily unavailable, it waits and retries automatically.
  • Each period is saved only after all of its pages were read and they add up with the total reported by Falaê. New answers and coupons that arrive while a period is being read do not disturb it (they are picked up by the next extraction). If records are deleted while a period is being read, that period is read again (up to three times), so no record is duplicated or missed.
  • The daily reports make one request per day and per report. A start date far in the past makes the first extraction take longer; later extractions only read the last days.

Troubleshooting