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

# Salesforce

> Configure o conector Salesforce para sincronizar contas, contatos e oportunidades do CRM com a plataforma strattum.ai.

O conector Salesforce extrai dados do CRM Salesforce e os sincroniza com a infraestrutura strattum.ai de forma incremental. Contas, contatos, oportunidades, leads e casos entram no Data Catalog e alimentam o grafo de entidades do Memory.

## Capacidades

* Extrair os objetos padrão do CRM via SOQL.
* Carga incremental por `LastModifiedDate` — só o que mudou entra a cada ciclo.
* Registro automático no Data Catalog com linhagem.

## Objetos suportados

| Objeto (Salesforce) | Recurso         | Campo de cursor    | O que vem                                             |
| ------------------- | --------------- | ------------------ | ----------------------------------------------------- |
| Contact             | `contacts`      | `LastModifiedDate` | Nome, e-mail e telefone dos contatos                  |
| Account             | `accounts`      | `LastModifiedDate` | Empresas, setor e receita anual                       |
| Opportunity         | `opportunities` | `LastModifiedDate` | Negócios com valor, estágio e data de fechamento      |
| Lead                | `leads`         | `LastModifiedDate` | Leads com nome, e-mail e status                       |
| Case                | `cases`         | `LastModifiedDate` | Casos de atendimento com assunto, status e prioridade |

Campos customizados além dos padrão acima: \[verificar].

## Pré-requisitos

<CardGroup cols={2}>
  <Card title="Connected App no Salesforce" icon="salesforce">
    Um Connected App com OAuth habilitado, para obter o Consumer Key e o Consumer Secret.
  </Card>

  <Card title="Usuário de integração" icon="user-shield">
    Um usuário Salesforce com acesso de leitura aos objetos e permissão de API habilitada.
  </Card>
</CardGroup>

## Configuração

O conector usa o fluxo OAuth username-password do Salesforce. Você precisa de cinco credenciais: usuário, senha, security token, Consumer Key e Consumer Secret.

<Steps>
  <Step title="Crie um Connected App">
    Em **Setup → App Manager → New Connected App**, habilite **Enable OAuth Settings**, adicione os escopos de API e salve. Copie o **Consumer Key** e o **Consumer Secret**.
  </Step>

  <Step title="Obtenha o security token">
    Com o usuário de integração, acesse **Settings → Reset My Security Token**. O token chega por e-mail e é anexado à senha na autenticação.

    <Warning>
      O security token muda toda vez que a senha do usuário é redefinida. Ao trocar a senha, gere e atualize o token no conector.
    </Warning>
  </Step>

  <Step title="Adicione o conector no Console">
    Em **Data Pipelines**, clique em **+ Nova Conexão**, busque por **Salesforce** e preencha:

    * **Nome do Conector** — Obrigatório. Identifica o conector na lista.
    * **Usuário** — Obrigatório. Login do usuário de integração.
    * **Senha** — Obrigatório. Senha do usuário.
    * **Security Token** — Obrigatório. Token obtido acima.
    * **Consumer Key** (Client ID) — Obrigatório. Do Connected App.
    * **Consumer Secret** (Client Secret) — Obrigatório. Do Connected App.

    Clique em **Testar Conexão** antes de salvar.
  </Step>
</Steps>

## Autenticação e escopos

A autenticação é OAuth username-password contra o Connected App. Os escopos abaixo cobrem leitura de API.

| Escopo (Connected App)             | Por quê                                           |
| ---------------------------------- | ------------------------------------------------- |
| `api`                              | Acesso à API REST/SOQL para consultar os objetos  |
| `refresh_token` / `offline_access` | Manter a sessão entre ciclos de sync \[verificar] |

O usuário de integração precisa de acesso de leitura (perfil ou permission set) aos objetos Contact, Account, Opportunity, Lead e Case.

## Frequência de sync

A frequência é definida por conector, na tela de configuração. Para CRM, **horário** costuma ser o padrão. Veja [Frequência de sync](/data-pipelines/sync-frequency) para o detalhe de cada opção.

## Limitações conhecidas

* Só os cinco objetos padrão listados são ingeridos. Objetos customizados e campos customizados: \[verificar].
* O fluxo username-password depende do security token, que precisa ser reemitido a cada troca de senha.
* Salesforce impõe limites de chamadas de API por dia (API request limits). Volumes altos com frequência agressiva podem esbarrar nesse teto. \[verificar]
* Anexos, arquivos e histórico de campos (field history) não são ingeridos.

## Troubleshooting

| Sintoma                  | Causa provável                                        | O que fazer                         |
| ------------------------ | ----------------------------------------------------- | ----------------------------------- |
| `INVALID_LOGIN` no teste | Senha sem o security token anexado, ou token vencido  | Reemita o token e atualize o campo  |
| `invalid_client_id`      | Consumer Key/Secret errados                           | Confira os valores no Connected App |
| Objeto vem vazio         | Usuário de integração sem acesso de leitura ao objeto | Ajuste o perfil / permission set    |
| `REQUEST_LIMIT_EXCEEDED` | Teto diário de chamadas de API atingido               | Reduza a frequência de sync         |

## Próximos passos

<CardGroup cols={2}>
  <Card title="HubSpot CRM" icon="hubspot" href="/data-pipelines/connectors/hubspot">
    Conector de CRM alternativo, com contatos, empresas e negócios.
  </Card>

  <Card title="Memory" icon="brain" href="/data-catalog/overview">
    Como os dados de CRM viram entidades no grafo do Memory.
  </Card>
</CardGroup>
