Zapier Connector
Connector-Status: Geplant Noch nicht gebaut. Tajo betreibt diesen Connector heute nicht.
Illustration · Beispieldaten
Sync-Beispiel
Quelle
Zapier
Connector-Status: Geplant
Ziel
Ihr anderes Tool
Connector-Status: Eigenes Tool
Feldzuordnung
| Quellfeld | Zielfeld | Beispielwert |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Entwerfen
- Einen Datensatz prüfen
- Diese Version freigeben
Der Status gilt für einzelne Connectoren und garantiert nicht, dass dieser Sync bereit ist. Felder zur Veranschaulichung. Prüfen Sie vor dem Sync das tatsächliche Schema und die Berechtigungen.
Verbinde Zapier über Tajo mit Brevo, um Tausende von Drittanbieter-Anwendungen mit deinen Marketing-Automation-Workflows zu verknüpfen und No-Code-Datenflüsse sowie eventgetriebene Trigger über deinen gesamten Tech-Stack hinweg zu ermöglichen.
Überblick
| Eigenschaft | Wert |
|---|---|
| Plattform | Zapier |
| Kategorie | Automation (Custom) |
| Einrichtungsaufwand | Einfach |
| Offizielle Integration | Nein |
| Synchronisierte Daten | Events, Kontakte, Workflows, Trigger |
| Authentifizierung | API Key / OAuth 2.0 |
Funktionen
- Multi-App-Orchestrierung - Verbinde 6.000+ Apps über Zap-Workflows mit Brevo
- Webhook-Trigger - Empfange Echtzeit-Events aus jeder mit Zapier verbundenen App
- Kontakt-Synchronisation - Pushe und ziehe Kontakte zwischen Zapier-verbundenen Plattformen und Brevo
- Event-Forwarding - Leite Application-Events über Tajo in Brevo-Automationen weiter
- Multi-Step-Zaps - Baue komplexe Workflows mit Filtern, Formattern und Verzögerungen
- Custom Zapier App - Nutze die Zapier Platform CLI, um maßgeschneiderte Integrationen zu bauen
Voraussetzungen
Bevor du beginnst, stelle sicher, dass du Folgendes hast:
- Ein Zapier-Konto (Free-Tier oder höher)
- Ein Brevo-Konto mit API-Zugriff
- Ein Tajo-Konto mit Connector-Berechtigungen
- Node.js 18+ installiert (für die CLI-basierte Integrationsentwicklung)
Authentifizierung
API-Schlüssel-Authentifizierung
# 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 unterstützt OAuth 2.0 zur Verbindung von Drittanbieter-Services innerhalb von 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' } } }};Konfiguration
Grundeinrichtung
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-Konfiguration
Konfiguriere Tajo so, dass Events an Zapier-Webhooks gesendet werden:
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 | Methode | Beschreibung |
|---|---|---|
https://hooks.zapier.com/hooks/catch/{id} | POST | Webhook-Catch-Hook |
https://nla.zapier.com/api/v1/dynamic/exposed/ | GET | Exposed Actions auflisten |
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/ | POST | Action ausführen |
https://zapier.com/api/platform/cli/apps | GET | Registrierte Apps auflisten |
https://zapier.com/api/platform/cli/push | POST | Integration deployen |
Code-Beispiele
Connector initialisieren
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']});Custom Zapier-Integration mit der Platform CLI bauen
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.example.com/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.example.com/v1/contacts/sync', body: bundle.inputData }); return response.data; } } } }};
module.exports = App;Caution
Die Adresse example.com oben ist ein Platzhalter, bis der Tajo-Endpunkt verfügbar ist.
Eingehende Zapier-Webhooks verarbeiten
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
| Tarif | Anfragen | Tasks/Monat | Polling-Intervall |
|---|---|---|---|
| Free | 100/Tag | 100 | 15 Min. |
| Starter | 1.000/Tag | 750 | 15 Min. |
| Professional | 5.000/Tag | 2.000 | 2 Min. |
| Team | 10.000/Tag | 50.000 | 1 Min. |
Zapier-Task-Limits
Jeder Zap-Step zählt als Task. Multi-Step-Zaps verbrauchen mehrere Tasks pro Ausführung. Überwache deine Task-Nutzung im Zapier-Dashboard, um Overages zu vermeiden.
Fehlerbehebung
| Problem | Ursache | Lösung |
|---|---|---|
| Webhook feuert nicht | Zap ausgeschaltet | Zap-Status im Zapier-Dashboard prüfen |
| Daten mappen nicht | Feldnamen stimmen nicht überein | Feldnamen zwischen Apps abgleichen |
| Duplizierte Kontakte | Keine Dedup konfiguriert | E-Mail-basierte Deduplizierung in Tajo aktivieren |
| Zap-Fehler | API-Rate-Limit erreicht | Delay-Steps hinzufügen oder Zapier-Tarif upgraden |
| Auth abgelaufen | Token nicht aktualisiert | Verbindung in Zapier erneut authentifizieren |
Debug-Modus
connectors: zapier: debug: true log_level: verbose log_webhooks: trueBest Practices
- Webhooks statt Polling - Webhooks bieten Echtzeit-Datenfluss statt Polling-Verzögerungen
- Fehlerbehandlung hinzufügen - Nutze Zapier Paths, um Erfolgs-/Fehler-Szenarien zu behandeln
- Daten deduplizieren - Aktiviere Deduplizierungs-Schlüssel, um duplizierte Datensätze zu vermeiden
- Task-Nutzung überwachen - Richte Alerts ein, bevor Task-Limits erreicht werden
- Filter sinnvoll einsetzen - Filtere früh in Zaps, um unnötigen Task-Verbrauch zu reduzieren
- CLI-Integrationen versionieren - Nutze Semantic Versioning für Platform-CLI-Apps
Sicherheit
- Nur HTTPS - Alle Webhook-URLs müssen HTTPS nutzen
- API-Schlüssel-Rotation - Rotiere Schlüssel regelmäßig über das Zapier-Dashboard
- OAuth 2.0 - Nutze OAuth für die Authentifizierung von Drittanbieter-Services
- Webhook-Verifizierung - Validiere eingehende Webhook-Signaturen
- Gescopte Berechtigungen - Gewähre pro Zap nur minimal erforderlichen Zugriff