Pipedrive-connector

Pipedrive-connector

Verbind Pipedrive met Brevo via Tajo om je sales pipeline te koppelen aan marketingautomatisering. Synchroniseer contacten, deals, organisaties en activiteiten om lifecyclecampagnes te triggeren op basis van CRM-fasewijzigingen.

Overzicht

EigenschapWaarde
PlatformPipedrive
CategorieCRM
SetupcomplexiteitEenvoudig
Officiële integratieNee
Gesynchroniseerde dataPersonen, Deals, Organisaties, Activiteiten
Beschikbare Skills8

Functies

  • Contactsynchronisatie - Bidirectionele synchronisatie van Pipedrive-personen naar Brevo-contacten
  • Dealfase-tracking - Trigger Brevo-automatiseringen op basis van wijzigingen in pipelinefases
  • Organisatiesynchronisatie - Map Pipedrive-organisaties naar Brevo-bedrijfsattributen
  • Activiteitstracking - Stuur Pipedrive-activiteiten (calls, e-mails, meetings) door als Brevo-events
  • Custom fields - Map custom fields uit Pipedrive naar Brevo-contactattributen
  • Pipeline-rapportage - Haal dealpipelinedata op voor marketingattributie
  • Leadsynchronisatie - Importeer Pipedrive-leads in Brevo voor nurture-campagnes
  • Webhook-automatisering - Realtime updates via Pipedrive-webhooks

Vereisten

Voordat je begint, zorg dat je beschikt over:

  1. Een Pipedrive-account met admin-toegang
  2. Je Pipedrive API Token (te vinden in Settings > Personal preferences > API)
  3. Voor OAuth apps: een geregistreerde Pipedrive-app met Client ID en Client Secret
  4. Een Brevo-account met API-toegang
  5. Een Tajo-account met API-credentials

Authenticatie

API Token

De eenvoudigste authenticatiemethode. Je API Token vind je in Pipedrive onder Settings > Personal preferences > API.

Terminal window
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"

OAuth 2.0 (aanbevolen voor apps)

Gebruik voor productieapplicaties OAuth 2.0:

Terminal window
# 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"

Nadat je het access token hebt verkregen:

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

Configuratie

Basisinstelling

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

Persoon-veldmapping

Map velden van Pipedrive-personen naar Brevo-contactattributen:

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

Dealfase-mapping

Map Pipedrive-pipelinefases naar Brevo-listtoewijzingen:

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-configuratie

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-endpoints

MethodEndpointBeschrijving
GET/v1/personsLijst personen
POST/v1/personsMaak een persoon aan
PUT/v1/persons/{id}Werk een persoon bij
DELETE/v1/persons/{id}Verwijder een persoon
GET/v1/dealsLijst deals
POST/v1/dealsMaak een deal aan
PUT/v1/deals/{id}Werk een deal bij
GET/v1/organizationsLijst organisaties
POST/v1/organizationsMaak een organisatie aan
GET/v1/activitiesLijst activiteiten
POST/v1/activitiesMaak een activiteit aan
GET/v1/leadsLijst leads
GET/v1/pipelinesLijst pipelines
GET/v1/stagesLijst pipelinefases
GET/v1/itemSearchZoek in alle items
POST/v1/webhooksMaak een webhook aan
GET/v1/recentsHaal recent gewijzigde items op

Codevoorbeelden

Pipedrive-connector initialiseren

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 synchroniseren naar Brevo

// 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 }

Dealfasewijzigingen tracken

// 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');
});

Zoeken in Pipedrive

// Global search across persons, deals, and organizations
const query = encodeURIComponent('[email protected]');
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

Rate limits

PlanLimietDetails
Essential80 requests/10 secPer API token
Advanced100 requests/10 secPer API token
Professional200 requests/10 secPer API token
Power200 requests/10 secPer API token
Enterprise400 requests/10 secPer API token
OAuth apps80 requests/2 secPer access token

Aanvullende limieten:

ResourceLimiet
Per paginaMax. 500 records
Webhooks40 per account
Bulk delete100 items/request
SearchStandaard rate limits

Rate limit-headers

Pipedrive retourneert X-RateLimit-Limit-, X-RateLimit-Remaining- en X-RateLimit-Reset-headers. Implementeer backoff wanneer X-RateLimit-Remaining richting nul gaat.

Probleemoplossing

ProbleemOorzaakOplossing
401 UnauthorizedOngeldig API tokenRegenereer het token in Pipedrive Settings > API
403 ForbiddenAccountrechtenZorg dat het account admin-toegang heeft voor API-gebruik
Personen zonder e-mailGeen e-mail op recordFilter personen met geldig e-mailadres voor synchronisatie
Custom fields worden niet gemaptVerkeerde field keyGebruik Pipedrive’s field key (hash), niet de weergavenaam
Webhooks niet ontvangenFirewall blokkeertZorg dat de webhook-URL publiek bereikbaar is via HTTPS
Dubbele personenMeerdere records met hetzelfde e-mailadresGebruik Pipedrive’s merge API voor synchronisatie
429 Too Many RequestsRate limit overschredenImplementeer backoff met de X-RateLimit-Reset-header

Best practices

  1. Gebruik OAuth voor productie - Geef voorkeur aan OAuth 2.0 boven API tokens in productieapplicaties
  2. Track dealfasewijzigingen - Gebruik webhooks om Brevo-automatiseringen te triggeren bij pipelinefase-overgangen
  3. Map custom fields - Gebruik custom field keys van Pipedrive (niet namen) voor betrouwbare veldmapping
  4. Handel paginering af - Gebruik de parameters start en limit; controleer more_items_in_collection
  5. Gebruik het Recents-endpoint - Poll /v1/recents voor incrementele syncs in plaats van volledige exports
  6. Deduplicatie vóór synchronisatie - Merge dubbele personen in Pipedrive voordat je synchroniseert naar Brevo
  7. Gebruik sandbox-accounts - Maak een developer sandbox-account voor het testen van integraties

Beveiliging

  • API token-authenticatie - Eenvoudige token-gebaseerde toegang voor persoonlijk gebruik
  • OAuth 2.0 - Veilige gedelegeerde toegang voor externe applicaties
  • Alleen HTTPS - Alle API-communicatie vereist TLS-encryptie
  • Webhook HTTPS - Webhooks worden alleen afgeleverd aan HTTPS-endpoints
  • Rolgebaseerde toegang - Pipedrive-rechten respecteren gebruikersrollen
  • SOC 2-gecertificeerd - Pipedrive hanteert SOC 2-compliance
  • GDPR-compliance - Ondersteunt data-export- en verwijderingsverzoeken

Gerelateerde bronnen

Subscribe to updates

developer-docs

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

AI-assistent

Hallo! Stel me vragen over de documentatie.

Start gratis met Brevo