Zapier Connector

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

EigenschaftWert
PlattformZapier
KategorieAutomation (Custom)
EinrichtungsaufwandEinfach
Offizielle IntegrationNein
Synchronisierte DatenEvents, Kontakte, Workflows, Trigger
AuthentifizierungAPI 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:

  1. Ein Zapier-Konto (Free-Tier oder höher)
  2. Ein Brevo-Konto mit API-Zugriff
  3. Ein Tajo-Konto mit Connector-Berechtigungen
  4. Node.js 18+ installiert (für die CLI-basierte Integrationsentwicklung)

Authentifizierung

API-Schlüssel-Authentifizierung

Terminal window
# Set your Zapier Platform credentials
export ZAPIER_DEPLOY_KEY=your_deploy_key
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key

OAuth 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: LASTNAME

Webhook-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: exponential

API-Endpoints

EndpointMethodeBeschreibung
https://hooks.zapier.com/hooks/catch/{id}POSTWebhook-Catch-Hook
https://nla.zapier.com/api/v1/dynamic/exposed/GETExposed Actions auflisten
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/POSTAction ausführen
https://zapier.com/api/platform/cli/appsGETRegistrierte Apps auflisten
https://zapier.com/api/platform/cli/pushPOSTIntegration 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 webhook
await 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.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;

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

TarifAnfragenTasks/MonatPolling-Intervall
Free100/Tag10015 Min.
Starter1.000/Tag75015 Min.
Professional5.000/Tag2.0002 Min.
Team10.000/Tag50.0001 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

ProblemUrsacheLösung
Webhook feuert nichtZap ausgeschaltetZap-Status im Zapier-Dashboard prüfen
Daten mappen nichtFeldnamen stimmen nicht übereinFeldnamen zwischen Apps abgleichen
Duplizierte KontakteKeine Dedup konfiguriertE-Mail-basierte Deduplizierung in Tajo aktivieren
Zap-FehlerAPI-Rate-Limit erreichtDelay-Steps hinzufügen oder Zapier-Tarif upgraden
Auth abgelaufenToken nicht aktualisiertVerbindung in Zapier erneut authentifizieren

Debug-Modus

connectors:
zapier:
debug: true
log_level: verbose
log_webhooks: true

Best Practices

  1. Webhooks statt Polling - Webhooks bieten Echtzeit-Datenfluss statt Polling-Verzögerungen
  2. Fehlerbehandlung hinzufügen - Nutze Zapier Paths, um Erfolgs-/Fehler-Szenarien zu behandeln
  3. Daten deduplizieren - Aktiviere Deduplizierungs-Schlüssel, um duplizierte Datensätze zu vermeiden
  4. Task-Nutzung überwachen - Richte Alerts ein, bevor Task-Limits erreicht werden
  5. Filter sinnvoll einsetzen - Filtere früh in Zaps, um unnötigen Task-Verbrauch zu reduzieren
  6. 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

Verwandte Ressourcen

Subscribe to updates

developer-docs

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

auto-detect
AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.