Notion-kobling

Koble Notion-arbeidsområdet ditt til Brevo for innholdsdrevne markedsføringsarbeidsflyter, CRM-databasesynkronisering og automatiske varslinger gjennom Tajo.

Oversikt

EgenskapVerdi
PlattformNotion
KategoriCustom
OppsettskompleksitetEnkel
Offisiell integrasjonNei
Synkroniserte dataDatabaser, sider, brukere
API-typeREST API
AutentiseringInternt integrasjonstoken / OAuth 2.0
Base URLhttps://api.notion.com
API-versjon2022-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
  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: ✓
  1. 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

Terminal window
tajo connectors install notion \
--token $NOTION_TOKEN

Konfigurasjon

Grunnleggende oppsett

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:

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:

EndepunktMetodeFormål
/v1/databases/{id}/queryPOSTSpør databaseoppføringer
/v1/databases/{id}GETHent databaseskjema
/v1/pagesPOSTOpprett en ny side
/v1/pages/{id}GETHent sideegenskaper
/v1/pages/{id}PATCHOppdater sideegenskaper
/v1/blocks/{id}/childrenGETHent blokkbarn
/v1/usersGETList alle arbeidsområdebrukere
/v1/users/{id}GETHent en bruker
/v1/searchPOSTSøk på tvers av arbeidsområdet

Kodeeksempler

Initialiser kobling

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

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

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

// 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:

BegrensningstypeVerdi
Ratebegrensning3 forespørsler per sekund per integrasjon
BurstgrenseKorte bursts tillatt, deretter struping
SidestørrelseMaks 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ÅrsakLøsning
401 UnauthorizedUgyldig eller utløpt tokenRegenerer integrasjonstoken
403 ForbiddenSiden er ikke delt med integrasjonenDel side/database med integrasjonen via Connections
404 Object not foundDatabase-ID feil eller ikke deltVerifiser database-ID og delingsinnstillinger
Manglende egenskaperSkjema-ulikhetSynkroniser databaseskjemaet på nytt og oppdater feltmappingen
Ratebegrensning overskredetFor mange raske forespørslerReduser synkroniseringsfrekvens eller batchstørrelse

Feilsøkingsmodus

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

Test tilkobling

Terminal window
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

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-assistent

Hei! Spør meg om dokumentasjonen.