Skip to main content
Salesbud is a Brazilian sales-intelligence platform that records your team’s meetings and calls, transcribes them and uses AI to generate summaries, template answers, next steps and evaluations of each conversation. It can also capture your sellers’ email threads and WhatsApp chats. The connector extracts your company’s completed meetings and calls, with their transcripts and template answers, and the email and WhatsApp conversations with their messages, so you can analyze your sales conversations in your Lakehouse. Salesbud credentials are not self-service: your Salesbud contact issues them for your company and enables API access for it.

Configuring Salesbud as a Source

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

1. Add account access

Salesbud authenticates with an OAuth 2.0 client credential: a Client ID and a Client Secret that belong to your company, not to a user. The connector exchanges them for a short-lived access token on every sync, so there is nothing to renew on your side.
Request the credential from your Salesbud contact, and ask them to enable API access for your company — without it Salesbud refuses to issue tokens. Salesbud shows the secret only once, when the credential is created, and cannot recover it. If it is lost, ask for the credential to be rotated.
What the connector can read depends on the permissions (scopes) of the credential: meetings.read, calls.read, transcriptions.read, emails.read, emails.content.read, whatsapp.read, and whatsapp.content.read. Ask for the ones matching the streams you want. A stream whose permission is missing is skipped with a warning on the run log, and the rest of the sync proceeds normally. We recommend a credential dedicated to Nekt, so rotating or revoking it never disturbs your other integrations.
The following configurations are available:
  • Client ID: the identifier of the credential issued by Salesbud (it starts with sb_client_). Required.
  • Client Secret: the secret delivered together with the Client ID. Required.
  • Start Date: the earliest date from which records will be synced: meetings and calls created from this date on, and email and WhatsApp conversations with activity from this date on. Leave it empty to extract the full history.
  • Lookback Days: how many days are re-read before the last sync point on every run. Salesbud only exposes a meeting once its processing is complete, and keeps enriching it afterwards (evaluation, tags, answers), so recent records are read again to pick up those changes. The default is 7.
  • Requests Per Minute: how fast the connector may call Salesbud. By default it uses 90% of the quota Salesbud reports for the credential (120 requests per minute unless Salesbud changed it). The quota is shared with the other integrations of your company, so raise it only if you know no other integration needs it.
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.
Answers and transcripts cost one request per meeting or call, and Salesbud limits transcript reads to 60 per minute. The first sync of a large history can therefore take a while when transcripts are selected; the following syncs only re-read the lookback window. The overall evaluation of each meeting and call (status, score, and justification) already comes in the Meetings and Calls tables, with no extra requests.
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: all streams support INCREMENTAL. 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.
Salesbud’s API has no “last changed” filter, so meetings and calls are synced by creation date, re-reading the last Lookback Days on every run, and the Lakehouse deduplicates the overlap. A meeting whose processing finishes, or that is re-evaluated, more than that many days after it was created is only picked up by a full sync, so scheduling an occasional additional full sync is recommended. Email and WhatsApp conversations are synced by their latest message; an edited or deleted message is updated when its conversation is read again.
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 Salesbud and their corresponding fields. API reference: Salesbud API.
Every completed meeting of your company: recorded by the Salesbud bot, uploaded to the platform or captured by the mobile app (GET /v1/meetings). Requires the meetings.read permission.Primary key: id · Replication key: created_at
One row per template question answered in a meeting (GET /v1/meetings/{id}/answers), with the question type and order. Only requested for meetings that have a template. Requires meetings.read.Primary key: id · Replication key: updated_at
The transcript of each meeting that has one (GET /v1/meetings/{id}/transcript), in the enhanced version when available. Requires meetings.read and transcriptions.read.Primary key: meeting_id · Replication key: updated_at
Every completed call captured from a VoIP integration (GET /v1/calls). Calls carry the same fields as meetings, except the recording bot history. Requires calls.read.Primary key: id · Replication key: created_at
One row per template question answered in a call (GET /v1/calls/{id}/answers). Only requested for calls that have a template. Requires calls.read.Primary key: id · Replication key: updated_at
The transcript of each call that has one (GET /v1/calls/{id}/transcript). Requires calls.read and transcriptions.read.Primary key: call_id · Replication key: updated_at
Email threads of the mailboxes your sellers connected to Salesbud, deduplicated across mailboxes (GET /v1/emails). Metadata only, no bodies. Requires emails.read.Primary key: id · Replication key: last_message_at
Every message of each email conversation, with its plain-text body and attachment metadata (GET /v1/emails/{id}/messages). Requires emails.read and emails.content.read.Primary key: id · Replication key: sent_at
WhatsApp chats of your sellers, captured from WhatsApp Web or RD Conversas (GET /v1/whatsapp). Metadata only, no messages. Requires whatsapp.read.Primary key: id · Replication key: last_message_at
Every message of each WhatsApp conversation, with its text, media metadata and audio transcription (GET /v1/whatsapp/{id}/messages). Deleted messages stay as rows with empty content. Requires whatsapp.read and whatsapp.content.read.Primary key: id · Replication key: sent_at