---
title: "Zapier Connector"
description: "Vollständiger Leitfaden zur Zapier-Integration für die Anbindung Tausender Apps an Brevo über Tajo mit Zaps, Webhooks und der Zapier Platform CLI."
url: https://tajo.io/de/docs/connectors/custom/zapier/
markdown: https://tajo.io/de/docs/connectors/custom/zapier.md
lang: de-DE
robots: noindex
---

Beantrage frühzeitigen Zugang

Gib deinen Vornamen und deine geschäftliche E-Mail-Adresse ein. Wir senden dir einen Link, mit dem du deine Anfrage für den Tajo-Zugang bestätigst.

# Zapier Connector

Connector-Status: Geplant Noch nicht gebaut. Tajo betreibt diesen Connector heute nicht.

| Quellfeld | Zielfeld | Beispielwert |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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:

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

```bash
# 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:

```javascript
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

```yaml
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:

```yaml
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

| 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

```javascript
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

```javascript
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

```javascript
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

```yaml
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

- [Segment Connector](https://tajo.io/de/docs/connectors/custom/segment)
- [Brevo Connector](https://tajo.io/de/docs/connectors/marketing/brevo)
- [Customer-Sync-Skill](https://tajo.io/de/docs/skills/data-sync/customer-sync)
- [Zapier Platform CLI-Dokumentation](https://platform.zapier.com/reference/cli-docs)
