Salesforce Connector
Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.
Illustration · eksempeldata
Eksempel på synkronisering
Kilde
Salesforce
Connectorstatus: Planlagt
Destination
Dit andet værktøj
Connectorstatus: Eget værktøj
Feltmapping
| Kildefelt | Destinationsfelt | Eksempelværdi |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Udkast
- Gennemse én post
- Godkend denne version
Status gælder den enkelte connector og garanterer ikke, at denne synkronisering er klar. Felterne er illustrative. Tjek det faktiske skema og tilladelser før en synkronisering.
Forbind dit Salesforce CRM med Brevo via Tajo for kontaktsynkronisering på enterprise-niveau, lead-håndtering, opportunity-sporing og marketingautomatisering drevet af dine CRM-data.
Oversigt
| Egenskab | Værdi |
|---|---|
| Platform | Salesforce |
| Kategori | CRM |
| Opsætningskompleksitet | Avanceret |
| Officiel integration | Nej |
| Synkroniserede data | Kontakter, leads, accounts, opportunities, hændelser |
| API-base-URL | https://yourInstance.salesforce.com/services/data/vXX.0 |
Funktioner
- Tovejs kontakt-/lead-synkronisering - Synkronisér Salesforce-kontakter og leads med Brevo-kontaktlister
- Opportunity-sporing - Kortlæg aftalestadier og beløb til omsætningsbaseret segmentering
- Account-hierarki - Synkronisér virksomhedsaccounts til kontobaseret marketing i Brevo
- Mapping af brugerdefinerede objekter - Kortlæg Salesforce-brugerdefinerede objekter til Brevo-attributter og -hændelser
- Kampagnemedlemssynkronisering - Synkronisér Salesforce-kampagnemedlemmer med Brevo-lister
- Aktivitetssporing - Synkronisér opgaver, hændelser og e-mailaktiviteter til engagementscoring
- Streaming i realtid - Brug Salesforce Streaming API for øjeblikkelige dataopdateringer
- Understøttelse af SOQL-forespørgsler - Filtrér synkroniserede data med brugerdefinerede SOQL-forespørgsler
Forudsætninger
Før du begynder, skal du sikre dig, at du har:
- En Salesforce-organisation (enhver udgave med API-adgang)
- En Connected App konfigureret i Salesforce Setup
- API-adgang aktiveret for din Salesforce-brugerprofil
- En Brevo-konto med API-adgang
- En Tajo-konto
Autentifikation
OAuth 2.0 Web Server Flow (anbefalet)
Bedst til produktionsintegrationer med brugerautorisation.
# Step 1: Authorizehttps://login.salesforce.com/services/oauth2/authorize? response_type=code& client_id={consumer_key}& redirect_uri={callback_url}
# Step 2: Exchange code for tokenscurl -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
Til server-til-server-integrationer uden brugerinteraktion.
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}"Sikkerhedstoken
Salesforce kræver, at du tilføjer dit sikkerhedstoken til din adgangskode i username-password-flowet. Nulstil dit token fra Setup > My Personal Information > Reset My Security Token.
Konfiguration
Grundlæggende opsætning
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: 17Feltmapping
Kortlæg Salesforce-felter til Brevo-kontaktattributter:
Standardmappinger
| Parameter | Type | Description |
|---|---|---|
Email required | string | Kontakt-/lead-e-mail (unik identifikator for Brevo) |
FirstName optional | string | Kortlægges til FIRSTNAME-attribut i Brevo |
LastName optional | string | Kortlægges til LASTNAME-attribut i Brevo |
Phone optional | string | Kortlægges til SMS-attribut til WhatsApp/SMS-beskeder |
Account.Name optional | string | Tilknyttet account-/virksomhedsnavn |
LeadSource optional | string | Lead-anskaffelseskilde |
StageName optional | string | Opportunity-stadie til aftalesporing |
OwnerId optional | string | Tildelt sælger til routing |
Mapping af brugerdefinerede felter
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_TIERAPI-endpoints
REST API-ressourcer
| Metode | Endpoint | Beskrivelse |
|---|---|---|
GET | /services/data/vXX.0/sobjects/Contact | Forespørg kontakter |
POST | /services/data/vXX.0/sobjects/Contact | Opret en kontakt |
PATCH | /services/data/vXX.0/sobjects/Contact/{id} | Opdatér en kontakt |
GET | /services/data/vXX.0/sobjects/Lead | Forespørg leads |
GET | /services/data/vXX.0/sobjects/Account | Forespørg accounts |
GET | /services/data/vXX.0/sobjects/Opportunity | Forespørg opportunities |
GET | /services/data/vXX.0/query?q={SOQL} | Udfør SOQL-forespørgsel |
POST | /services/data/vXX.0/composite/sobjects | Batch-opret/opdatér |
Bulk API
| Metode | Endpoint | Beskrivelse |
|---|---|---|
POST | /services/data/vXX.0/jobs/ingest | Opret bulk ingest-job |
PUT | /services/data/vXX.0/jobs/ingest/{jobId}/batches | Upload batch-data |
GET | /services/data/vXX.0/jobs/ingest/{jobId} | Tjek jobstatus |
Streaming API
| Endpoint | Beskrivelse |
|---|---|
/cometd/XX.0 | CometD long-polling til hændelser i realtid |
| PushTopic | Abonnér på postændringer via SOQL-baserede topics |
| Change Data Capture | Stream finkornede ændringer på feltniveau |
| Platform Events | Brugerdefineret hændelsesdrevet arkitektur |
Hændelser
Posthændelser (Change Data Capture)
| Hændelse | Trigger | Anvendelse |
|---|---|---|
ContactChangeEvent | Kontakt oprettet/opdateret/slettet | Kontaktsynkronisering i realtid |
LeadChangeEvent | Lead oprettet/opdateret/konverteret | Sporing af lead-livscyklus |
OpportunityChangeEvent | Opportunity-stadie ændret | Automatisering af aftalepipeline |
AccountChangeEvent | Account-post ændret | Synkronisering af virksomhedsdata |
Platform Events
| Hændelse | Trigger | Anvendelse |
|---|---|---|
Lead_Converted__e | Lead konverteret til kontakt | Nurture efter konvertering |
Deal_Won__e | Opportunity lukket-vundet | Flow til kunde-onboarding |
Deal_Lost__e | Opportunity lukket-tabt | Win-back-kampagner |
Kodeeksempler
Initialisér connector
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Salesforceawait 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});Synkronisér kontakter med SOQL-filter
// Sync only qualified leads from Salesforceawait 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 statusconst status = await tajo.connectors.status('salesforce');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 18400,// leadsSynced: 7200,// opportunitiesSynced: 3100// }Streaming i realtid
// Subscribe to Salesforce Change Data Captureawait 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 }});Rate limits
Salesforce REST API-grænser afhænger af din udgave og licensantal:
| Udgave | API-anmodninger pr. 24 timer |
|---|---|
| Developer | 15.000 |
| Enterprise | 1.000 pr. brugerlicens (min. 15.000) |
| Unlimited | 5.000 pr. brugerlicens (min. 15.000) |
| Performance | 5.000 pr. brugerlicens (min. 15.000) |
Yderligere grænser:
- Samtidig API-grænse: 25 langtkørende anmodninger
- Bulk API: 15.000 batches pr. 24 timer
- Streaming API: 2.000 hændelser pr. dag (kan forhøjes)
- Composite API: 25 underanmodninger pr. composite-anmodning
Overvågning af API-forbrug
Overvåg dit API-forbrug i Salesforce Setup > System Overview. Tajo bruger bulk-API til store synkroniseringer for at spare på dine API-grænser.
Fejlfinding
Almindelige problemer
| Problem | Årsag | Løsning |
|---|---|---|
| INVALID_SESSION_ID | Token udløbet | Opdatér OAuth-token automatisk |
| REQUEST_LIMIT_EXCEEDED | Daglig API-grænse nået | Brug Bulk API eller reducér synkroniseringsfrekvens |
| FIELD_INTEGRITY_EXCEPTION | Påkrævet felt mangler | Kortlæg alle påkrævede felter i konfigurationen |
| DUPLICATES_DETECTED | Duplikatregler aktive | Konfigurér indstillinger for håndtering af duplikater |
| INSUFFICIENT_ACCESS | Manglende objekttilladelser | Giv API-adgang i Salesforce-profilen |
Debug-tilstand
Aktivér detaljeret logging:
connectors: salesforce: debug: true log_level: verbose log_api_calls: trueTestforbindelse
tajo connectors test salesforce# ✓ OAuth token valid# ✓ Contacts accessible# ✓ Leads accessible# ✓ Accounts accessible# ✓ Opportunities accessible# ✓ Bulk API enabledBedste praksis
- Brug Bulk API til store synkroniseringer - Skift til Bulk API 2.0 for datasæt over 2.000 poster
- Implementér Change Data Capture - Brug CDC til synkronisering i realtid i stedet for polling
- Kortlæg kun nødvendige felter - Reducér API-forbrug ved kun at synkronisere nødvendige felter
- Håndtér token-opdatering - Implementér automatisk logik til OAuth-token-opdatering
- Brug composite-anmodninger - Kombinér relaterede API-kald for at reducere antallet af anmodninger
- Test først i sandbox - Brug en Salesforce sandbox-organisation før produktionsudrulning
Sikkerhed
- OAuth 2.0 - Industristandardautorisation med flere grant-typer
- IP-begrænsninger - Salesforce understøtter login-IP-intervaller og indstillinger for betroede IP’er
- TLS 1.2+ - Al API-kommunikation krypteres med minimum TLS 1.2
- Sikkerhed på feltniveau - Granulær feltadgangskontrol pr. profil
- Sessionsstyring - Konfigurérbar session-timeout og grænser for samtidige sessioner