HubSpot-koppling
Kopplingens status: Under utveckling Byggs. Inte verifierad än.
Illustration · exempeldata
Exempel på synkronisering
Källa
HubSpot
Kopplingens status: Under utveckling
Mål
Ditt andra verktyg
Kopplingens status: Eget verktyg
Fältmappning
| Källfält | Målfält | Exempelvärde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Utkast
- Granska en post
- Godkänn den här versionen
Status gäller varje enskild koppling och garanterar inte att den här synkroniseringen är klar. Fälten är illustrativa. Kontrollera det faktiska schemat och behörigheterna innan synkronisering körs.
Anslut ditt HubSpot CRM till Brevo via Tajo för dubbelriktad kontaktsynkronisering, uppföljning av affärer, engagemangsdata och enhetlig marknadsautomation mellan båda plattformarna.
Översikt
| Egenskap | Värde |
|---|---|
| Plattform | HubSpot |
| Kategori | CRM |
| Installationskomplexitet | Medel |
| Officiell integration | Nej |
| Data som synkas | Kontakter, företag, affärer, ärenden, händelser |
| API bas-URL | https://api.hubapi.com |
Funktioner
- Dubbelriktad kontaktsynkronisering - Håll kontakter synkroniserade mellan HubSpot och Brevo i realtid
- Uppföljning av affärspipeline - Synka stadier och värden på affärer för intäktsbaserad segmentering
- Synkronisering av företagsdata - Koppla kontakter till företagsposter och firmografisk data
- Integration av ärenden - Följ supportärenden för kundhälsopoäng
- Engagemangsspårning - Synka e-postöppningar, klick, möten, samtal och anteckningar
- Stöd för anpassade objekt - Mappa HubSpots anpassade objekt till Brevo-attribut
- Arbetsflödesutlösare - Använd ändringar i HubSpots livscykelstadium för att utlösa Brevo-automationer
- Webhook-händelser - Notifieringar i realtid för CRM-dataändringar
Förutsättningar
Innan du börjar, se till att du har:
- Ett HubSpot-konto (Free, Starter, Professional eller Enterprise)
- En HubSpot privat app eller OAuth-app med nödvändiga scopes
- Ett Brevo-konto med API-åtkomst
- Ett Tajo-konto
Autentisering
Åtkomsttoken för privat app (rekommenderas)
Skapa en privat app i HubSpot för direkt API-åtkomst med granulär scope-kontroll.
- Gå till HubSpot Settings > Integrations > Private Apps
- Skapa en ny privat app
- Konfigurera nödvändiga scopes
- Kopiera åtkomsttoken
curl -X GET "https://api.hubapi.com/crm/v3/objects/contacts" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json"OAuth 2.0
Använd OAuth 2.0 för integrationer med flera konton som kräver användarens godkännande.
# Authorization URLhttps://app.hubspot.com/oauth/authorize?client_id={client_id}&scope=crm.objects.contacts.read&redirect_uri={redirect_uri}Nödvändiga scopes
crm.objects.contacts.readcrm.objects.contacts.writecrm.objects.companies.readcrm.objects.deals.readcrm.objects.deals.writecrm.objects.custom.readcrm.schemas.custom.readKonfiguration
Grundinställning
connectors: hubspot: enabled: true access_token: "${HUBSPOT_ACCESS_TOKEN}"
# Data sync options sync: contacts: true companies: true deals: true tickets: true engagements: true
# Sync direction direction: bidirectional # or 'hubspot_to_brevo' | 'brevo_to_hubspot'
# List assignment in Brevo lists: all_contacts: 10 qualified_leads: 11 customers: 12Fältmappning
Mappa HubSpot-egenskaper till Brevo-kontaktattribut:
Standardmappningar
| Parameter | Type | Description |
|---|---|---|
email required | string | Kontaktens e-post (primär identifierare) |
firstname optional | string | Mappas till attributet FIRSTNAME i Brevo |
lastname optional | string | Mappas till attributet LASTNAME i Brevo |
phone optional | string | Mappas till attributet SMS för WhatsApp/SMS |
company optional | string | Tillhörande företagsnamn |
lifecyclestage optional | string | HubSpots livscykelstadium (subscriber, lead, MQL, SQL, customer) |
hs_lead_status optional | string | Status för leadkvalificering |
hubspot_owner_id optional | string | ID för tilldelad säljansvarig |
Mappning av anpassade egenskaper
field_mapping: # Standard fields email: email firstname: FIRSTNAME lastname: LASTNAME phone: SMS
# CRM fields lifecyclestage: LIFECYCLE_STAGE hs_lead_status: LEAD_STATUS company: COMPANY_NAME
# Deal metrics hs_total_deal_value: DEAL_VALUE num_associated_deals: DEAL_COUNT
# Custom properties preferred_channel: PREFERRED_CHANNEL customer_segment: SEGMENTAPI-endpoints
CRM-objekt
| Metod | Endpoint | Beskrivning |
|---|---|---|
GET | /crm/v3/objects/contacts | Lista kontakter |
POST | /crm/v3/objects/contacts | Skapa en kontakt |
PATCH | /crm/v3/objects/contacts/{id} | Uppdatera en kontakt |
GET | /crm/v3/objects/companies | Lista företag |
GET | /crm/v3/objects/deals | Lista affärer |
POST | /crm/v3/objects/deals | Skapa en affär |
GET | /crm/v3/objects/tickets | Lista ärenden |
Associationer
| Metod | Endpoint | Beskrivning |
|---|---|---|
GET | /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType} | Hämta associationer |
PUT | /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId} | Skapa association |
Engagemang
| Metod | Endpoint | Beskrivning |
|---|---|---|
GET | /crm/v3/objects/calls | Lista samtalsengagemang |
GET | /crm/v3/objects/emails | Lista e-postengagemang |
GET | /crm/v3/objects/meetings | Lista möten |
GET | /crm/v3/objects/notes | Lista anteckningar |
GET | /crm/v3/objects/tasks | Lista uppgifter |
Händelser
Kontakthändelser
| Händelse | Utlösare | Användningsfall |
|---|---|---|
contact.creation | Ny kontakt skapad | Utlösare för välkomstflöde |
contact.propertyChange | Kontaktegenskap uppdaterad | Attributsynkronisering |
contact.merge | Kontakter sammanslagna | Hantering av dubbletter |
contact.deletion | Kontakt raderad | Rensning i Brevo |
Affärshändelser
| Händelse | Utlösare | Användningsfall |
|---|---|---|
deal.creation | Ny affär skapad | Säljnotifiering |
deal.propertyChange | Affärsstadium ändrat | Pipelineautomation |
deal.deletion | Affär borttagen | Intäktsrapportering |
Företagshändelser
| Händelse | Utlösare | Användningsfall |
|---|---|---|
company.creation | Nytt företag tillagt | Kontobaserad marknadsföring |
company.propertyChange | Företagsdata uppdaterad | Firmografisk synkronisering |
Kodexempel
Initiera kopplingen
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect HubSpotawait tajo.connectors.connect('hubspot', { accessToken: process.env.HUBSPOT_ACCESS_TOKEN});Kör kontaktsynkronisering
// Full bidirectional syncawait tajo.connectors.sync('hubspot', { type: 'full', resources: ['contacts', 'companies', 'deals'], direction: 'bidirectional', since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('hubspot');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 34200,// companiesSynced: 5100,// dealsSynced: 2340// }Hantera webhook-händelser
// Handle HubSpot webhook notificationsapp.post('/webhooks/hubspot', async (req, res) => { const signature = req.get('X-HubSpot-Signature-v3');
// Verify webhook signature if (!verifyHubSpotSignature(req.body, signature)) { return res.status(401).send('Unauthorized'); }
for (const event of req.body) { await tajo.connectors.handleWebhook('hubspot', { eventType: event.subscriptionType, objectId: event.objectId, propertyName: event.propertyName, propertyValue: event.propertyValue }); }
res.status(200).send('OK');});Hastighetsbegränsningar
HubSpot tillämpar hastighetsbegränsningar per privat app eller OAuth-app:
| Plan | Hastighetsbegränsning | Burst-gräns |
|---|---|---|
| Free/Starter | 100 förfrågningar/10 sekunder | 150 förfrågningar/10 sekunder |
| Professional | 150 förfrågningar/10 sekunder | 200 förfrågningar/10 sekunder |
| Enterprise | 200 förfrågningar/10 sekunder | 250 förfrågningar/10 sekunder |
| API-tillägg | 200 förfrågningar/10 sekunder | 250 förfrågningar/10 sekunder |
Ytterligare gränser:
- Search API: 5 förfrågningar/sekund per app
- Batch-operationer: 100 poster per batch-förfrågan
- Daglig gräns: 500 000 förfrågningar/dag (OAuth-appar)
Hantering av hastighetsbegränsning
HubSpot returnerar ett 429 Too Many Requests-svar när gränser överskrids. Använd exponentiell backoff och övervaka X-HubSpot-RateLimit-*-headrarna.
Felsökning
Vanliga problem
| Problem | Orsak | Lösning |
|---|---|---|
| 401 Unauthorized | Utgången eller ogiltig token | Återgenerera privata appens token eller uppdatera OAuth-token |
| Kontakt inte synkad | Saknar e-postegenskap | HubSpot-kontakter kräver e-post för synkronisering till Brevo |
| Dubblettkontakter | Ingen regel för dedup | Konfigurera sammanslagningsregler i HubSpot |
| Webhook inte mottagen | Prenumeration inte aktiv | Registrera om webhook-prenumerationer |
| Egenskap inte mappad | Anpassad egenskap ej skapad | Skapa egenskapen i HubSpot först |
Felsökningsläge
Aktivera utförlig loggning:
connectors: hubspot: debug: true log_level: verbose log_webhooks: trueTesta anslutning
tajo connectors test hubspot# ✓ API connection successful# ✓ Contacts readable# ✓ Companies readable# ✓ Deals readable# ✓ Webhooks registeredBästa praxis
- Använd privata appar framför API-nycklar - API-nycklar är utfasade; använd privata appar för bättre säkerhet
- Implementera dubbelriktad synk försiktigt - Undvik oändliga loopar genom att spåra synkens källa
- Mappa livscykelstadier - Använd HubSpots livscykelstadier för att segmentera kontakter i Brevo
- Batcha API-förfrågningar - Använd batch-endpoints för mass-operationer för att hålla dig inom hastighetsbegränsningar
- Övervaka webhook-leverans - Sätt upp återförsökslogik och hantering av dead letters
- Använd inkrementell synk - Synka endast ändrade poster med egenskapen
lastmodifieddate
Säkerhet
- Tokens för privata appar - Scopade åtkomsttokens med granulära behörigheter
- OAuth 2.0 - Industristandard för auktorisering med rotation av refresh-tokens
- Webhook-signaturer - HMAC-baserad signaturverifiering (v3)
- TLS-kryptering - All API-kommunikation krypterad i transit
- Scopade behörigheter - Åtkomst till minsta nödvändiga scope per integration