---
title: "Notion-kobling"
description: "Fullstendig Notion-integrasjonsveiledning for synkronisering av databaser, sider og arbeidsområdeinnhold med Brevo via Tajo."
url: https://tajo.io/no/docs/connectors/custom/notion/
markdown: https://tajo.io/no/docs/connectors/custom/notion.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.

# Notion-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 Notion-arbeidsområdet ditt til Brevo for innholdsdrevne markedsføringsarbeidsflyter, CRM-databasesynkronisering og automatiske varslinger gjennom Tajo.

## Oversikt

| Egenskap | Verdi |
| --- | --- |
| **Plattform** | Notion |
| **Kategori** | Custom |
| **Oppsettskompleksitet** | Enkel |
| **Offisiell integrasjon** | Nei |
| **Synkroniserte data** | Databaser, sider, brukere |
| **API-type** | REST API |
| **Autentisering** | Internt integrasjonstoken / OAuth 2.0 |
| **Base URL** | `https://api.notion.com` |
| **API-versjon** | `2022-06-28` (via `Notion-Version`-header) |

## Funksjoner

- **Databasesynkronisering** - Synkroniser Notion-databaseoppføringer til Brevo-kontakter og -lister
- **CRM-bro** - Bruk Notion-databaser som en lettvekts-CRM, synkronisert til Brevo
- **Innholdsvarsler** - Utløs Brevo-kampanjer når Notion-sider publiseres
- **Egenskapsmapping** - Mapp Notion-databaseegenskaper til Brevo-kontaktattributter
- **Sideovervåking** - Spor sideoppdateringer og videresend som Brevo-hendelser
- **Synkronisering av brukerkatalog** - Synkroniser Notion-arbeidsområdemedlemmer til Brevo-kontakter

## Forutsetninger

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

1. Et Notion-arbeidsområde med administratortilgang
2. En Notion intern integrasjon eller OAuth-app
3. Databasesider delt med integrasjonen
4. En Brevo-konto med API-tilgang
5. En Tajo-konto med aktivt abonnement

## Autentisering

Notion støtter to autentiseringsmetoder.

### Alternativ 1: Intern integrasjon (anbefalt for ett enkelt arbeidsområde)

