---
title: "Salesforce-kobling"
description: "Fullstendig Salesforce CRM-integrasjonsveiledning for synkronisering av leads, kontakter, accounts, opportunities og egendefinerte objekter med Brevo via Tajo."
url: https://tajo.io/no/docs/connectors/crm/salesforce/
markdown: https://tajo.io/no/docs/connectors/crm/salesforce.md
lang: no-NO
robots: noindex
---

Be om tidlig tilgang

Skriv inn fornavn og e-postadresse på jobb. Vi sender deg en lenke for å bekrefte forespørselen om tilgang til Tajo.

# Salesforce-kobling

Koblingsstatus: Planlagt Ikke bygget ennå. Tajo kjører ikke denne koblingen i dag.

| Kildefelt | Målfelt | Eksempelverdi |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Koble Salesforce CRM til Brevo via Tajo for enterprise-grade kontaktsynkronisering, lead-håndtering, opportunity-sporing og markedsføringsautomatisering drevet av CRM-dataene dine.

## Oversikt

| Egenskap | Verdi |
| --- | --- |
| **Plattform** | Salesforce |
| **Kategori** | CRM |
| **Oppsettskompleksitet** | Avansert |
| **Offisiell integrasjon** | Nei |
| **Synkroniserte data** | Kontakter, leads, accounts, opportunities, hendelser |
| **API Base URL** | `https://yourInstance.salesforce.com/services/data/vXX.0` |

## Funksjoner

- **Toveis kontakt-/lead-synkronisering** - Synkroniser Salesforce-kontakter og leads med Brevo-kontaktlister
- **Opportunity-sporing** - Mapp avtaletrinn og beløp for inntektsbasert segmentering
- **Account-hierarki** - Synkroniser selskaps-accounts for account-based marketing i Brevo
- **Mapping av egendefinerte objekter** - Mapp Salesforce egendefinerte objekter til Brevo-attributter og -hendelser
- **Synkronisering av kampanjemedlemmer** - Synkroniser Salesforce-kampanjemedlemmer med Brevo-lister
- **Aktivitetssporing** - Synkroniser oppgaver, hendelser og e-postaktiviteter for engasjementspoeng
- **Sanntids-streaming** - Bruk Salesforce Streaming API for umiddelbare dataoppdateringer
- **SOQL-spørringsstøtte** - Filtrer synkroniserte data med egendefinerte SOQL-spørringer

## Forutsetninger

Før du begynner, sørg for at du har:

1. En Salesforce-org (enhver edition med API-tilgang)
2. En Connected App konfigurert i Salesforce Setup
3. API-tilgang aktivert for Salesforce-brukerprofilen din
4. En Brevo-konto med API-tilgang
5. En Tajo-konto

## Autentisering

### OAuth 2.0 Web Server Flow (anbefalt)

Best for produksjonsintegrasjoner med brukerautorisering.

```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}"
```

### Username-Password Flow

For server-til-server-integrasjoner uten brukerinteraksjon.

```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}"
```

Security Token

Salesforce krever at du legger til security-tokenet ditt etter passordet i username-password-flyten. Tilbakestill tokenet ditt fra Setup > My Personal Information > Reset My Security Token.

## Konfigurasjon

### Grunnleggende oppsett

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

### Feltmapping

Mapp Salesforce-felter til Brevo-kontaktattributter:

#### Standardmappinger

| Parameter | Type | Description |
| --- | --- | --- |
| `Email` required | string | Kontakt-/lead-e-post (unik identifikator for Brevo) |
| `FirstName` optional | string | Mappes til FIRSTNAME-attributtet i Brevo |
| `LastName` optional | string | Mappes til LASTNAME-attributtet i Brevo |
| `Phone` optional | string | Mappes til SMS-attributtet for WhatsApp/SMS-meldinger |
| `Account.Name` optional | string | Tilknyttet account-/selskapsnavn |
| `LeadSource` optional | string | Kilde for lead-anskaffelse |
| `StageName` optional | string | Opportunity-trinn for avtalesporing |
| `OwnerId` optional | string | Tildelt salgsrepresentant for routing |

#### Mapping av egendefinerte felt

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

## API-endepunkter

### REST API-ressurser

| Metode | Endepunkt | Beskrivelse |
| --- | --- | --- |
| `GET` | `/services/data/vXX.0/sobjects/Contact` | Spør kontakter |
| `POST` | `/services/data/vXX.0/sobjects/Contact` | Opprett en kontakt |
| `PATCH` | `/services/data/vXX.0/sobjects/Contact/{id}` | Oppdater en kontakt |
| `GET` | `/services/data/vXX.0/sobjects/Lead` | Spør leads |
| `GET` | `/services/data/vXX.0/sobjects/Account` | Spør accounts |
| `GET` | `/services/data/vXX.0/sobjects/Opportunity` | Spør opportunities |
| `GET` | `/services/data/vXX.0/query?q={SOQL}` | Kjør SOQL-spørring |
| `POST` | `/services/data/vXX.0/composite/sobjects` | Batch opprett/oppdater |

### Bulk API

