---
title: "Conector Salesforce"
description: "Guia completo de integração do Salesforce CRM para sincronizar leads, contatos, contas, oportunidades e objetos personalizados com o Brevo via Tajo."
url: https://tajo.io/pt/docs/connectors/crm/salesforce/
markdown: https://tajo.io/pt/docs/connectors/crm/salesforce.md
lang: pt-BR
robots: noindex
---

Solicite acesso antecipado

Indique o seu nome e endereço de e-mail profissional. Enviaremos um link para confirmar o seu pedido de acesso ao Tajo.

# Conector Salesforce

Status do conector: Planejado Ainda não construído. O Tajo não executa este conector hoje.

| Campo de origem | Campo de destino | Valor de exemplo |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Conecte seu Salesforce CRM ao Brevo via Tajo para sincronização de contatos de nível empresarial, gestão de leads, rastreamento de oportunidades e automação de marketing impulsionada pelos dados do seu CRM.

## Visão geral

| Propriedade | Valor |
| --- | --- |
| **Plataforma** | Salesforce |
| **Categoria** | CRM |
| **Complexidade de configuração** | Avançada |
| **Integração oficial** | Não |
| **Dados sincronizados** | Contatos, Leads, Contas, Oportunidades, Eventos |
| **URL base da API** | `https://yourInstance.salesforce.com/services/data/vXX.0` |

## Recursos

- **Sincronização bidirecional de contatos/leads** - Sincronize contatos e leads do Salesforce com listas de contatos do Brevo
- **Rastreamento de oportunidades** - Mapeie estágios e valores de negócios para segmentação baseada em receita
- **Hierarquia de contas** - Sincronize contas de empresas para marketing baseado em conta no Brevo
- **Mapeamento de objetos personalizados** - Mapeie objetos personalizados do Salesforce para atributos e eventos do Brevo
- **Sincronização de membros de campanha** - Sincronize membros de campanha do Salesforce com listas do Brevo
- **Rastreamento de atividades** - Sincronize tarefas, eventos e atividades de e-mail para pontuação de engajamento
- **Streaming em tempo real** - Use a Streaming API do Salesforce para atualizações instantâneas de dados
- **Suporte a consultas SOQL** - Filtre dados sincronizados com consultas SOQL personalizadas

## Pré-requisitos

Antes de começar, certifique-se de que você tem:

1. Uma org Salesforce (qualquer edição com acesso à API)
2. Um Connected App configurado em Salesforce Setup
3. Acesso à API habilitado para o perfil do seu usuário Salesforce
4. Uma conta Brevo com acesso à API
5. Uma conta Tajo

## Autenticação

### OAuth 2.0 Web Server Flow (Recomendado)

Ideal para integrações em produção com autorização do usuário.

```bash
# Step 1: Authorize
https://login.salesforce.com/services/oauth2/authorize?
  response_type=code&
  client_id={consumer_key}&
  redirect_uri={callback_url}

# Step 2: Exchange code for tokens
curl -X POST https://login.salesforce.com/services/oauth2/token \
  -d "grant_type=authorization_code" \
  -d "code={auth_code}" \
  -d "client_id={consumer_key}" \
  -d "client_secret={consumer_secret}" \
  -d "redirect_uri={callback_url}"
```

### Fluxo Username-Password

Para integrações servidor-para-servidor sem interação do usuário.

```bash
curl -X POST https://login.salesforce.com/services/oauth2/token \
  -d "grant_type=password" \
  -d "client_id={consumer_key}" \
  -d "client_secret={consumer_secret}" \
  -d "username={username}" \
  -d "password={password}{security_token}"
```

Token de segurança

O Salesforce exige anexar o token de segurança à sua senha para o fluxo username-password. Redefina seu token em Setup > My Personal Information > Reset My Security Token.

## Configuração

### Configuração básica

```yaml
connectors:
  salesforce:
    enabled: true
    instance_url: "https://yourorg.my.salesforce.com"
    api_version: "v59.0"
    auth:
      type: oauth2
      consumer_key: "${SF_CONSUMER_KEY}"
      consumer_secret: "${SF_CONSUMER_SECRET}"
      refresh_token: "${SF_REFRESH_TOKEN}"

    # Data sync options
    sync:
      contacts: true
      leads: true
      accounts: true
      opportunities: true
      campaigns: true

    # Sync direction
    direction: salesforce_to_brevo

    # Brevo list assignment
    lists:
      all_leads: 15
      qualified_leads: 16
      customers: 17
```

### Mapeamento de campos

Mapeie campos do Salesforce para atributos de contato do Brevo:

