---
title: "HubSpot-kobling"
description: "Fullstendig HubSpot CRM-integrasjonsveiledning for synkronisering av kontakter, selskaper, avtaler, tickets og markedsføringsdata med Brevo via Tajo."
url: https://tajo.io/no/docs/connectors/crm/hubspot/
markdown: https://tajo.io/no/docs/connectors/crm/hubspot.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.

# HubSpot-kobling

Koblingsstatus: Under utvikling Under bygging. Ikke verifisert ennå.

| 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 HubSpot CRM til Brevo via Tajo for toveis kontaktsynkronisering, sporing av avtaler, engasjementsdata og enhetlig markedsføringsautomatisering på tvers av begge plattformer.

## Oversikt

| Egenskap | Verdi |
| --- | --- |
| **Plattform** | HubSpot |
| **Kategori** | CRM |
| **Oppsettskompleksitet** | Middels |
| **Offisiell integrasjon** | Nei |
| **Synkroniserte data** | Kontakter, selskaper, avtaler, tickets, hendelser |
| **API Base URL** | `https://api.hubapi.com` |

## Funksjoner

- **Toveis kontaktsynkronisering** - Hold kontakter synkronisert mellom HubSpot og Brevo i sanntid
- **Sporing av avtalepipeline** - Synkroniser avtaletrinn og -verdier for inntektsbasert segmentering
- **Synkronisering av selskapsdata** - Tilknytt kontakter med selskapsposter og firmografiske data
- **Ticket-integrasjon** - Spor supporttickets for kundehelsepoeng
- **Sporing av engasjement** - Synkroniser e-poståpninger, klikk, møter, anrop og notater
- **Støtte for egendefinerte objekter** - Mapp HubSpot egendefinerte objekter til Brevo-attributter
- **Arbeidsflyttriggere** - Bruk endringer i HubSpot livssyklusstadium for å utløse Brevo-automatiseringer
- **Webhook-hendelser** - Sanntidsvarsler for endringer i CRM-data

## Forutsetninger

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

1. En HubSpot-konto (Free, Starter, Professional eller Enterprise)
2. En HubSpot privat app eller OAuth-app med påkrevde scopes
3. En Brevo-konto med API-tilgang
4. En Tajo-konto

## Autentisering

### Private App Access Token (anbefalt)

Opprett en privat app i HubSpot for direkte API-tilgang med granulær scope-kontroll.

1. Gå til HubSpot Settings > Integrations > Private Apps
2. Opprett en ny privat app
3. Konfigurer påkrevde scopes
4. Kopier access token

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

Bruk OAuth 2.0 for integrasjoner med flere kontoer som krever brukerautorisering.

```bash
# Authorization URL
https://app.hubspot.com/oauth/authorize?client_id={client_id}&scope=crm.objects.contacts.read&redirect_uri={redirect_uri}
```

#### Påkrevde scopes

```
crm.objects.contacts.read
crm.objects.contacts.write
crm.objects.companies.read
crm.objects.deals.read
crm.objects.deals.write
crm.objects.custom.read
crm.schemas.custom.read
```

## Konfigurasjon

### Grunnleggende oppsett

```yaml
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: 12
```

### Feltmapping

Mapp HubSpot-egenskaper til Brevo-kontaktattributter:

#### Standardmappinger

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Kontakt-e-post (primær identifikator) |
| `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 |
| `company` optional | string | Tilknyttet selskapsnavn |
| `lifecyclestage` optional | string | HubSpot livssyklusstadium (subscriber, lead, MQL, SQL, customer) |
| `hs_lead_status` optional | string | Kvalifiseringsstatus for lead |
| `hubspot_owner_id` optional | string | ID for tildelt salgseier |

#### Mapping av egendefinerte egenskaper

```yaml
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: SEGMENT
```

## API-endepunkter

### CRM-objekter

| Metode | Endepunkt | Beskrivelse |
| --- | --- | --- |
| `GET` | `/crm/v3/objects/contacts` | List kontakter |
| `POST` | `/crm/v3/objects/contacts` | Opprett en kontakt |
| `PATCH` | `/crm/v3/objects/contacts/{id}` | Oppdater en kontakt |
| `GET` | `/crm/v3/objects/companies` | List selskaper |
| `GET` | `/crm/v3/objects/deals` | List avtaler |
| `POST` | `/crm/v3/objects/deals` | Opprett en avtale |
| `GET` | `/crm/v3/objects/tickets` | List tickets |

### Tilknytninger

| Metode | Endepunkt | Beskrivelse |
| --- | --- | --- |
| `GET` | `/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}` | Hent tilknytninger |
| `PUT` | `/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}` | Opprett tilknytning |

### Engasjementer

| Metode | Endepunkt | Beskrivelse |
| --- | --- | --- |
| `GET` | `/crm/v3/objects/calls` | List anropsengasjementer |
| `GET` | `/crm/v3/objects/emails` | List e-postengasjementer |
| `GET` | `/crm/v3/objects/meetings` | List møter |
| `GET` | `/crm/v3/objects/notes` | List notater |
| `GET` | `/crm/v3/objects/tasks` | List oppgaver |

## Hendelser

### Kontakthendelser

| Hendelse | Trigger | Bruksområde |
| --- | --- | --- |
| `contact.creation` | Ny kontakt opprettet | Utløs velkomstflyt |
| `contact.propertyChange` | Kontaktegenskap oppdatert | Attributtsynkronisering |
| `contact.merge` | Kontakter slått sammen | Håndtering av duplikater |
| `contact.deletion` | Kontakt slettet | Opprydding i Brevo |

### Avtalehendelser

| Hendelse | Trigger | Bruksområde |
| --- | --- | --- |
| `deal.creation` | Ny avtale opprettet | Salgsvarsel |
| `deal.propertyChange` | Avtaletrinn endret | Pipelineautomatisering |
| `deal.deletion` | Avtale fjernet | Inntektsrapportering |

### Selskapshendelser

| Hendelse | Trigger | Bruksområde |
| --- | --- | --- |
| `company.creation` | Nytt selskap lagt til | Account-based marketing |
| `company.propertyChange` | Selskapsdata oppdatert | Firmografisk synkronisering |

## Kodeeksempler

### Initialiser koblingen

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

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

// Connect HubSpot
await tajo.connectors.connect('hubspot', {
  accessToken: process.env.HUBSPOT_ACCESS_TOKEN
});
```