1. Gå til [notion.so/my-integrations](https://www.notion.so/my-integrations)
2. Klikk **New integration**
3. Gi den navnet “Tajo Integration”
4. Velg arbeidsområdet ditt
5. Sett rettigheter:

```
Content Capabilities:
  Read content: ✓
  Update content: ✓
  Insert content: ✓

User Capabilities:
  Read user information: ✓
```

6. Kopier **Internal Integration Secret** (begynner med `ntn_`)

Sidedeling kreves

Interne integrasjoner kan kun få tilgang til sider og databaser som er eksplisitt delt med dem. Del hver måldatabase med integrasjonen din via menyen ”…” > “Connections” > velg integrasjonen.

### Alternativ 2: OAuth 2.0 (offentlige integrasjoner)

For integrasjoner som betjener flere arbeidsområder, bruk OAuth 2.0-flyten:

1. Registrer integrasjonen din som en offentlig integrasjon
2. Omdiriger brukere til: `https://api.notion.com/v1/oauth/authorize?client_id=...`
3. Bytt koden mot et tilgangstoken på `/v1/oauth/token`

### Koble til Tajo

```bash
tajo connectors install notion \
  --token $NOTION_TOKEN
```

## Konfigurasjon

### Grunnleggende oppsett

```yaml
connectors:
  notion:
    enabled: true
    api_version: "2022-06-28"

    sync:
      databases: true
      pages: false
      users: true

    databases:
      - id: "abc123def456"
        name: "Customers"
        sync_to_list: 25
      - id: "ghi789jkl012"
        name: "Leads"
        sync_to_list: 26
```

### Feltmapping

Mapp Notion-databaseegenskaper til Brevo-kontaktattributter:

```yaml
field_mapping:
  # Notion-egenskap -> Brevo-attributt
  Name:
    type: title
    target: FIRSTNAME
  Email:
    type: email
    target: email
  Phone:
    type: phone_number
    target: SMS
  Company:
    type: rich_text
    target: COMPANY
  Status:
    type: select
    target: LEAD_STATUS
  Deal Value:
    type: number
    target: DEAL_VALUE
  Last Contact:
    type: date
    target: LAST_CONTACT_DATE
  Tags:
    type: multi_select
    target: TAGS
```

## API-endepunkter

Tajo integrerer med følgende Notion API-endepunkter:

| Endepunkt | Metode | Formål |
| --- | --- | --- |
| `/v1/databases/{id}/query` | POST | Spør databaseoppføringer |
| `/v1/databases/{id}` | GET | Hent databaseskjema |
| `/v1/pages` | POST | Opprett en ny side |
| `/v1/pages/{id}` | GET | Hent sideegenskaper |
| `/v1/pages/{id}` | PATCH | Oppdater sideegenskaper |
| `/v1/blocks/{id}/children` | GET | Hent blokkbarn |
| `/v1/users` | GET | List alle arbeidsområdebrukere |
| `/v1/users/{id}` | GET | Hent en bruker |
| `/v1/search` | POST | Søk på tvers av arbeidsområdet |

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

await tajo.connectors.connect('notion', {
  token: process.env.NOTION_TOKEN
});
```

### Synkroniser database til Brevo

```javascript
// Synkroniser en Notion-database til en Brevo-liste
await tajo.connectors.sync('notion', {
  type: 'full',
  resources: ['databases'],
  databaseId: 'abc123def456',
  targetList: 25
});

const status = await tajo.connectors.status('notion');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-03-15T14:30:00Z',
//   databasesSynced: 2,
//   pagesTracked: 1450,
//   usersCount: 32
// }
```

### Spør og filtrer

```javascript
// Spør Notion-database med filtre
const results = await tajo.connectors.query('notion', {
  databaseId: 'abc123def456',
  filter: {
    property: 'Status',
    select: { equals: 'Active' }
  },
  sorts: [
    { property: 'Last Contact', direction: 'descending' }
  ]
});
```

### Opprett side fra Brevo-hendelse

```javascript
// Opprett en Notion-side når en Brevo-kontakt når en milepæl
tajo.events.on('contact.attribute_updated', async (event) => {
  if (event.attribute === 'LIFECYCLE_STAGE' && event.value === 'customer') {
    await tajo.connectors.create('notion', {
      databaseId: 'ghi789jkl012',
      properties: {
        Name: { title: [{ text: { content: event.contact.name } }] },
        Email: { email: event.contact.email },
        'Converted Date': { date: { start: new Date().toISOString() } }
      }
    });
  }
});
```

## Ratebegrensninger

Notion håndhever ratebegrensninger per integrasjon:

| Begrensningstype | Verdi |
| --- | --- |
| **Ratebegrensning** | 3 forespørsler per sekund per integrasjon |
| **Burstgrense** | Korte bursts tillatt, deretter struping |
| **Sidestørrelse** | Maks 100 elementer per paginert forespørsel |

Markørbasert paginering

Notion bruker markørbasert paginering. Tajo håndterer dette automatisk og itererer gjennom alle sider ved hjelp av `next_cursor`-parameteren til `has_more` returnerer `false`.

Notion returnerer `429 Too Many Requests` når ratebegrensninger overskrides, med en `Retry-After`-header.

## Feilsøking

### Vanlige problemer

| Problem | Årsak | Løsning |
| --- | --- | --- |
| 401 Unauthorized | Ugyldig eller utløpt token | Regenerer integrasjonstoken |
| 403 Forbidden | Siden er ikke delt med integrasjonen | Del side/database med integrasjonen via Connections |
| 404 Object not found | Database-ID feil eller ikke delt | Verifiser database-ID og delingsinnstillinger |
| Manglende egenskaper | Skjema-ulikhet | Synkroniser databaseskjemaet på nytt og oppdater feltmappingen |
| Ratebegrensning overskredet | For mange raske forespørsler | Reduser synkroniseringsfrekvens eller batchstørrelse |

### Feilsøkingsmodus

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

### Test tilkobling

```bash
tajo connectors test notion
# ✓ API-autentisering vellykket
# ✓ Databasetilgang bekreftet
# ✓ Brukerliste tilgjengelig
# ✓ Søk operativt
# ✓ Sideopprettelse tilgjengelig
```

## Beste praksis

1. **Del databaser eksplisitt** - Interne integrasjoner ser kun delt innhold
2. **Bruk databaseforespørsler i stedet for søk** - Spørringer er raskere og mer pålitelige for kjente databaser
3. **Mapp egenskapstyper nøye** - Notion har mange egenskapstyper; matche dem mot Brevo-attributtyper
4. **Håndter paginering** - Iterer alltid gjennom alle markørsider for komplette data
5. **Synkroniser inkrementelt** - Bruk `last_edited_time`-filtre for å synkronisere kun endrede oppføringer
6. **Sett opp en polling-plan** - Notion støtter ikke webhooks nativt; poll med jevne intervaller

## Sikkerhet

- **Bearer Token-autentisering** - Integrasjonshemmeligheter og OAuth-tokens
- **Kun HTTPS** - All API-kommunikasjon kryptert via TLS 1.2+
- **Avgrenset tilgang** - Integrasjoner får kun tilgang til eksplisitt delt innhold
- **OAuth 2.0** - Sikker autorisasjonsflyt for offentlige integrasjoner
- **Kryptert lagring** - Tokens kryptert i hvilemodus i Tajo
- **Arbeidsområdeisolasjon** - Hver integrasjon er avgrenset til ett enkelt arbeidsområde

## Relaterte ressurser

- [Airtable-kobling](https://tajo.io/no/docs/connectors/custom/airtable)
- [GitHub-kobling](https://tajo.io/no/docs/connectors/custom/github)
- [Linear-kobling](https://tajo.io/no/docs/connectors/custom/linear)
- [Brevo Contacts API](https://tajo.io/no/docs/contact-management)