#### Mapeamentos padrão

| Parameter | Type | Description |
| --- | --- | --- |
| `Email` required | string | E-mail do contato/lead (identificador único para o Brevo) |
| `FirstName` optional | string | Mapeia para o atributo FIRSTNAME no Brevo |
| `LastName` optional | string | Mapeia para o atributo LASTNAME no Brevo |
| `Phone` optional | string | Mapeia para o atributo SMS para mensagens WhatsApp/SMS |
| `Account.Name` optional | string | Nome da conta/empresa associada |
| `LeadSource` optional | string | Fonte de aquisição do lead |
| `StageName` optional | string | Estágio da oportunidade para rastreamento de negócios |
| `OwnerId` optional | string | Representante de vendas atribuído para roteamento |

#### Mapeamento de campos personalizados

```yaml
field_mapping:
  # Standard fields
  Email: email
  FirstName: FIRSTNAME
  LastName: LASTNAME
  Phone: SMS

  # CRM fields
  LeadSource: LEAD_SOURCE
  Lead_Score__c: LEAD_SCORE
  Account.Name: COMPANY_NAME
  Account.Industry: INDUSTRY

  # Opportunity fields
  Amount: DEAL_VALUE
  StageName: DEAL_STAGE
  CloseDate: EXPECTED_CLOSE_DATE

  # Custom fields
  Preferred_Channel__c: PREFERRED_CHANNEL
  Customer_Tier__c: VIP_TIER
```

## Endpoints da API

### Recursos da REST API

| Método | Endpoint | Descrição |
| --- | --- | --- |
| `GET` | `/services/data/vXX.0/sobjects/Contact` | Consultar contatos |
| `POST` | `/services/data/vXX.0/sobjects/Contact` | Criar um contato |
| `PATCH` | `/services/data/vXX.0/sobjects/Contact/{id}` | Atualizar um contato |
| `GET` | `/services/data/vXX.0/sobjects/Lead` | Consultar leads |
| `GET` | `/services/data/vXX.0/sobjects/Account` | Consultar contas |
| `GET` | `/services/data/vXX.0/sobjects/Opportunity` | Consultar oportunidades |
| `GET` | `/services/data/vXX.0/query?q={SOQL}` | Executar consulta SOQL |
| `POST` | `/services/data/vXX.0/composite/sobjects` | Criar/atualizar em lote |

### Bulk API

| Método | Endpoint | Descrição |
| --- | --- | --- |
| `POST` | `/services/data/vXX.0/jobs/ingest` | Criar job de ingestão em massa |
| `PUT` | `/services/data/vXX.0/jobs/ingest/{jobId}/batches` | Enviar dados em lote |
| `GET` | `/services/data/vXX.0/jobs/ingest/{jobId}` | Verificar status do job |

### Streaming API

| Endpoint | Descrição |
| --- | --- |
| `/cometd/XX.0` | Long-polling CometD para eventos em tempo real |
| PushTopic | Inscrever-se em mudanças de registro via tópicos baseados em SOQL |
| Change Data Capture | Transmitir mudanças granulares no nível de campo |
| Platform Events | Arquitetura personalizada orientada a eventos |

## Eventos

### Eventos de registro (Change Data Capture)

| Evento | Gatilho | Caso de uso |
| --- | --- | --- |
| `ContactChangeEvent` | Contato criado/atualizado/excluído | Sincronização de contatos em tempo real |
| `LeadChangeEvent` | Lead criado/atualizado/convertido | Rastreamento de ciclo de vida do lead |
| `OpportunityChangeEvent` | Estágio da oportunidade alterado | Automação de pipeline de negócios |
| `AccountChangeEvent` | Registro de conta modificado | Sincronização de dados da empresa |

### Platform Events

| Evento | Gatilho | Caso de uso |
| --- | --- | --- |
| `Lead_Converted__e` | Lead convertido em contato | Nutrição pós-conversão |
| `Deal_Won__e` | Oportunidade closed-won | Fluxo de onboarding de cliente |
| `Deal_Lost__e` | Oportunidade closed-lost | Campanhas de win-back |

## Exemplos de código

### Inicializar o conector

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connect Salesforce
await tajo.connectors.connect('salesforce', {
  instanceUrl: 'https://yourorg.my.salesforce.com',
  consumerKey: process.env.SF_CONSUMER_KEY,
  consumerSecret: process.env.SF_CONSUMER_SECRET,
  refreshToken: process.env.SF_REFRESH_TOKEN
});
```

### Sincronizar contatos com filtro SOQL

```javascript
// Sync only qualified leads from Salesforce
await tajo.connectors.sync('salesforce', {
  type: 'filtered',
  resources: ['leads'],
  filter: "SELECT Id, Email, FirstName, LastName, LeadScore__c FROM Lead WHERE Status = 'Qualified' AND Email != null",
  brevoListId: 16
});

