Pipedrive Connector
Connector-Status: Geplant Noch nicht gebaut. Tajo betreibt diesen Connector heute nicht.
Illustration · Beispieldaten
Sync-Beispiel
Quelle
Pipedrive
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 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:
- Ein Pipedrive-Konto mit Administratorzugriff
- Dein Pipedrive-API-Token (zu finden unter Einstellungen > Persönliche Einstellungen > API)
- Für OAuth-Apps: eine registrierte Pipedrive-App mit Client-ID und Client-Secret
- Ein Brevo-Konto mit API-Zugriff
- 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.
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:
# Authorization URLhttps://oauth.pipedrive.com/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI
# Token exchangecurl -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:
curl "https://api.pipedrive.com/v1/persons" \ -H "Authorization: Bearer ACCESS_TOKEN"Konfiguration
Grundeinrichtung
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: 63Zuordnung von Personenfeldern
Ordne Pipedrive-Personenfelder Brevo-Kontaktattributen zu:
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_SIZEZuordnung von Deal-Phasen
Ordne Pipedrive-Pipeline-Phasen Brevo-Listenzuweisungen zu:
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 listWebhook-Konfiguration
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
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Pipedrive accountawait tajo.connectors.connect('pipedrive', { apiToken: process.env.PIPEDRIVE_API_TOKEN, companyDomain: 'yourcompany'});Personen mit Brevo synchronisieren
// Fetch persons from Pipedriveconst 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
// Webhook handler for deal updatesapp.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
// Global search across persons, deals, and organizationsconst 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 organizationsRatenbegrenzungen
| 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
- OAuth für die Produktion verwenden - Bevorzuge OAuth 2.0 gegenüber API-Tokens für produktive Anwendungen
- Deal-Phasenwechsel verfolgen - Nutze Webhooks, um Brevo-Automatisierungen bei Pipeline-Übergängen auszulösen
- Benutzerdefinierte Felder zuordnen - Verwende Pipedrive-Feld-Keys (nicht Namen) für eine zuverlässige Feldzuordnung
- Paginierung verarbeiten - Verwende die Parameter
startundlimit; prüfemore_items_in_collection - Recents-Endpunkt nutzen - Polle
/v1/recentsfür inkrementelle Synchronisierungen anstelle vollständiger Exporte - Vor der Synchronisierung deduplizieren - Führe doppelte Personen in Pipedrive zusammen, bevor du sie mit Brevo synchronisierst
- 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