Skip to main content
Funil de Vendas is a Brazilian sales CRM: teams use it to manage their sales pipelines, follow each opportunity from the first contact to the win or loss, and schedule activities such as calls, meetings and WhatsApp messages. The connector extracts the opportunities of every pipeline, with their contact, company, owner, sales channel, products, logbook and click identifiers (Facebook, Google Ads and TikTok), the activities, and the configuration lists of the account, so you can cross your sales results with your marketing data in your Lakehouse.

Configuring Funil de Vendas as a Source

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

1. Add account access

The Funil de Vendas API signs in with the e-mail of a Funil de Vendas user plus either that user’s password (the same one used at app.funildevendas.com.br) or the account’s integration key (Configurações > Integrações, available to the administrator), which Funil de Vendas documents as an alternative for API access.
The connector only sees what this user sees in the CRM. The account administrator sees every pipeline and opportunity; a manager only sees their team’s, and a seller only their own. Use the administrator’s login (or a dedicated user with the same visibility) so that no opportunity is left out.
The following configurations are available:
  • E-mail: the e-mail of the Funil de Vendas user. Required.
  • Password or integration key: the password of that user. Required. If Funil de Vendas does not accept the password, use the account’s integration key instead. If the password is changed in Funil de Vendas, update it here too, or the next run will fail with an access error.
  • Start Date: only opportunities created and activities updated on or after this date are extracted. We recommend setting it to the oldest date you need: Funil de Vendas can only list opportunities by creation date, so every run reads all opportunities again from this date. Leave it empty to extract the whole history (since 2010), at the cost of slower runs.
  • API time zone (advanced): the time zone of the dates and times Funil de Vendas sends, as an IANA name. The default, America/Sao_Paulo (Brasília time), fits Brazilian accounts. The connector converts every date and time to UTC.
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. You can select entire groups of streams or pick specific ones.
Tip: The stream can be found more easily by typing its name.
Opportunity Products and Opportunity Logbook come from the same request as Opportunities, so selecting them costs no extra extraction time.
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: Activities supports INCREMENTAL. Every other stream is FULL_TABLE, because Funil de Vendas can only list opportunities by creation date: each run reads all of them again, so stage changes, wins and losses of old opportunities are always up to date. Read more about Sync Types here.
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. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). 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.
The Activities stream asks Funil de Vendas for the activities updated since the previous run. This filter is documented but had not been confirmed with a real account when the connector was released, and Funil de Vendas does not report deleted activities either. Check after the first runs that activities edited in the CRM show up in the table, and schedule a weekly additional full sync of Activities until you have confirmed it.
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

Below you’ll find all available data streams from Funil de Vendas and their corresponding fields. API reference: Funil de Vendas APIs. Funil de Vendas sends dates and times without a time zone. The connector reads them in the API time zone of the source (Brasília by default) and stores them in UTC: a sale created at 10:00 in Brasília appears as 13:00 UTC. Good to know:
  • An opportunity moved to another pipeline while a sync is running may be missing from that run’s table; it is back on the next run.
  • Opportunities marked to reopen in the future (“Futuras”) are only listed once their date arrives.
  • Logbook entries are identified by the opportunity and their position in its logbook, because Funil de Vendas does not document their code as unique.

Sales

Every opportunity of every sales pipeline the configured user can see, open, won and lost, with its contact, company, owner, step, sales channel and click identifiers (fbclid, gclid, tiktok). Read in full on every run.Table: opportunities · Primary key: code · Sync: Full table
One row per product line of each opportunity, expanded from the opportunity data with no extra request.Table: opportunity_products · Primary key: opportunity_code, position · Sync: Full table
One row per logbook (diário de bordo) entry of each opportunity: notes written by users and system logs such as step changes. Expanded from the opportunity data with no extra request.Table: opportunity_logbook · Primary key: opportunity_code, position · Sync: Full table
Calls, meetings, e-mails and other activities scheduled in the CRM, linked or not to an opportunity. Each run reads the activities updated since the previous one.Table: activities · Primary key: code · Sync: Incremental (by updated_at)

Configuration

Sales pipelines (funnels) visible to the configured user.Table: pipelines · Primary key: code · Sync: Full table
Steps of each sales pipeline, in the order the pipeline shows them.Table: pipeline_steps · Primary key: pipeline_code, code · Sync: Full table
Users (sellers and managers) of the CRM.Table: users · Primary key: code · Sync: Full table
Sales channels: the lead sources an opportunity can come from.Table: sales_channels · Primary key: code · Sync: Full table
Company segments.Table: segments · Primary key: code · Sync: Full table
Answers that can be picked when an opportunity is marked as won.Table: gain_responses · Primary key: code · Sync: Full table
Answers (loss reasons) that can be picked when an opportunity is marked as lost.Table: loss_responses · Primary key: code · Sync: Full table
Types of activity configured in the account, such as calls, meetings and WhatsApp.Table: activity_types · Primary key: code · Sync: Full table
Custom fields configured for contacts, companies and opportunities. Their values are in the custom_fields columns of Opportunities.Table: custom_fields · Primary key: module, key · Sync: Full table