| Metode | Endepunkt | Beskrivelse |
| --- | --- | --- |
| `POST` | `/services/data/vXX.0/jobs/ingest` | Opprett bulk ingest-jobb |
| `PUT` | `/services/data/vXX.0/jobs/ingest/{jobId}/batches` | Last opp batch-data |
| `GET` | `/services/data/vXX.0/jobs/ingest/{jobId}` | Sjekk jobbstatus |

### Streaming API

| Endepunkt | Beskrivelse |
| --- | --- |
| `/cometd/XX.0` | CometD long-polling for sanntidshendelser |
| PushTopic | Abonner på endringer i poster via SOQL-baserte temaer |
| Change Data Capture | Stream fingranulerte endringer på feltnivå |
| Platform Events | Egendefinert hendelsesdrevet arkitektur |

## Hendelser

### Post-hendelser (Change Data Capture)

| Hendelse | Trigger | Bruksområde |
| --- | --- | --- |
| `ContactChangeEvent` | Kontakt opprettet/oppdatert/slettet | Sanntids kontaktsynkronisering |
| `LeadChangeEvent` | Lead opprettet/oppdatert/konvertert | Sporing av lead-livssyklus |
| `OpportunityChangeEvent` | Opportunity-trinn endret | Pipelineautomatisering |
| `AccountChangeEvent` | Account-post endret | Synkronisering av selskapsdata |

### Platform Events

| Hendelse | Trigger | Bruksområde |
| --- | --- | --- |
| `Lead_Converted__e` | Lead konvertert til kontakt | Nurture etter konvertering |
| `Deal_Won__e` | Opportunity closed-won | Onboarding-flyt for kunder |
| `Deal_Lost__e` | Opportunity closed-lost | Win-back-kampanjer |

## Kodeeksempler

### Initialiser kobling

```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
});
```

### Synkroniser kontakter med SOQL-filter

```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
// }
```

### Sanntids-streaming

```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
  }
});
```

## Hastighetsgrenser

Salesforce REST API-grenser avhenger av din edition og antall lisenser:

| Edition | API-forespørsler per 24 timer |
| --- | --- |
| Developer | 15 000 |
| Enterprise | 1 000 per brukerlisens (min 15 000) |
| Unlimited | 5 000 per brukerlisens (min 15 000) |
| Performance | 5 000 per brukerlisens (min 15 000) |

Ytterligere grenser:

- **Samtidig API-grense**: 25 long-running-forespørsler
- **Bulk API**: 15 000 batcher per 24 timer
- **Streaming API**: 2 000 hendelser per dag (kan økes)
- **Composite API**: 25 subforespørsler per composite-forespørsel

Overvåking av API-bruk

Overvåk API-bruken din i Salesforce Setup > System Overview. Tajo bruker bulk API for store synkroniseringer for å spare på API-grensene dine.

## Feilsøking

### Vanlige problemer

| Problem | Årsak | Løsning |
| --- | --- | --- |
| INVALID\_SESSION\_ID | Token utløpt | Oppdater OAuth-token automatisk |
| REQUEST\_LIMIT\_EXCEEDED | Daglig API-grense nådd | Bruk Bulk API eller reduser synkroniseringsfrekvens |
| FIELD\_INTEGRITY\_EXCEPTION | Påkrevd felt mangler | Mapp alle påkrevde felter i konfigurasjonen |
| DUPLICATES\_DETECTED | Duplikatregler aktive | Konfigurer preferanser for duplikathåndtering |
| INSUFFICIENT\_ACCESS | Manglende objekttillatelser | Gi API-tilgang i Salesforce-profilen |

### Feilsøkingsmodus

Aktiver detaljert logging:

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

### Test tilkobling

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

## Beste praksis

1. **Bruk Bulk API for store synkroniseringer** - Bytt til Bulk API 2.0 for datasett over 2 000 poster
2. **Implementer Change Data Capture** - Bruk CDC for sanntidssynkronisering i stedet for polling
3. **Mapp kun nødvendige felter** - Reduser API-bruk ved å synkronisere kun påkrevde felter
4. **Håndter token-oppdatering** - Implementer automatisk OAuth token-oppdateringslogikk
5. **Bruk composite-forespørsler** - Kombiner relaterte API-kall for å redusere antall forespørsler
6. **Test i sandbox først** - Bruk en Salesforce-sandbox-org før produksjonsutrulling

## Sikkerhet

- **OAuth 2.0** - Industristandard autorisering med flere grant-typer
- **IP-restriksjoner** - Salesforce støtter innloggings-IP-områder og betrodde IP-innstillinger
- **TLS 1.2+** - All API-kommunikasjon kryptert med minimum TLS 1.2
- **Sikkerhet på feltnivå** - Granulær feltilgangskontroll per profil
- **Sesjonshåndtering** - Konfigurerbar sesjonstimeout og grenser for samtidige sesjoner

## Relaterte ressurser

- [Salesforce REST API-dokumentasjon](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htm)
- [Salesforce Bulk API 2.0-veiledning](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm)
- [HubSpot-kobling](https://tajo.io/no/docs/connectors/crm/hubspot)
- [Kundesynkronisering-ferdighet](https://tajo.io/no/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/no/docs/contact-management)
