---
title: "Pipedrive Connector"
description: "Vollständiger Leitfaden zur Pipedrive-Integration für die Synchronisierung von Deals, Kontakten, Organisationen und Pipeline-Daten mit Brevo über Tajo."
url: https://tajo.io/de/docs/connectors/crm/pipedrive/
markdown: https://tajo.io/de/docs/connectors/crm/pipedrive.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.

# Pipedrive 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 Pipedrive über Tajo mit Brevo, um deine Vertriebspipeline mit der Marketingautomatisierung zu verknüpfen. Synchronisiere Kontakte, Deals, Organisationen und Aktivitäten, um Lifecycle-Kampagnen auf Basis von CRM-Phasenwechseln auszuspielen.

## Überblick

| Eigenschaft | Wert |
| --- | --- |
| **Plattform** | Pipedrive |
| **Kategorie** | CRM |
| **Einrichtungsaufwand** | Einfach |
| **Offizielle Integration** | Nein |
| **Synchronisierte Daten** | Personen, Deals, Organisationen, Aktivitäten |
| **Verfügbare Skills** | 8 |

## Funktionen

- **Kontaktsynchronisierung** - Bidirektionale Synchronisierung von Pipedrive-Personen mit Brevo-Kontakten
- **Deal-Phasen-Tracking** - Löse Brevo-Automatisierungen basierend auf Änderungen der Pipeline-Phase aus
- **Organisationssynchronisierung** - Ordne Pipedrive-Organisationen Brevo-Unternehmensattributen zu
- **Aktivitäts-Tracking** - Leite Pipedrive-Aktivitäten (Anrufe, E-Mails, Meetings) als Brevo-Events weiter
- **Benutzerdefinierte Felder** - Ordne benutzerdefinierte Pipedrive-Felder Brevo-Kontaktattributen zu
- **Pipeline-Reporting** - Rufe Deal-Pipeline-Daten für die Marketing-Attribution ab
- **Lead-Synchronisierung** - Importiere Pipedrive-Leads für Nurture-Kampagnen in Brevo
- **Webhook-Automatisierung** - Echtzeit-Updates über Pipedrive-Webhooks

## Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

1. Ein Pipedrive-Konto mit Administratorzugriff
2. Dein Pipedrive-API-Token (zu finden unter Einstellungen > Persönliche Einstellungen > API)
3. Für OAuth-Apps: eine registrierte Pipedrive-App mit Client-ID und Client-Secret
4. Ein Brevo-Konto mit API-Zugriff
5. Ein Tajo-Konto mit API-Zugangsdaten

## Authentifizierung

### API-Token

Die einfachste Authentifizierungsmethode. Du findest dein API-Token in Pipedrive unter Einstellungen > Persönliche Einstellungen > API.

```bash
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"
```

### OAuth 2.0 (Empfohlen für Apps)

Für produktive Anwendungen verwende OAuth 2.0:

```bash
# Authorization URL
https://oauth.pipedrive.com/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI

# Token exchange
curl -X POST https://oauth.pipedrive.com/oauth/token \
  -d "grant_type=authorization_code" \
  -d "code=AUTH_CODE" \
  -d "redirect_uri=REDIRECT_URI" \
  -u "CLIENT_ID:CLIENT_SECRET"
```

Nach dem Erhalt des Zugriffstokens:

```bash
curl "https://api.pipedrive.com/v1/persons" \
  -H "Authorization: Bearer ACCESS_TOKEN"
```

## Konfiguration

### Grundeinrichtung

```yaml
connectors:
  pipedrive:
    enabled: true
    api_token: "your-pipedrive-api-token"
    company_domain: "yourcompany"  # yourcompany.pipedrive.com

    # Data sync options
    sync:
      persons: true
      deals: true
      organizations: true
      activities: true
      leads: true

    # Brevo list assignment
    lists:
      all_contacts: 60
      qualified_leads: 61
      customers: 62
      churned: 63
```

### Zuordnung von Personenfeldern

Ordne Pipedrive-Personenfelder Brevo-Kontaktattributen zu:

```yaml
person_mapping:
  email: email
  name: FULLNAME
  first_name: FIRSTNAME
  last_name: LASTNAME
  phone: SMS
  org_id.name: COMPANY

  # Deal-related computed fields
  won_deals_count: WON_DEALS
  lost_deals_count: LOST_DEALS
  open_deals_count: OPEN_DEALS
  closed_deals_count: CLOSED_DEALS
  total_revenue: LTV

  # Custom fields (use Pipedrive field key)
  custom_fields.lead_source: LEAD_SOURCE
  custom_fields.industry: INDUSTRY
  custom_fields.company_size: COMPANY_SIZE
```