### Kjør kontaktsynkronisering

```javascript
// Full bidirectional sync
await tajo.connectors.sync('hubspot', {
  type: 'full',
  resources: ['contacts', 'companies', 'deals'],
  direction: 'bidirectional',
  since: '2023-01-01'
});

// Check sync status
const status = await tajo.connectors.status('hubspot');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   contactsSynced: 34200,
//   companiesSynced: 5100,
//   dealsSynced: 2340
// }
```

### Håndter webhook-hendelser

```javascript
// Handle HubSpot webhook notifications
app.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');
});
```

## Hastighetsgrenser

HubSpot anvender hastighetsgrenser per privat app eller OAuth-app:

| Plan | Hastighetsgrense | Burst-grense |
| --- | --- | --- |
| Free/Starter | 100 forespørsler/10 sekunder | 150 forespørsler/10 sekunder |
| Professional | 150 forespørsler/10 sekunder | 200 forespørsler/10 sekunder |
| Enterprise | 200 forespørsler/10 sekunder | 250 forespørsler/10 sekunder |
| API add-on | 200 forespørsler/10 sekunder | 250 forespørsler/10 sekunder |

Ytterligere grenser:

- **Search API**: 5 forespørsler/sekund per app
- **Batch-operasjoner**: 100 poster per batch-forespørsel
- **Daglig grense**: 500 000 forespørsler/dag (OAuth-apper)

Håndtering av hastighetsgrenser

HubSpot returnerer et `429 Too Many Requests`-svar når grenser overskrides. Bruk eksponentiell backoff og overvåk `X-HubSpot-RateLimit-*`-headere.

## Feilsøking

### Vanlige problemer

| Problem | Årsak | Løsning |
| --- | --- | --- |
| 401 Unauthorized | Utløpt eller ugyldig token | Generer privat app-token på nytt eller oppdater OAuth-token |
| Kontakt ikke synkronisert | Manglende e-postegenskap | HubSpot-kontakter krever en e-post for Brevo-synkronisering |
| Dupliserte kontakter | Ingen deduplikasjonsregel | Konfigurer sammenslåingsregler i HubSpot |
| Webhook ikke mottatt | Abonnement ikke aktivt | Registrer webhook-abonnementer på nytt |
| Egenskap ikke mappet | Egendefinert egenskap ikke opprettet | Opprett egenskapen i HubSpot først |

### Feilsøkingsmodus

Aktiver detaljert logging:

```yaml
connectors:
  hubspot:
    debug: true
    log_level: verbose
    log_webhooks: true
```

### Test tilkobling

```bash
tajo connectors test hubspot
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Companies readable
# ✓ Deals readable
# ✓ Webhooks registered
```

## Beste praksis

1. **Bruk private apper fremfor API-nøkler** - API-nøkler er utdatert; bruk private apper for bedre sikkerhet
2. **Implementer toveis synkronisering forsiktig** - Unngå uendelige løkker ved å spore synkroniseringskilden
3. **Mapp livssyklusstadier** - Bruk HubSpot livssyklusstadier for å segmentere kontakter i Brevo
4. **Batch API-forespørsler** - Bruk batch-endepunkter for bulk-operasjoner for å holde deg innenfor hastighetsgrensene
5. **Overvåk webhook-levering** - Sett opp retry-logikk og håndtering av dead letters
6. **Bruk inkrementell synkronisering** - Synkroniser kun endrede poster med `lastmodifieddate`-egenskapen

## Sikkerhet

- **Private app-tokens** - Scoped access tokens med granulære tillatelser
- **OAuth 2.0** - Industristandard autorisering med rotasjon av refresh token
- **Webhook-signaturer** - HMAC-basert signaturverifisering (v3)
- **TLS-kryptering** - All API-kommunikasjon kryptert under transport
- **Scopede tillatelser** - Minimum nødvendig scope-tilgang per integrasjon

## Relaterte ressurser

- [HubSpot API-dokumentasjon](https://developers.hubspot.com/docs/api/overview)
- [HubSpot autentiseringsveiledning](https://developers.hubspot.com/docs/api/working-with-oauth)
- [Salesforce-kobling](https://tajo.io/no/docs/connectors/crm/salesforce)
- [Kundesynkronisering-ferdighet](https://tajo.io/no/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/no/docs/contact-management)
