Zapier-connector
Verbind Zapier met Brevo via Tajo om duizenden third-party-applicaties te koppelen aan je marketingautomatiseringsworkflows. Zo creëer je no-code dataflows en event-gedreven triggers in je hele tech stack.
Overzicht
| Eigenschap | Waarde |
|---|---|
| Platform | Zapier |
| Categorie | Automation (Custom) |
| Setupcomplexiteit | Eenvoudig |
| Officiële integratie | Nee |
| Gesynchroniseerde data | Events, Contacten, Workflows, Triggers |
| Auth-methode | API Key / OAuth 2.0 |
Functies
- Multi-app-orkestratie - Verbind 6.000+ apps met Brevo via Zap-workflows
- Webhook-triggers - Ontvang realtime events vanuit elke door Zapier verbonden app
- Contactsynchronisatie - Push en pull contacten tussen door Zapier verbonden platforms en Brevo
- Event-forwarding - Route applicatie-events via Tajo naar Brevo-automatiseringen
- Multi-step Zaps - Bouw complexe workflows met filters, formatters en delays
- Custom Zapier-app - Gebruik de Zapier Platform CLI om op maat gemaakte integraties te bouwen
Vereisten
Voordat je begint, zorg dat je beschikt over:
- Een Zapier-account (Free tier of hoger)
- Een Brevo-account met API-toegang
- Een Tajo-account met connector-rechten
- Node.js 18+ geïnstalleerd (voor CLI-gebaseerde integratie-ontwikkeling)
Authenticatie
API Key-authenticatie
# Set your Zapier Platform credentialsexport ZAPIER_DEPLOY_KEY=your_deploy_keyexport TAJO_API_KEY=your_tajo_api_keyexport BREVO_API_KEY=your_brevo_api_keyOAuth 2.0
Zapier ondersteunt OAuth 2.0 voor het verbinden van third-party services binnen Zaps:
const authentication = { type: 'oauth2', oauth2Config: { authorizeUrl: { url: 'https://your-app.com/oauth/authorize', params: { client_id: '{{process.env.CLIENT_ID}}', state: '{{bundle.inputData.state}}', redirect_uri: '{{bundle.inputData.redirect_uri}}', response_type: 'code' } }, getAccessToken: { url: 'https://your-app.com/oauth/token', method: 'POST', body: { code: '{{bundle.inputData.code}}', client_id: '{{process.env.CLIENT_ID}}', client_secret: '{{process.env.CLIENT_SECRET}}', grant_type: 'authorization_code', redirect_uri: '{{bundle.inputData.redirect_uri}}' } }, refreshAccessToken: { url: 'https://your-app.com/oauth/token', method: 'POST', body: { refresh_token: '{{bundle.authData.refresh_token}}', client_id: '{{process.env.CLIENT_ID}}', client_secret: '{{process.env.CLIENT_SECRET}}', grant_type: 'refresh_token' } } }};Configuratie
Basisinstelling
connectors: zapier: enabled: true webhook_url: "https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID"
sync: contacts: true events: true workflows: true
triggers: - contact_created - order_placed - form_submitted
mapping: email: email first_name: FIRSTNAME last_name: LASTNAMEWebhook-configuratie
Configureer Tajo om events naar Zapier-webhooks te sturen:
webhooks: zapier: url: "https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID" events: - contact.created - contact.updated - order.completed - cart.abandoned retry: max_attempts: 3 backoff: exponentialAPI-endpoints
| Endpoint | Method | Beschrijving |
|---|---|---|
https://hooks.zapier.com/hooks/catch/{id} | POST | Webhook catch hook |
https://nla.zapier.com/api/v1/dynamic/exposed/ | GET | Beschikbare acties opvragen |
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/ | POST | Een actie uitvoeren |
https://zapier.com/api/platform/cli/apps | GET | Geregistreerde apps opvragen |
https://zapier.com/api/platform/cli/push | POST | Integratie deployen |
Codevoorbeelden
Connector initialiseren
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Zapier via webhookawait tajo.connectors.connect('zapier', { webhookUrl: process.env.ZAPIER_WEBHOOK_URL, events: ['contact.created', 'order.completed']});Een custom Zapier-integratie bouwen met de Platform CLI
const { version: platformVersion } = require('zapier-platform-core');
const App = { version: require('./package.json').version, platformVersion, authentication, triggers: { new_contact: { key: 'new_contact', noun: 'Contact', display: { label: 'New Contact in Tajo', description: 'Triggers when a new contact is synced.' }, operation: { perform: async (z, bundle) => { const response = await z.request({ url: 'https://api.tajo.io/v1/contacts', params: { since: bundle.meta.lastPoll } }); return response.data; } } } }, creates: { sync_contact: { key: 'sync_contact', noun: 'Contact', display: { label: 'Sync Contact to Brevo', description: 'Syncs a contact to Brevo via Tajo.' }, operation: { inputFields: [ { key: 'email', required: true, type: 'string' }, { key: 'firstName', type: 'string' }, { key: 'lastName', type: 'string' } ], perform: async (z, bundle) => { const response = await z.request({ method: 'POST', url: 'https://api.tajo.io/v1/contacts/sync', body: bundle.inputData }); return response.data; } } } }};
module.exports = App;Binnenkomende Zapier-webhooks afhandelen
app.post('/webhooks/zapier', async (req, res) => { const { event, data } = req.body;
await tajo.connectors.handleWebhook('zapier', { topic: event, payload: data });
res.status(200).json({ status: 'received' });});Rate limits
| Plan | Requests | Tasks/Maand | Polling-interval |
|---|---|---|---|
| Free | 100/dag | 100 | 15 min |
| Starter | 1.000/dag | 750 | 15 min |
| Professional | 5.000/dag | 2.000 | 2 min |
| Team | 10.000/dag | 50.000 | 1 min |
Zapier-tasklimieten
Elke Zap-stap telt als een task. Multi-step Zaps verbruiken meerdere tasks per uitvoering. Monitor je taskgebruik in het Zapier-dashboard om overschrijdingen te voorkomen.
Probleemoplossing
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| Webhook vuurt niet | Zap uitgeschakeld | Controleer Zap-status in Zapier-dashboard |
| Data wordt niet gemapt | Veldnaam-mismatch | Verifieer dat veldsleutels overeenkomen tussen apps |
| Dubbele contacten | Geen dedup geconfigureerd | Schakel e-mailgebaseerde deduplicatie in in Tajo |
| Zap-fouten | API-rate limit bereikt | Voeg delay-stappen toe of upgrade Zapier-plan |
| Auth verlopen | Token niet ververst | Authenticeer de connectie opnieuw in Zapier |
Debugmodus
connectors: zapier: debug: true log_level: verbose log_webhooks: trueBest practices
- Gebruik webhooks boven polling - Webhooks zorgen voor realtime dataflow versus polling-vertraging
- Voeg foutafhandeling toe - Gebruik Zapier Paths om succes-/faalscenario’s af te handelen
- Dedupliceer data - Schakel deduplicatiesleutels in om dubbele records te voorkomen
- Monitor taskgebruik - Stel alerts in voordat je tasklimieten bereikt
- Gebruik filters verstandig - Filter vroeg in Zaps om onnodig taskverbruik te beperken
- Versie je CLI-integraties - Gebruik semantische versionering voor Platform CLI-apps
Beveiliging
- Alleen HTTPS - Alle webhook-URL’s moeten HTTPS gebruiken
- API key-rotatie - Roteer keys regelmatig via Zapier-dashboard
- OAuth 2.0 - Gebruik OAuth voor third-party service-authenticatie
- Webhook-verificatie - Valideer binnenkomende webhook-signatures
- Gescoopte rechten - Geef minimaal vereiste toegang per Zap