> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nekt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CV CRM as a data source

> Bring data from CV CRM to Nekt.

CV CRM is a customer relationship management system designed specifically for Brazilian businesses. It provides tools for managing customer data, sales pipelines, and business relationships, helping companies organize and optimize their customer interactions and sales processes.

<img height="50" src="https://mintcdn.com/nekt/3MFKt2g7jzqFpztO/assets/logo/logo-cvcrm.jpeg?fit=max&auto=format&n=3MFKt2g7jzqFpztO&q=85&s=8de14cf80313e2680d233c8f75a40952" data-path="assets/logo/logo-cvcrm.jpeg" />

## Configuring CV CRM as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the CV 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 authorize Nekt to access your CV CRM data.

The following configurations are available:

* **Email**: the email address used to authenticate against the API service. This should be a valid email address with enough permissions to access the CV CRM data you want to extract. The email should be in the format `user@example.com`.
* **API token**: the authentication token required to access the API service. Please check [this documentation](https://desenvolvedor.cvcrm.com.br/docs/getting-started#etapa-2-gerando-o-token-de-acesso) to find more information about how to generate the token.
* **Company subdomain**: the subdomain identifier for your company account. For example, if your CRM URL is `https://mycompany.cvcrm.com.br`, then your company subdomain would be `mycompany`.
* **Start date**: the date from which you want to begin synchronizing data. This defines the earliest point in time for historical extraction. Any data created or modified before this date will not be included in the synchronization.

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.

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 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.

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](https://docs.nekt.com/runs/scheduling-and-triggers), 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](https://docs.nekt.com/get-started/core-concepts/resource-control).
* Determine when to execute an **Additional [Full Sync](https://docs.nekt.com/get-started/core-concepts/types-of-sync#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.

Once you are ready, click **Next** to finalize the setup.

### 5. Check your new source

You can view your new source on the [Sources](https://app.nekt.ai/sources) page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.

<Warning>For you to be able to see it on your [Catalog](https://app.nekt.ai/catalog), you need at least one successful source run.</Warning>

# Streams and Fields

Below you'll find all available data streams from CV CRM and their corresponding key fields:

<AccordionGroup>
  <Accordion title="Leads">
    Stream name: `leads`.

    **Endpoint:**

    * `/cvdw/leads`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field                    | Type    | Description                         |
    | :----------------------- | :------ | :---------------------------------- |
    | `referencia`             | String  | Reference ID                        |
    | `referencia_data`        | String  | Date reference for incremental sync |
    | `ativo`                  | Boolean | Active status                       |
    | `idlead`                 | String  | Lead identifier                     |
    | `idsituacao`             | String  | Situation identifier                |
    | `situacao`               | String  | Situation description               |
    | `submotivo_cancelamento` | String  | Cancellation sub-reason             |
  </Accordion>

  <Accordion title="Additional Fields">
    Stream name: `additional_fields`.

    **Endpoint:**

    * `/cvdw/campos_adicionais`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field              | Type    | Description                         |
    | :----------------- | :------ | :---------------------------------- |
    | `referencia`       | String  | Reference ID                        |
    | `referencia_data`  | String  | Date reference for incremental sync |
    | `ativo`            | Boolean | Active status                       |
    | `idcampo`          | String  | Field identifier                    |
    | `campo_nome`       | String  | Field name                          |
    | `idfuncionalidade` | String  | Feature identifier                  |
  </Accordion>

  <Accordion title="Sales">
    Stream name: `sales`.

    **Endpoint:**

    * `/cvdw/vendas`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idreserva`       | String  | Reservation identifier              |
    | `data_reserva`    | String  | Reservation date                    |
    | `data_venda`      | String  | Sale date                           |
  </Accordion>

  <Accordion title="Reservas">
    Stream name: `reservas`.

    **Endpoint:**

    * `/cvdw/reservas`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idreserva`       | String  | Reservation identifier              |
    | `codigointerno`   | String  | Internal code                       |
    | `numero_venda`    | String  | Sale number                         |
  </Accordion>

  <Accordion title="Reservas Flags">
    Stream name: `reservas_flags`.

    **Endpoint:**

    * `/cvdw/reservas/registros/flags`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field                  | Type    | Description                         |
    | :--------------------- | :------ | :---------------------------------- |
    | `referencia`           | String  | Reference ID                        |
    | `referencia_data`      | String  | Date reference for incremental sync |
    | `ativo`                | Boolean | Active status                       |
    | `idreserva`            | String  | Reservation identifier              |
    | `data_criacao_reserva` | String  | Reservation creation date           |
    | `empreendimento`       | String  | Enterprise/Project name             |
  </Accordion>

  <Accordion title="Pre Cadastros">
    Stream name: `pre_cadastros`.

    **Endpoint:**

    * `/cvdw/precadastros`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idprecadastro`   | String  | Pre-registration identifier         |
    | `codigointerno`   | String  | Internal code                       |
    | `idsituacao`      | String  | Situation identifier                |
  </Accordion>

  <Accordion title="Leads Visitas">
    Stream name: `leads_visitas`.

    **Endpoint:**

    * `/cvdw/leads/visitas`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idtarefa`        | String  | Task identifier                     |
    | `data_cad`        | String  | Registration date                   |
    | `data`            | String  | Date                                |
  </Accordion>

  <Accordion title="Corretores">
    Stream name: `corretores`.

    **Endpoint:**

    * `/cvdw/corretores`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `ativo_login`     | Boolean | Login active status                 |
    | `idcorretor`      | String  | Broker identifier                   |
    | `idimobiliaria`   | String  | Real estate identifier              |
  </Accordion>

  <Accordion title="Imobiliarias">
    Stream name: `imobiliarias`.

    **Endpoint:**

    * `/cvdw/imobiliarias`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `ativo_painel`    | Boolean | Panel active status                 |
    | `idimobiliaria`   | String  | Real estate identifier              |
    | `data_cad`        | String  | Registration date                   |
  </Accordion>

  <Accordion title="Pessoas">
    Stream name: `pessoas`.

    **Endpoint:**

    * `/cvdw/pessoas`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idpessoa`        | String  | Person identifier                   |
    | `idpessoa_int`    | String  | Internal person identifier          |
    | `idpessoa_legado` | String  | Legacy person identifier            |
  </Accordion>

  <Accordion title="Empreendimentos">
    Stream name: `empreendimentos`.

    **Endpoint:**

    * `/cadastros/empreendimentos`

    **Sync Strategy:**

    * Full table (no replication key configured)
    * Primary key(s): `idempreendimento`

    **Key Fields:**

    | Field                  | Type   | Description                            |
    | :--------------------- | :----- | :------------------------------------- |
    | `idempreendimento`     | String | Enterprise/Project identifier          |
    | `idempreendimento_int` | String | Internal enterprise/project identifier |
    | `referencia_externa`   | String | External reference                     |
    | `nome`                 | String | Name                                   |
    | `regiao`               | String | Region                                 |
    | `cidade`               | String | City                                   |
  </Accordion>

  <Accordion title="Campanhas Ativacao">
    Stream name: `campanhas_ativacao`.

    **Endpoint:**

    * `/cvdw/campanhas_ativacao`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idcampanha_lead` | String  | Lead campaign identifier            |
    | `idcampanha`      | String  | Campaign identifier                 |
    | `campanha_nome`   | String  | Campaign name                       |
  </Accordion>

  <Accordion title="Unidades">
    Stream name: `unidades`.

    **Endpoint:**

    * `/cvdw/unidades`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field                   | Type   | Description                            |
    | :---------------------- | :----- | :------------------------------------- |
    | `referencia`            | String | Reference ID                           |
    | `referencia_data`       | String | Date reference for incremental sync    |
    | `idempreendimento`      | String | Enterprise/Project identifier          |
    | `idempreendimento_int`  | String | Internal enterprise/project identifier |
    | `nome_empreendimento`   | String | Enterprise/Project name                |
    | `idtipo_empreendimento` | String | Enterprise/Project type identifier     |
  </Accordion>

  <Accordion title="Distratos">
    Stream name: `distratos`.

    **Endpoint:**

    * `/cvdw/distratos`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idreserva`       | String  | Reservation identifier              |
    | `aprovada`        | Boolean | Approved status                     |
    | `data_cad`        | String  | Registration date                   |
  </Accordion>

  <Accordion title="Leads Interacoes">
    Stream name: `leads_interacoes`.

    **Endpoint:**

    * `/cvdw/leads/interacoes`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idinteracao`     | String  | Interaction identifier              |
    | `idlead`          | String  | Lead identifier                     |
    | `data_cad`        | String  | Registration date                   |
  </Accordion>

  <Accordion title="Leads Tarefas">
    Stream name: `leads_tarefas`.

    **Endpoint:**

    * `/cvdw/leads/tarefas`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idtarefa`        | String  | Task identifier                     |
    | `data_cad`        | String  | Registration date                   |
    | `data`            | String  | Date                                |
  </Accordion>

  <Accordion title="Leads Historico Situacoes">
    Stream name: `leads_historico_situacoes`.

    **Endpoint:**

    * `/cvdw/leads/historico/situacoes`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idhistorico`     | String  | History identifier                  |
    | `idlead`          | String  | Lead identifier                     |
    | `data_cad`        | String  | Registration date                   |
  </Accordion>

  <Accordion title="Comissoes">
    Stream name: `comissoes`.

    **Endpoint:**

    * `/cvdw/comissoes`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idcomissao`      | String  | Commission identifier               |
    | `situacao`        | String  | Situation                           |
    | `idsituacao`      | String  | Situation identifier                |
  </Accordion>

  <Accordion title="Atendimentos">
    Stream name: `atendimentos`.

    **Endpoint:**

    * `/cvdw/atendimentos`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idatendimento`   | String  | Service/Attendance identifier       |
    | `protocolo`       | String  | Protocol                            |
    | `data_cad`        | String  | Registration date                   |
  </Accordion>

  <Accordion title="Assistencias">
    Stream name: `assistencias`.

    **Endpoint:**

    * `/cvdw/assistencias`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field               | Type    | Description                         |
    | :------------------ | :------ | :---------------------------------- |
    | `referencia`        | String  | Reference ID                        |
    | `referencia_data`   | String  | Date reference for incremental sync |
    | `ativo`             | Boolean | Active status                       |
    | `idassistencia`     | String  | Assistance identifier               |
    | `idcliente`         | String  | Customer identifier                 |
    | `documento_cliente` | String  | Customer document                   |
  </Accordion>

  <Accordion title="Leads Conversoes">
    Stream name: `leads_conversoes`.

    **Endpoint:**

    * `/cvdw/leads/conversoes`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field              | Type    | Description                         |
    | :----------------- | :------ | :---------------------------------- |
    | `referencia`       | String  | Reference ID                        |
    | `referencia_data`  | String  | Date reference for incremental sync |
    | `ativo`            | Boolean | Active status                       |
    | `idlead_conversao` | String  | Lead conversion identifier          |
    | `idlead`           | String  | Lead identifier                     |
    | `nome`             | String  | Name                                |
  </Accordion>

  <Accordion title="Repasses">
    Stream name: `repasses`.

    **Endpoint:**

    * `/cvdw/repasses`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field                       | Type   | Description                         |
    | :-------------------------- | :----- | :---------------------------------- |
    | `referencia`                | String | Reference ID                        |
    | `referencia_data`           | String | Date reference for incremental sync |
    | `data_cad`                  | String | Registration date                   |
    | `ultima_atualizacao`        | String | Last update                         |
    | `data_modificacao_situacao` | String | Situation modification date         |
    | `idreserva`                 | String | Reservation identifier              |
  </Accordion>

  <Accordion title="Leads Workflow Tempo">
    Stream name: `leads_workflow_tempo`.

    **Endpoint:**

    * `/cvdw/leads/workflow/tempo`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idtempo`         | String  | Time identifier                     |
    | `idlead`          | String  | Lead identifier                     |
    | `idsituacao`      | String  | Situation identifier                |
  </Accordion>

  <Accordion title="Reservas Condicoes">
    Stream name: `reservas_condicoes`.

    **Endpoint:**

    * `/cvdw/reservas/condicoes`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field                 | Type    | Description                         |
    | :-------------------- | :------ | :---------------------------------- |
    | `referencia`          | String  | Reference ID                        |
    | `referencia_data`     | String  | Date reference for incremental sync |
    | `ativo`               | Boolean | Active status                       |
    | `idreservascondicoes` | String  | Reservation conditions identifier   |
    | `idreserva`           | String  | Reservation identifier              |
    | `serie`               | String  | Series                              |
  </Accordion>

  <Accordion title="Reservas Contratos">
    Stream name: `reservas_contratos`.

    **Endpoint:**

    * `/cvdw/reservas/contratos`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field               | Type    | Description                         |
    | :------------------ | :------ | :---------------------------------- |
    | `referencia`        | String  | Reference ID                        |
    | `referencia_data`   | String  | Date reference for incremental sync |
    | `ativo`             | Boolean | Active status                       |
    | `idreservacontrato` | String  | Reservation contract identifier     |
    | `idreserva`         | String  | Reservation identifier              |
    | `data_cad`          | String  | Registration date                   |
  </Accordion>

  <Accordion title="Reservas Sienge">
    Stream name: `reservas_sienge`.

    **Endpoint:**

    * `/cvdw/reservas/sienge`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field              | Type    | Description                         |
    | :----------------- | :------ | :---------------------------------- |
    | `referencia`       | String  | Reference ID                        |
    | `referencia_data`  | String  | Date reference for incremental sync |
    | `ativo`            | Boolean | Active status                       |
    | `data_cad`         | String  | Registration date                   |
    | `idsienge_reserva` | String  | Sienge reservation identifier       |
    | `idreserva`        | String  | Reservation identifier              |
  </Accordion>

  <Accordion title="Leads Corretores">
    Stream name: `leads_corretores`.

    **Endpoint:**

    * `/cvdw/leads/corretores`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `idlead, idcorretor, data_cad`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idlead`          | String  | Lead identifier                     |
    | `data_cad`        | String  | Registration date                   |
    | `idcorretor`      | String  | Broker identifier                   |
  </Accordion>

  <Accordion title="Unidades Situacao">
    Stream name: `unidades_situacao`.

    **Endpoint:**

    * `/cvdw/unidades/situacao`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field                   | Type   | Description                            |
    | :---------------------- | :----- | :------------------------------------- |
    | `referencia`            | String | Reference ID                           |
    | `referencia_data`       | String | Date reference for incremental sync    |
    | `idempreendimento`      | String | Enterprise/Project identifier          |
    | `idempreendimento_int`  | String | Internal enterprise/project identifier |
    | `nome_empreendimento`   | String | Enterprise/Project name                |
    | `idtipo_empreendimento` | String | Enterprise/Project type identifier     |
  </Accordion>

  <Accordion title="Pre Cadastros Historico Situacoes">
    Stream name: `pre_cadastros_historico_situacoes`.

    **Endpoint:**

    * `/cvdw/precadastro/historico/situacoes`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idhistorico`     | String  | History identifier                  |
    | `idprecadastro`   | String  | Pre-registration identifier         |
    | `data_cad`        | String  | Registration date                   |
  </Accordion>

  <Accordion title="Distribuicao Leads">
    Stream name: `distribuicao_leads`.

    **Endpoint:**

    * `/cvdw/distribuicao/leads`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `id_log`          | String  | Log identifier                      |
    | `recebido_em`     | String  | Received at                         |
    | `id_fila`         | String  | Queue identifier                    |
  </Accordion>

  <Accordion title="Empreendimentos Cvbot">
    Stream name: `empreendimentos_cvbot`.

    **Endpoint:**

    * `/cvbot/empreendimentos`

    **Sync Strategy:**

    * Full table (no replication key configured)
    * Primary key(s): `idempreendimento`

    **Key Fields:**

    | Field              | Type   | Description           |
    | :----------------- | :----- | :-------------------- |
    | `idempreendimento` | String | Enterprise identifier |
    | `nome`             | String | Name                  |
    | `endereco`         | String | Address               |
    | `cidade`           | String | City                  |
    | `estado`           | String | State                 |
    | `data_entrega`     | String | Delivery date         |
  </Accordion>

  <Accordion title="Empreendimentos Unidades Cvbot">
    Stream name: `empreendimentos_unidades_cvbot`.

    **Endpoint:**

    * `/cvbot/empreendimentos/{idempreendimento}/unidades`

    **Sync Strategy:**

    * Full table (no replication key configured)
    * Primary key(s): `idunidade`

    **Key Fields:**

    | Field            | Type   | Description     |
    | :--------------- | :----- | :-------------- |
    | `idunidade`      | String | Unit identifier |
    | `nome`           | String | Name            |
    | `area_privativa` | String | Private area    |
    | `vagas_garagem`  | String | Garage spaces   |
    | `andar`          | String | Floor           |
    | `area_comum`     | String | Common area     |
  </Accordion>

  <Accordion title="Pessoas Profissional">
    Stream name: `pessoas_profissional`.

    **Endpoint:**

    * `/cvdw/pessoas/profissional`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field                   | Type    | Description                         |
    | :---------------------- | :------ | :---------------------------------- |
    | `referencia`            | String  | Reference ID                        |
    | `referencia_data`       | String  | Date reference for incremental sync |
    | `ativo`                 | Boolean | Active status                       |
    | `idpessoa`              | String  | Person identifier                   |
    | `idpessoa_int`          | String  | Internal person identifier          |
    | `trabalho_nome_empresa` | String  | Work company name                   |
  </Accordion>

  <Accordion title="Tipologias Unidades">
    Stream name: `tipologias_unidades`.

    **Endpoint:**

    * `/configuracoes/tipologias-unidades`

    **Sync Strategy:**

    * Full table (no replication key configured)
    * Primary key(s): `idtipologia`

    **Key Fields:**

    | Field          | Type    | Description         |
    | :------------- | :------ | :------------------ |
    | `idtipologia`  | String  | Typology identifier |
    | `nome`         | String  | Name                |
    | `ativo_painel` | Boolean | Panel active status |
    | `data_cad`     | String  | Registration date   |
  </Accordion>

  <Accordion title="Reservas Associados">
    Stream name: `reservas_associados`.

    **Endpoint:**

    * `/cvdw/reservas/associados`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idassociado`     | String  | Associate identifier                |
    | `idreserva`       | String  | Reservation identifier              |
    | `idpessoa`        | String  | Person identifier                   |
  </Accordion>

  <Accordion title="Usuarios Administrativos">
    Stream name: `usuarios_administrativos`.

    **Endpoint:**

    * `/cvdw/usuarios_administrativos`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idusuario`       | String  | User identifier                     |
    | `ativo_painel`    | Boolean | Panel active status                 |
    | `tipo_login`      | String  | Login type                          |
  </Accordion>

  <Accordion title="Pesquisas">
    Stream name: `pesquisas`.

    **Endpoint:**

    * `/cvdw/pesquisas`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idpesquisa`      | String  | Survey identifier                   |
    | `data_inicio`     | String  | Start date                          |
    | `data_fim`        | String  | End date                            |
  </Accordion>

  <Accordion title="Pesquisas Perguntas">
    Stream name: `pesquisas_perguntas`.

    **Endpoint:**

    * `/cvdw/pesquisas/perguntas`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field                 | Type    | Description                         |
    | :-------------------- | :------ | :---------------------------------- |
    | `referencia`          | String  | Reference ID                        |
    | `referencia_data`     | String  | Date reference for incremental sync |
    | `ativo`               | Boolean | Active status                       |
    | `idpesquisa_pergunta` | String  | Survey question identifier          |
    | `idpergunta`          | String  | Question identifier                 |
    | `nome_pergunta`       | String  | Question name                       |
  </Accordion>

  <Accordion title="Pesquisas Respostas">
    Stream name: `pesquisas_respostas`.

    **Endpoint:**

    * `/cvdw/pesquisas/respostas`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `data_resposta`   | String  | Response date                       |
    | `idpesquisa`      | String  | Survey identifier                   |
    | `idpergunta`      | String  | Question identifier                 |
  </Accordion>

  <Accordion title="Assistencias Itens">
    Stream name: `assistencias_itens`.

    **Endpoint:**

    * `/cvdw/assistencias/itens`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field                | Type    | Description                         |
    | :------------------- | :------ | :---------------------------------- |
    | `referencia`         | String  | Reference ID                        |
    | `referencia_data`    | String  | Date reference for incremental sync |
    | `ativo`              | Boolean | Active status                       |
    | `idassistencia_item` | String  | Assistance item identifier          |
    | `idassistencia`      | String  | Assistance identifier               |
    | `item`               | String  | Item                                |
  </Accordion>

  <Accordion title="Assistencias Workflow Tempo">
    Stream name: `assistencias_workflow_tempo`.

    **Endpoint:**

    * `/cvdw/assistencias/workflow/tempo`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idtempo`         | String  | Time identifier                     |
    | `idassistencia`   | String  | Assistance identifier               |
    | `idsituacao`      | String  | Situation identifier                |
  </Accordion>

  <Accordion title="Assistencias Itens Workflow Tempo">
    Stream name: `assistencias_itens_workflow_tempo`.

    **Endpoint:**

    * `/cvdw/assistencias/itens/workflow/tempo`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idtempo`         | String  | Time identifier                     |
    | `idassistencia`   | String  | Assistance identifier               |
    | `idsituacao`      | String  | Situation identifier                |
  </Accordion>

  <Accordion title="Assistencias Visitas Workflow Tempo">
    Stream name: `assistencias_visitas_workflow_tempo`.

    **Endpoint:**

    * `/cvdw/assistencias/visitas/workflow/tempo`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idtempo`         | String  | Time identifier                     |
    | `idvisita`        | String  | Visit identifier                    |
    | `idsituacao`      | String  | Situation identifier                |
  </Accordion>

  <Accordion title="Atendimentos Respostas">
    Stream name: `atendimentos_respostas`.

    **Endpoint:**

    * `/cvdw/atendimentos/respostas`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idresposta`      | String  | Response identifier                 |
    | `idatendimento`   | String  | Service/Attendance identifier       |
    | `idusuario`       | String  | User identifier                     |
  </Accordion>

  <Accordion title="Atendimentos Workflow Tempo">
    Stream name: `atendimentos_workflow_tempo`.

    **Endpoint:**

    * `/cvdw/atendimentos/workflow/tempo`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idtempo`         | String  | Time identifier                     |
    | `idatendimento`   | String  | Service/Attendance identifier       |
    | `idsituacao`      | String  | Situation identifier                |
  </Accordion>

  <Accordion title="Atendimentos Interacoes">
    Stream name: `atendimentos_interacoes`.

    **Endpoint:**

    * `/cvdw/atendimentos/interacoes`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idinteracao`     | String  | Interaction identifier              |
    | `idatendimento`   | String  | Service/Attendance identifier       |
    | `idusuario`       | String  | User identifier                     |
  </Accordion>

  <Accordion title="Unidades Precos">
    Stream name: `unidades_precos`.

    **Endpoint:**

    * `/cvdw/unidades/precos`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idunidade`       | String  | Unit identifier                     |
    | `unidade`         | String  | Unit                                |
    | `valor_avaliacao` | String  | Evaluation value                    |
  </Accordion>

  <Accordion title="Atendimentos Times">
    Stream name: `atendimentos_times`.

    **Endpoint:**

    * `/cvdw/atendimentos/times`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idtime`          | String  | Team identifier                     |
    | `idgestor`        | String  | Manager identifier                  |
    | `gestor`          | String  | Manager name                        |
  </Accordion>

  <Accordion title="Atendimentos Times Integrantes">
    Stream name: `atendimentos_times_integrantes`.

    **Endpoint:**

    * `/cvdw/atendimentos/times/integrantes`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idintegrante`    | String  | Member identifier                   |
    | `idtime`          | String  | Team identifier                     |
    | `time`            | String  | Team name                           |
  </Accordion>

  <Accordion title="Atendimentos Tarefas">
    Stream name: `atendimentos_tarefas`.

    **Endpoint:**

    * `/cvdw/atendimentos/tarefas`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idatendimento`   | String  | Service/Attendance identifier       |
    | `protocolo`       | String  | Protocol                            |
    | `data_cad`        | String  | Registration date                   |
  </Accordion>

  <Accordion title="Reservas Workflow Tempo">
    Stream name: `reservas_workflow_tempo`.

    **Endpoint:**

    * `/cvdw/reservas/workflow/tempo`

    **Sync Strategy:**

    * Incremental replication key: `referencia_data`
    * Primary key(s): `referencia`

    **Key Fields:**

    | Field             | Type    | Description                         |
    | :---------------- | :------ | :---------------------------------- |
    | `referencia`      | String  | Reference ID                        |
    | `referencia_data` | String  | Date reference for incremental sync |
    | `ativo`           | Boolean | Active status                       |
    | `idtempo`         | String  | Time identifier                     |
    | `idreserva`       | String  | Reservation identifier              |
    | `idsituacao`      | String  | Situation identifier                |
    | `situacao`        | String  | Situation name                      |
    | `sigla`           | String  | Acronym                             |
    | `tempo`           | String  | Time                                |
    | `data_cad`        | String  | Registration date                   |
  </Accordion>
</AccordionGroup>

## Implementation Notes

### Empty Response Handling

The CV CRM connector safely handles `204 No Content` and empty body responses from the API, particularly on paginated endpoints. This prevents data pipeline failures when specific data streams or pages return no data during the synchronization window.

## Skills for agents

<Snippet file="agent-skills-intro.mdx" />

<Card title="Download CV CRM skills file" icon="wand-magic-sparkles" href="/sources/cvcrm.md">
  CV CRM connector documentation as plain markdown, for use in AI agent contexts.
</Card>
