Pipedrive-connector
Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.
Illustratie · voorbeelddata
Voorbeeld van synchronisatie
Bron
Pipedrive
Connectorstatus: Gepland
Bestemming
Je andere tool
Connectorstatus: Eigen tool
Veldtoewijzing
| Bronveld | Doelveld | Voorbeeldwaarde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Opstellen
- Eén record controleren
- Deze versie goedkeuren
Statussen gelden per connector en garanderen niet dat deze synchronisatie klaar is. De velden zijn illustratief. Controleer het echte schema en de rechten voordat een synchronisatie draait.
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
| Eigenschap | Waarde |
|---|---|
| Platform | Pipedrive |
| Categorie | CRM |
| Setupcomplexiteit | Eenvoudig |
| Officiële integratie | Nee |
| Gesynchroniseerde data | Personen, Deals, Organisaties, Activiteiten |
| Beschikbare Skills | 8 |
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:
- Een Pipedrive-account met admin-toegang
- Je Pipedrive API Token (te vinden in Settings > Personal preferences > API)
- Voor OAuth apps: een geregistreerde Pipedrive-app met Client ID en Client Secret
- Een Brevo-account met API-toegang
- Een Tajo-account met API-credentials
Authenticatie
API Token
De eenvoudigste authenticatiemethode. Je API Token vind je in Pipedrive onder Settings > Personal preferences > API.
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"OAuth 2.0 (aanbevolen voor apps)
Gebruik voor productieapplicaties 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"Nadat je het access token hebt verkregen:
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: 63Persoon-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_SIZEDealfase-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 listWebhook-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
| Method | Endpoint | Beschrijving |
|---|---|---|
GET | /v1/persons | Lijst personen |
POST | /v1/persons | Maak een persoon aan |
PUT | /v1/persons/{id} | Werk een persoon bij |
DELETE | /v1/persons/{id} | Verwijder een persoon |
GET | /v1/deals | Lijst deals |
POST | /v1/deals | Maak een deal aan |
PUT | /v1/deals/{id} | Werk een deal bij |
GET | /v1/organizations | Lijst organisaties |
POST | /v1/organizations | Maak een organisatie aan |
GET | /v1/activities | Lijst activiteiten |
POST | /v1/activities | Maak een activiteit aan |
GET | /v1/leads | Lijst leads |
GET | /v1/pipelines | Lijst pipelines |
GET | /v1/stages | Lijst pipelinefases |
GET | /v1/itemSearch | Zoek in alle items |
POST | /v1/webhooks | Maak een webhook aan |
GET | /v1/recents | Haal 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 accountawait tajo.connectors.connect('pipedrive', { apiToken: process.env.PIPEDRIVE_API_TOKEN, companyDomain: 'yourcompany'});Personen synchroniseren naar Brevo
// 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 }Dealfasewijzigingen tracken
// 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');});Zoeken in Pipedrive
// 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 organizationsRate limits
| Plan | Limiet | Details |
|---|---|---|
| Essential | 80 requests/10 sec | Per API token |
| Advanced | 100 requests/10 sec | Per API token |
| Professional | 200 requests/10 sec | Per API token |
| Power | 200 requests/10 sec | Per API token |
| Enterprise | 400 requests/10 sec | Per API token |
| OAuth apps | 80 requests/2 sec | Per access token |
Aanvullende limieten:
| Resource | Limiet |
|---|---|
| Per pagina | Max. 500 records |
| Webhooks | 40 per account |
| Bulk delete | 100 items/request |
| Search | Standaard 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
| Probleem | Oorzaak | Oplossing |
|---|---|---|
401 Unauthorized | Ongeldig API token | Regenereer het token in Pipedrive Settings > API |
403 Forbidden | Accountrechten | Zorg dat het account admin-toegang heeft voor API-gebruik |
| Personen zonder e-mail | Geen e-mail op record | Filter personen met geldig e-mailadres voor synchronisatie |
| Custom fields worden niet gemapt | Verkeerde field key | Gebruik Pipedrive’s field key (hash), niet de weergavenaam |
| Webhooks niet ontvangen | Firewall blokkeert | Zorg dat de webhook-URL publiek bereikbaar is via HTTPS |
| Dubbele personen | Meerdere records met hetzelfde e-mailadres | Gebruik Pipedrive’s merge API voor synchronisatie |
429 Too Many Requests | Rate limit overschreden | Implementeer backoff met de X-RateLimit-Reset-header |
Best practices
- Gebruik OAuth voor productie - Geef voorkeur aan OAuth 2.0 boven API tokens in productieapplicaties
- Track dealfasewijzigingen - Gebruik webhooks om Brevo-automatiseringen te triggeren bij pipelinefase-overgangen
- Map custom fields - Gebruik custom field keys van Pipedrive (niet namen) voor betrouwbare veldmapping
- Handel paginering af - Gebruik de parameters
startenlimit; controleermore_items_in_collection - Gebruik het Recents-endpoint - Poll
/v1/recentsvoor incrementele syncs in plaats van volledige exports - Deduplicatie vóór synchronisatie - Merge dubbele personen in Pipedrive voordat je synchroniseert naar Brevo
- 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