### Zuordnung von Deal-Phasen

Ordne Pipedrive-Pipeline-Phasen Brevo-Listenzuweisungen zu:

```yaml
deal_stage_mapping:
  # stage_id -> brevo_list_id
  1: 61   # Lead In
  2: 61   # Contact Made
  3: 62   # Proposal Made
  4: 62   # Negotiations Started
  "won": 63   # Won -> Customers list
  "lost": 64   # Lost -> Win-back list
```

### Webhook-Konfiguration

```yaml
webhooks:
  - event_action: "added"
    event_object: "person"
    brevo_event: "contact_created"
  - event_action: "updated"
    event_object: "person"
    brevo_event: "contact_updated"
  - event_action: "added"
    event_object: "deal"
    brevo_event: "deal_created"
  - event_action: "updated"
    event_object: "deal"
    brevo_event: "deal_updated"
  - event_action: "merged"
    event_object: "person"
    brevo_event: "contact_merged"
  - event_action: "added"
    event_object: "activity"
    brevo_event: "activity_logged"
```

## API-Endpunkte

| Methode | Endpunkt | Beschreibung |
| --- | --- | --- |
| `GET` | `/v1/persons` | Personen auflisten |
| `POST` | `/v1/persons` | Eine Person anlegen |
| `PUT` | `/v1/persons/{id}` | Eine Person aktualisieren |
| `DELETE` | `/v1/persons/{id}` | Eine Person löschen |
| `GET` | `/v1/deals` | Deals auflisten |
| `POST` | `/v1/deals` | Einen Deal anlegen |
| `PUT` | `/v1/deals/{id}` | Einen Deal aktualisieren |
| `GET` | `/v1/organizations` | Organisationen auflisten |
| `POST` | `/v1/organizations` | Eine Organisation anlegen |
| `GET` | `/v1/activities` | Aktivitäten auflisten |
| `POST` | `/v1/activities` | Eine Aktivität anlegen |
| `GET` | `/v1/leads` | Leads auflisten |
| `GET` | `/v1/pipelines` | Pipelines auflisten |
| `GET` | `/v1/stages` | Pipeline-Phasen auflisten |
| `GET` | `/v1/itemSearch` | Über alle Objekte hinweg suchen |
| `POST` | `/v1/webhooks` | Einen Webhook anlegen |
| `GET` | `/v1/recents` | Kürzlich geänderte Objekte abrufen |

## Code-Beispiele

### Pipedrive-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 Pipedrive account
await tajo.connectors.connect('pipedrive', {
  apiToken: process.env.PIPEDRIVE_API_TOKEN,
  companyDomain: 'yourcompany'
});
```

### Personen mit Brevo synchronisieren

```javascript
// Fetch persons from Pipedrive
const response = await fetch(
  `https://api.pipedrive.com/v1/persons?start=0&limit=100&api_token=${API_TOKEN}`
);

const { data, additional_data } = await response.json();
// data: [{ id, name, first_name, last_name, email, phone, org_id, ... }]
// additional_data.pagination: { start, limit, more_items_in_collection }
```

### Deal-Phasenwechsel verfolgen

```javascript
// Webhook handler for deal updates
app.post('/webhooks/pipedrive', async (req, res) => {
  const { meta, current, previous } = req.body;

  if (meta.object === 'deal' && meta.action === 'updated') {
    // Detect stage change
    if (current.stage_id !== previous.stage_id) {
      await tajo.connectors.handleWebhook('pipedrive', {
        topic: 'deal.stage_changed',
        payload: {
          dealId: current.id,
          dealTitle: current.title,
          previousStage: previous.stage_id,
          newStage: current.stage_id,
          personId: current.person_id,
          value: current.value,
          currency: current.currency
        }
      });
    }
  }

  res.status(200).send('OK');
});
```

### Pipedrive-weite Suche

```javascript
// Global search across persons, deals, and organizations
const query = encodeURIComponent('jane@example.com');
const response = await fetch(
  `https://api.pipedrive.com/v1/itemSearch?term=${query}&item_types=person,deal&api_token=${API_TOKEN}`
);

