---
title: "Notion-koppling"
description: "Komplett integrationsguide för Notion för att synkronisera databaser, sidor och arbetsyteinnehåll med Brevo via Tajo."
url: https://tajo.io/se/docs/connectors/custom/notion/
markdown: https://tajo.io/se/docs/connectors/custom/notion.md
lang: sv-SE
robots: noindex
---

Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

# Notion-koppling

Kopplingens status: Planerad Inte byggd än. Tajo kör inte den här kopplingen i dag.

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

Anslut din Notion-arbetsyta till Brevo för innehållsdrivna marknadsföringsarbetsflöden, CRM-databassynkronisering och automatiserade notifieringar via Tajo.

## Översikt

| Egenskap | Värde |
| --- | --- |
| **Plattform** | Notion |
| **Kategori** | Anpassad |
| **Installationskomplexitet** | Enkel |
| **Officiell integration** | Nej |
| **Data som synkas** | Databaser, sidor, användare |
| **API-typ** | REST API |
| **Autentisering** | Intern integrationstoken / OAuth 2.0 |
| **Bas-URL** | `https://api.notion.com` |
| **API-version** | `2022-06-28` (via `Notion-Version`-header) |

## Funktioner

- **Databassynkronisering** - Synka Notion-databasposter till Brevo-kontakter och listor
- **CRM-brygga** - Använd Notion-databaser som ett enkelt CRM, synkat till Brevo
- **Innehållsnotifieringar** - Utlös Brevo-kampanjer när Notion-sidor publiceras
- **Egenskapsmappning** - Mappa Notion-databasegenskaper till Brevo-kontaktattribut
- **Sidövervakning** - Spåra siduppdateringar och vidarebefordra som Brevo-händelser
- **Synk av användarkatalog** - Synka medlemmar i Notion-arbetsytan till Brevo-kontakter

## Förutsättningar

Innan du börjar, se till att du har:

1. En Notion-arbetsyta med adminåtkomst
2. En intern Notion-integration eller OAuth-app
3. Databassidor delade med integrationen
4. Ett Brevo-konto med API-åtkomst
5. Ett Tajo-konto med en aktiv prenumeration

## Autentisering

Notion stöder två autentiseringsmetoder.

### Alternativ 1: Intern integration (rekommenderas för enskild arbetsyta)

1. Gå till [notion.so/my-integrations](https://www.notion.so/my-integrations)
2. Klicka på **New integration**
3. Namnge den “Tajo Integration”
4. Välj din arbetsyta
5. Sätt funktioner:

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

User Capabilities:
  Read user information: ✓
```

6. Kopiera **Internal Integration Secret** (börjar med `ntn_`)

Siddelning krävs

Interna integrationer kan endast komma åt sidor och databaser som uttryckligen har delats med dem. Dela varje måldatabas med din integration via ”…”-menyn > “Connections” > välj din integration.

### Alternativ 2: OAuth 2.0 (publika integrationer)

För integrationer som betjänar flera arbetsytor, använd OAuth 2.0-flödet:

1. Registrera din integration som en publik integration
2. Omdirigera användare till: `https://api.notion.com/v1/oauth/authorize?client_id=...`
3. Byt ut koden mot en åtkomsttoken på `/v1/oauth/token`

### Anslutning till Tajo

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

## Konfiguration

### Grundinställning

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

### Fältmappning

Mappa Notion-databasegenskaper till Brevo-kontaktattribut:

```yaml
field_mapping:
  # Notion property -> Brevo attribute
  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-endpoints

Tajo integrerar med följande Notion API-endpoints:

| Endpoint | Metod | Syfte |
| --- | --- | --- |
| `/v1/databases/{id}/query` | POST | Fråga databasposter |
| `/v1/databases/{id}` | GET | Hämta databasschema |
| `/v1/pages` | POST | Skapa en ny sida |
| `/v1/pages/{id}` | GET | Hämta sidegenskaper |
| `/v1/pages/{id}` | PATCH | Uppdatera sidegenskaper |
| `/v1/blocks/{id}/children` | GET | Hämta blockunderordnade |
| `/v1/users` | GET | Lista alla användare i arbetsytan |
| `/v1/users/{id}` | GET | Hämta en användare |
| `/v1/search` | POST | Sök i hela arbetsytan |

## Kodexempel

### Initiera kopplingen

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

### Synka databas till Brevo

```javascript
// Sync a Notion database to a Brevo list
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
// }
```

### Fråga och filtrera

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

### Skapa sida från Brevo-händelse

```javascript
// Create a Notion page when a Brevo contact reaches a milestone
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() } }
      }
    });
  }
});
```

## Hastighetsbegränsningar

Notion tillämpar hastighetsbegränsningar per integration:

| Gränstyp | Värde |
| --- | --- |
| **Hastighetsbegränsning** | 3 förfrågningar per sekund per integration |
| **Burst-gräns** | Korta toppar tillåtna, sedan strypning |
| **Sidstorlek** | Max 100 objekt per sidindelad förfrågan |

Markörbaserad sidindelning

Notion använder markörbaserad sidindelning. Tajo hanterar detta automatiskt och itererar genom alla sidor med parametern `next_cursor` tills `has_more` returnerar `false`.

Notion returnerar `429 Too Many Requests` när hastighetsbegränsningar överskrids, med en `Retry-After`-header.

## Felsökning

### Vanliga problem

| Problem | Orsak | Lösning |
| --- | --- | --- |
| 401 Unauthorized | Ogiltig eller utgången token | Återgenerera integrationstoken |
| 403 Forbidden | Sida inte delad med integrationen | Dela sida/databas med integration via Connections |
| 404 Object not found | Databas-ID felaktigt eller ej delat | Verifiera databas-ID och delningsinställningar |
| Egenskaper saknas | Schema-mismatch | Synka databasschema igen och uppdatera fältmappning |
| Hastighetsbegränsning överskriden | För många snabba förfrågningar | Minska synkfrekvens eller batchstorlek |

### Felsökningsläge

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

### Testa anslutning

```bash
tajo connectors test notion
# ✓ API authentication successful
# ✓ Database access verified
# ✓ User list accessible
# ✓ Search operational
# ✓ Page creation available
```

## Bästa praxis

1. **Dela databaser uttryckligen** - Interna integrationer ser endast delat innehåll
2. **Använd databasfrågor framför sökning** - Frågor är snabbare och mer pålitliga för kända databaser
3. **Mappa egenskapstyper noggrant** - Notion har många egenskapstyper; matcha dem till Brevo-attributtyper
4. **Hantera sidindelning** - Iterera alltid genom alla markörsidor för komplett data
5. **Synka inkrementellt** - Använd `last_edited_time`-filter för att endast synka ändrade poster
6. **Sätt upp ett pollningschema** - Notion stöder inte webhooks nativt; polla med jämna intervall

## Säkerhet

- **Bearer-tokenautentisering** - Integrationshemligheter och OAuth-tokens
- **Endast HTTPS** - All API-kommunikation krypterad via TLS 1.2+
- **Scoped åtkomst** - Integrationer har endast åtkomst till uttryckligen delat innehåll
- **OAuth 2.0** - Säkert auktoriseringsflöde för publika integrationer
- **Krypterad lagring** - Tokens krypterade i vila i Tajo
- **Arbetsyteisolering** - Varje integration är scopad till en enskild arbetsyta

## Relaterade resurser

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