Skip to main content
RD Station CRM is a customer relationship management platform that helps businesses manage leads, opportunities, and customer interactions. It provides tools for contact management, deal tracking, sales pipeline management, and customer analytics to improve sales performance and customer relationships.

Configuring RD Station CRM as a Source

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

1. Add account access

You’ll need to provide your RD Station CRM credentials for authentication. The connector supports both the legacy v1 API and the new v2 OAuth2 API. The following configurations are available:
  • API Version: API version to use. Use v2 for the most recent API and v1 for the legacy one.
  • Access Token: (v1 only) The token required to authenticate against the v1 API service. Check the RD Station CRM docs to discover how you can generate your access token.
  • OAuth2 Authorization: (v2 only) Authorize with your user account and grant permissions for the Nekt app.
  • Start Date: The earliest record date to sync (ISO 8601 format, e.g. 2024-01-01T00:00:00Z). Used for incremental streams.
  • Activities API Token (optional, advanced settings): A legacy v1 API token that enables the whatsapp_transcriptions stream (WhatsApp conversation transcripts from the deal timeline). This endpoint has no v2 equivalent, so it requires its own token regardless of the API version selected. Note: This feature requires the Advanced plan of RD Station CRM. If you provide a token but your account does not have access, the stream will be automatically skipped. Leave it empty and the stream is not created.
Once you’re done, click Next.

2. Select streams

If you are using the v1 API, incremental syncs are not supported. It also has a limitation of a maximum of 10,000 records per endpoint. Thus, this connector will always fetch the most recent 10,000 records for each entity (e.g. Deals, Contacts, Companies, etc) in each run for v1. The v2 API supports incremental syncs for Contacts, Deals, Organizations and Deal Notes; the remaining v2 streams are full table. The Tasks endpoint cannot be filtered by update date, so it is always a full table sync — but in v2 the connector pages past the 10,000-record query limit using a due_date cursor, so every task is fetched (see the Tasks stream below).
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.
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: depending on the data you are bringing to the lake, you can choose between INCREMENTAL and FULL_TABLE. 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.
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 available streams depend on the API version setting: v1 (legacy access-token API) exposes one set of streams, while v2 (OAuth2 API, the default for new sources) exposes another. The opt-in whatsapp_transcriptions stream is available with either version when an Activities API Token is provided. Version 1 (v1, default): Version 2 (v2, OAuth2 API):

Fields by stream