// Check sync status
const status = await tajo.connectors.status('salesforce');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   contactsSynced: 18400,
//   leadsSynced: 7200,
//   opportunitiesSynced: 3100
// }
```

### Streaming em tempo real

```javascript
// Subscribe to Salesforce Change Data Capture
await tajo.connectors.stream('salesforce', {
  channels: [
    '/data/ContactChangeEvent',
    '/data/LeadChangeEvent',
    '/data/OpportunityChangeEvent'
  ],
  handler: async (event) => {
    console.log(`Change detected: ${event.entity} ${event.changeType}`);
    // Automatically synced to Brevo by Tajo
  }
});
```

## Limites de taxa

Os limites da REST API do Salesforce dependem da sua edição e contagem de licenças:

| Edição | Requisições de API por 24 horas |
| --- | --- |
| Developer | 15.000 |
| Enterprise | 1.000 por licença de usuário (mínimo 15.000) |
| Unlimited | 5.000 por licença de usuário (mínimo 15.000) |
| Performance | 5.000 por licença de usuário (mínimo 15.000) |

Limites adicionais:

- **Limite de API concorrente**: 25 requisições de longa duração
- **Bulk API**: 15.000 lotes por 24 horas
- **Streaming API**: 2.000 eventos por dia (pode ser aumentado)
- **Composite API**: 25 sub-requisições por requisição composta

Monitoramento de uso da API

Monitore seu uso da API em Salesforce Setup > System Overview. O Tajo usa a Bulk API para grandes sincronizações para conservar seus limites de API.

## Solução de problemas

### Problemas comuns

| Problema | Causa | Solução |
| --- | --- | --- |
| INVALID\_SESSION\_ID | Token expirado | Renove o token OAuth automaticamente |
| REQUEST\_LIMIT\_EXCEEDED | Limite diário de API atingido | Use a Bulk API ou reduza a frequência de sincronização |
| FIELD\_INTEGRITY\_EXCEPTION | Campo obrigatório ausente | Mapeie todos os campos obrigatórios na configuração |
| DUPLICATES\_DETECTED | Regras de duplicados ativas | Configure as preferências de tratamento de duplicados |
| INSUFFICIENT\_ACCESS | Permissões de objeto ausentes | Conceda acesso à API no perfil do Salesforce |

### Modo de depuração

Habilite o log detalhado:

```yaml
connectors:
  salesforce:
    debug: true
    log_level: verbose
    log_api_calls: true
```

### Testar conexão

```bash
tajo connectors test salesforce
# ✓ OAuth token valid
# ✓ Contacts accessible
# ✓ Leads accessible
# ✓ Accounts accessible
# ✓ Opportunities accessible
# ✓ Bulk API enabled
```

## Melhores práticas

1. **Use a Bulk API para grandes sincronizações** - Mude para a Bulk API 2.0 para conjuntos de dados acima de 2.000 registros
2. **Implemente Change Data Capture** - Use CDC para sincronização em tempo real em vez de polling
3. **Mapeie apenas os campos necessários** - Reduza o uso da API sincronizando apenas campos obrigatórios
4. **Trate a renovação de token** - Implemente lógica de renovação automática de token OAuth
5. **Use requisições compostas** - Combine chamadas de API relacionadas para reduzir a contagem de requisições
6. **Teste primeiro em sandbox** - Use uma org sandbox do Salesforce antes do deploy em produção

## Segurança

- **OAuth 2.0** - Autorização padrão de mercado com múltiplos tipos de grant
- **Restrições de IP** - O Salesforce suporta faixas de IP de login e configurações de IP confiáveis
- **TLS 1.2+** - Toda comunicação com a API é criptografada com TLS 1.2 no mínimo
- **Segurança em nível de campo** - Controle granular de acesso a campos por perfil
- **Gerenciamento de sessão** - Timeout de sessão configurável e limites de sessões concorrentes

## Recursos relacionados

- [Documentação da REST API do Salesforce](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htm)
- [Guia da Bulk API 2.0 do Salesforce](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm)
- [Conector HubSpot](https://tajo.io/pt/docs/connectors/crm/hubspot)
- [Skill de sincronização de clientes](https://tajo.io/pt/docs/skills/data-sync/customer-sync)
- [API de contatos do Brevo](https://tajo.io/pt/docs/contact-management)