const { data } = await response.json();
// Returns matching persons, deals, and organizations
```

## Ratenbegrenzungen

| Plan | Limit | Details |
| --- | --- | --- |
| **Essential** | 80 Anfragen/10 Sek. | Pro API-Token |
| **Advanced** | 100 Anfragen/10 Sek. | Pro API-Token |
| **Professional** | 200 Anfragen/10 Sek. | Pro API-Token |
| **Power** | 200 Anfragen/10 Sek. | Pro API-Token |
| **Enterprise** | 400 Anfragen/10 Sek. | Pro API-Token |
| **OAuth-Apps** | 80 Anfragen/2 Sek. | Pro Zugriffstoken |

Weitere Begrenzungen:

| Ressource | Limit |
| --- | --- |
| **Pro Seite** | Max. 500 Datensätze |
| **Webhooks** | 40 pro Konto |
| **Bulk-Löschung** | 100 Objekte/Anfrage |
| **Suche** | Standard-Ratenbegrenzungen |

Rate-Limit-Header

Pipedrive gibt die Header `X-RateLimit-Limit`, `X-RateLimit-Remaining` und `X-RateLimit-Reset` zurück. Implementiere Backoff, wenn `X-RateLimit-Remaining` gegen null geht.

## Fehlerbehebung

| Problem | Ursache | Lösung |
| --- | --- | --- |
| `401 Unauthorized` | Ungültiges API-Token | Token in Pipedrive-Einstellungen > API neu generieren |
| `403 Forbidden` | Kontoberechtigungen | Sicherstellen, dass das Konto Administratorzugriff für die API-Nutzung hat |
| Personen ohne E-Mail | Keine E-Mail im Datensatz | Personen vor der Synchronisierung auf gültige E-Mail filtern |
| Benutzerdefinierte Felder werden nicht zugeordnet | Falscher Feld-Key | Pipedrive-Feld-Key (Hash) verwenden, nicht den Anzeigenamen |
| Webhooks werden nicht empfangen | Firewall blockiert | Sicherstellen, dass die Webhook-URL öffentlich per HTTPS erreichbar ist |
| Doppelte Personen | Mehrere E-Mail-Datensätze | Pipedrive-Merge-API vor der Synchronisierung nutzen |
| `429 Too Many Requests` | Ratenbegrenzung überschritten | Backoff über den `X-RateLimit-Reset`-Header umsetzen |

## Best Practices

1. **OAuth für die Produktion verwenden** - Bevorzuge OAuth 2.0 gegenüber API-Tokens für produktive Anwendungen
2. **Deal-Phasenwechsel verfolgen** - Nutze Webhooks, um Brevo-Automatisierungen bei Pipeline-Übergängen auszulösen
3. **Benutzerdefinierte Felder zuordnen** - Verwende Pipedrive-Feld-Keys (nicht Namen) für eine zuverlässige Feldzuordnung
4. **Paginierung verarbeiten** - Verwende die Parameter `start` und `limit`; prüfe `more_items_in_collection`
5. **Recents-Endpunkt nutzen** - Polle `/v1/recents` für inkrementelle Synchronisierungen anstelle vollständiger Exporte
6. **Vor der Synchronisierung deduplizieren** - Führe doppelte Personen in Pipedrive zusammen, bevor du sie mit Brevo synchronisierst
7. **Sandbox-Konten verwenden** - Lege ein Entwickler:innen-Sandbox-Konto für Integrationstests an

## Sicherheit

- **API-Token-Authentifizierung** - Einfacher token-basierter Zugriff für die persönliche Nutzung
- **OAuth 2.0** - Sicherer delegierter Zugriff für Drittanbieteranwendungen
- **Nur HTTPS** - Die gesamte API-Kommunikation erfordert TLS-Verschlüsselung
- **Webhook-HTTPS** - Webhooks werden nur an HTTPS-Endpunkte ausgeliefert
- **Rollenbasierter Zugriff** - Pipedrive-Berechtigungen berücksichtigen Nutzer:innen-Rollen
- **SOC-2-zertifiziert** - Pipedrive ist SOC-2-konform
- **DSGVO-Konformität** - Unterstützt Anträge auf Datenexport und -löschung

## Verwandte Ressourcen

- [Brevo Connector](https://tajo.io/de/docs/connectors/marketing/brevo)
- [Shopify Connector](https://tajo.io/de/docs/connectors/ecommerce/shopify)
- [Customer-Sync-Skill](https://tajo.io/de/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/de/docs/contact-management)