Below you’ll find all available data streams from RD Station CRM and their corresponding fields:
Stream containing marketing campaign records. Available in the v2 API.
Stream containing organization (company) records from your CRM. Available in the v1 API.Key Fields:
Stream containing individual contact records from your CRM. Supported by both v1 and v2 APIs.Key Fields:
Stream containing custom field definitions configured in your CRM. These define the structure for custom data on deals, contacts, companies, and products. Supported by both v1 and v2 APIs.Key Fields:
Stream containing textual notes added to deals. Available in the v2 API.
Stream containing sales pipeline definitions. Each pipeline organizes deals into sequential stages. Available in the v1 API.Key Fields:
Stream containing products attached to individual deals. This is a child stream of Deals, fetched per deal id. It is a join-table resource (per-deal pricing and quantity): to enrich it with product details, join with the Products stream on product_id downstream. This stream is a full table sync. Available in the v2 API.Key Fields:
Stream containing deal stage records for each pipeline. This is a child stream of Deal Pipelines, fetching stages per pipeline with full detail. Available in the v1 API.Key Fields:
Stream containing deal (opportunity) records. This is the core sales entity in RD Station CRM. Supported by both v1 and v2 APIs.Key Fields:
Stream containing extended deal information. This is a child stream of Deals that fetches the full detail endpoint for each deal, including stage history and pipeline relations not available in the Deals list. Available in the v1 API.Key Fields:
Stream containing deal loss reason definitions configured in your CRM. Available in the v2 API.
Stream containing organization (company) records from your CRM. Available in the v2 API.
Stream containing sales pipeline definitions. Available in the v2 API.
Stream containing product records from your CRM catalog. Supported by both v1 and v2 APIs.Key Fields:
Stream containing deal loss reason definitions configured in your CRM. Available in the v1 API.Key Fields:
Stream containing organization segment definitions. Available in the v2 API.
Stream containing deal source definitions. Available in the v2 API.
Stream containing deal stage definitions. Available in the v2 API.
Stream containing task records associated with deals. Supported by both v1 and v2 APIs.
The RD Station Tasks endpoint cannot be filtered by creation or update date, so incremental syncs are not possible and this stream is forced to FULL_TABLE sync in both API versions. In v1 the extraction is capped at the most recent 10,000 records. In v2 the connector sorts tasks by due_date ascending and, whenever a query hits RD Station’s 10,000-record limit, re-issues it from the last due_date seen, so accounts with more than 10,000 tasks are fully extracted (the sync just takes a few more passes). Rows re-read at the cursor boundary or shifted by page drift are deduplicated by id within the run.
Key Fields (v1 API):Key Fields (v2 API):
Stream containing CRM team records. Available in the v2 API.
Stream containing CRM user (team member) records. Supported by both v1 and v2 APIs.Key Fields:
Opt-in stream containing WhatsApp conversation transcripts logged on the deal timeline. It is backed by the legacy v1 /activities endpoint (filtered to whatsapp_transcription activities), which has no v2 equivalent, so it always authenticates with the dedicated Activities API Token and is only created when that token is configured.
Advanced Plan Required: WhatsApp transcripts require the Advanced plan of RD Station CRM. If the Activities API Token is configured but the account is not on the Advanced plan, the connector will detect the lack of permissions and automatically skip this stream (it will not be created or updated).
Supports incremental syncs on date, starting from the configured Start Date.Key Fields:

Transformation example: pivoting custom fields to columns

The custom_fields column stores all account-specific custom attributes as a single JSON string. This ensures schema stability regardless of dynamically created fields in RD Station and prevents extraction issues. To analyze dimensions like document numbers, values, or dropdown options in Explorer or downstream models, parse the JSON and expose the keys as separate columns.
Note: If your RD Station slug contains hyphens (e.g., cpf-cliente), you may need to use bracket notation in your JSON path extraction depending on your SQL engine syntax, such as json_extract_scalar(custom_fields, '$["cpf-cliente"]').

Implementation Notes

Incremental syncs and the 10,000-record query limit (v2)

  • RD Station’s v2 API rejects any filtered listing past the 10,000th record. For the incremental streams (Contacts, Deals, Organizations, Deal Notes) the connector filters on the replication key from the last saved state (or the Start Date) and, when a window overflows the limit, advances a monotonic cursor (created_at ascending) or splits the window until every slice fits, so no records are lost on the first sync of a large account.
  • Deal Products and Deal Notes are child streams fetched once per deal returned by the Deals stream. Deal Products has no replication key of its own and is always a full table sync.

Tasks pagination and page drift

  • The Tasks endpoint does not guarantee a stable order between calls unless explicitly sorted, so records changing mid-extraction can shift pages (page drift), producing duplicate or skipped rows.
  • In v2 the connector always sorts Tasks by due_date ascending. A task inserted before the current page can only shift later pages forward, so drift can duplicate a row but never skip one; duplicates are removed by id within the run.
  • due_date is also the one field that is both filterable and sortable and mandatory on every task, so it doubles as the cursor that pages past the 10,000-record limit: when a pass hits the cap, the query is re-issued with due_date >= <last due_date seen> until a pass finishes without overflowing. If the cursor cannot advance (more than 10,000 tasks sharing the same due_date), the run finishes with a partial result and a warning in the logs.

Data Model

The following diagram illustrates the relationships between the core data streams in RD Station CRM. The arrows indicate the join keys that link the different entities.

Troubleshooting

Incremental streams are also bounded by RD Station’s 10,000-record query limit, and Tasks pagination has its own behavior. Both are described in Implementation Notes.

Skills for agents

Download RD Station CRM skills file

RD Station CRM connector documentation as plain markdown, for use in AI agent contexts.