Notion Connector
Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.
Illustration · eksempeldata
Eksempel på synkronisering
Kilde
Notion
Connectorstatus: Planlagt
Destination
Dit andet værktøj
Connectorstatus: Eget værktøj
Feltmapping
| Kildefelt | Destinationsfelt | Eksempelværdi |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Udkast
- Gennemse én post
- Godkend denne version
Status gælder den enkelte connector og garanterer ikke, at denne synkronisering er klar. Felterne er illustrative. Tjek det faktiske skema og tilladelser før en synkronisering.
Forbind dit Notion-workspace med Brevo til indholdsdrevne marketing-workflows, CRM-databasesynkronisering og automatiserede notifikationer via Tajo.
Oversigt
| Egenskab | Værdi |
|---|---|
| Platform | Notion |
| Kategori | Brugerdefineret |
| Opsætningskompleksitet | Let |
| Officiel integration | Nej |
| Synkroniserede data | Databaser, sider, brugere |
| API-type | REST API |
| Autentifikation | Internal Integration Token / OAuth 2.0 |
| Base-URL | https://api.notion.com |
| API-version | 2022-06-28 (via Notion-Version-header) |
Funktioner
- Databasesynkronisering - Synkronisér Notion-databaseposter til Brevo-kontakter og -lister
- CRM-bro - Brug Notion-databaser som et let CRM, synkroniseret med Brevo
- Indholdsnotifikationer - Udløs Brevo-kampagner, når Notion-sider offentliggøres
- Property-mapping - Kortlæg Notion-databaseegenskaber til Brevo-kontaktattributter
- Sideovervågning - Spor sideopdateringer, og videresend dem som Brevo-hændelser
- Synkronisering af brugerkatalog - Synkronisér medlemmer af Notion-workspace til Brevo-kontakter
Forudsætninger
Før du begynder, skal du sikre dig, at du har:
- Et Notion-workspace med admin-adgang
- En intern Notion-integration eller en OAuth-app
- Databasesider delt med integrationen
- En Brevo-konto med API-adgang
- En Tajo-konto med aktivt abonnement
Autentifikation
Notion understøtter to autentifikationsmetoder.
Mulighed 1: Intern integration (anbefalet til et enkelt workspace)
- Gå til notion.so/my-integrations
- Klik på New integration
- Navngiv den “Tajo Integration”
- Vælg dit workspace
- Indstil capabilities:
Content Capabilities: Read content: ✓ Update content: ✓ Insert content: ✓
User Capabilities: Read user information: ✓- Kopiér Internal Integration Secret (starter med
ntn_)
Sidedeling påkrævet
Interne integrationer kan kun tilgå sider og databaser, der er eksplicit delt med dem. Del hver måldatabase med din integration via menuen ”…” > “Connections” > vælg din integration.
Mulighed 2: OAuth 2.0 (offentlige integrationer)
Til integrationer, der betjener flere workspaces, skal du bruge OAuth 2.0-flowet:
- Registrér din integration som en offentlig integration
- Omdirigér brugere til:
https://api.notion.com/v1/oauth/authorize?client_id=... - Byt koden til et access token på
/v1/oauth/token
Forbind til Tajo
tajo connectors install notion \ --token $NOTION_TOKENKonfiguration
Grundlæggende opsætning
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: 26Feltmapping
Kortlæg Notion-databaseegenskaber til Brevo-kontaktattributter:
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: TAGSAPI-endpoints
Tajo integrerer med følgende Notion API-endpoints:
| Endpoint | Metode | Formål |
|---|---|---|
/v1/databases/{id}/query | POST | Forespørg databaseposter |
/v1/databases/{id} | GET | Hent databaseskema |
/v1/pages | POST | Opret en ny side |
/v1/pages/{id} | GET | Hent sideegenskaber |
/v1/pages/{id} | PATCH | Opdatér sideegenskaber |
/v1/blocks/{id}/children | GET | Hent blok-children |
/v1/users | GET | Vis alle workspace-brugere |
/v1/users/{id} | GET | Hent en bruger |
/v1/search | POST | Søg på tværs af workspace |
Kodeeksempler
Initialisér connector
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});Synkronisér database til Brevo
// Sync a Notion database to a Brevo listawait 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// }Forespørg og filtrér
// Query Notion database with filtersconst results = await tajo.connectors.query('notion', { databaseId: 'abc123def456', filter: { property: 'Status', select: { equals: 'Active' } }, sorts: [ { property: 'Last Contact', direction: 'descending' } ]});Opret side fra Brevo-hændelse
// Create a Notion page when a Brevo contact reaches a milestonetajo.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() } } } }); }});Rate limits
Notion håndhæver rate limits pr. integration:
| Grænsetype | Værdi |
|---|---|
| Rate limit | 3 anmodninger pr. sekund pr. integration |
| Burst-grænse | Korte bursts tilladt, derefter throttles |
| Sidestørrelse | Maks. 100 elementer pr. pagineret anmodning |
Cursor-baseret paginering
Notion bruger cursor-baseret paginering. Tajo håndterer dette automatisk ved at itérere gennem alle sider med parameteren next_cursor, indtil has_more returnerer false.
Notion returnerer 429 Too Many Requests, når rate limits overskrides, med en Retry-After-header.
Fejlfinding
Almindelige problemer
| Problem | Årsag | Løsning |
|---|---|---|
| 401 Unauthorized | Ugyldigt eller udløbet token | Regenerér integrations-token |
| 403 Forbidden | Side ikke delt med integration | Del side/database med integration via Connections |
| 404 Object not found | Database-ID forkert eller ikke delt | Verificér database-ID og delingsindstillinger |
| Manglende egenskaber | Skemamismatch | Genssynkronisér databaseskema og opdatér feltmapping |
| Rate limit overskredet | For mange hurtige anmodninger | Reducér synkroniseringsfrekvens eller batch-størrelse |
Debug-tilstand
connectors: notion: debug: true log_level: verbose log_api_calls: trueTestforbindelse
tajo connectors test notion# ✓ API authentication successful# ✓ Database access verified# ✓ User list accessible# ✓ Search operational# ✓ Page creation availableBedste praksis
- Del databaser eksplicit - Interne integrationer ser kun delt indhold
- Brug databaseforespørgsler frem for søgning - Forespørgsler er hurtigere og mere pålidelige for kendte databaser
- Kortlæg egenskabstyper omhyggeligt - Notion har mange egenskabstyper; match dem til Brevo-attributtyper
- Håndtér paginering - Itérér altid gennem alle cursor-sider for at få komplette data
- Synkronisér inkrementelt - Brug
last_edited_time-filtre for kun at synkronisere ændrede poster - Opsæt en poll-tidsplan - Notion understøtter ikke webhooks nativt; poll med jævne mellemrum
Sikkerhed
- Bearer-token-autentifikation - Integrationshemmeligheder og OAuth-tokens
- Kun HTTPS - Al API-kommunikation krypteres via TLS 1.2+
- Scoped adgang - Integrationer tilgår kun eksplicit delt indhold
- OAuth 2.0 - Sikkert autorisationsflow til offentlige integrationer
- Krypteret opbevaring - Tokens krypteres i hvile i Tajo
- Workspace-isolation - Hver integration er scoped til et enkelt workspace