Connecteur Pipedrive

Connecteur Pipedrive

Connectez Pipedrive à Brevo via Tajo pour faire le pont entre votre pipeline commercial et l’automatisation marketing. Synchronisez contacts, transactions, organisations et activités afin d’alimenter les campagnes du cycle de vie déclenchées par les changements d’étape dans le CRM.

Vue d’ensemble

PropriétéValeur
PlateformePipedrive
CatégorieCRM
Complexité d’installationFacile
Intégration officielleNon
Données synchroniséesPersonnes, transactions, organisations, activités
Skills disponibles8

Fonctionnalités

  • Synchronisation des contacts, Synchronisation bidirectionnelle des personnes Pipedrive vers les contacts Brevo
  • Suivi des étapes de transaction, Déclenchez des automatisations Brevo en fonction des changements d’étape du pipeline
  • Synchronisation des organisations, Mappez les organisations Pipedrive vers les attributs d’entreprise Brevo
  • Suivi des activités, Transmettez les activités Pipedrive (appels, e-mails, réunions) en tant qu’événements Brevo
  • Champs personnalisés, Mappez les champs personnalisés Pipedrive vers les attributs de contact Brevo
  • Reporting du pipeline, Récupérez les données du pipeline de transactions pour l’attribution marketing
  • Synchronisation des leads, Importez les leads Pipedrive dans Brevo pour les campagnes de nurturing
  • Automatisation via webhook, Mises à jour en temps réel via les webhooks Pipedrive

Prérequis

Avant de commencer, assurez-vous de disposer de :

  1. Un compte Pipedrive avec accès administrateur
  2. Votre jeton API Pipedrive (disponible dans Settings > Personal preferences > API)
  3. Pour les applications OAuth : une application Pipedrive enregistrée avec Client ID et Client Secret
  4. Un compte Brevo avec accès API
  5. Un compte Tajo avec des identifiants API

Authentification

Jeton API

La méthode d’authentification la plus simple. Retrouvez votre jeton API dans Pipedrive sous Settings > Personal preferences > API.

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

OAuth 2.0 (recommandé pour les applications)

Pour les applications de production, utilisez 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"

Après obtention du jeton d’accès :

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

Configuration

Configuration de base

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

Mappage des champs de personne

Mappez les champs de personne Pipedrive vers les attributs de contact Brevo :

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

Mappage des étapes de transaction

Mappez les étapes du pipeline Pipedrive vers les affectations de listes Brevo :

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

Configuration des webhooks

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"

Endpoints API

MéthodeEndpointDescription
GET/v1/personsLister les personnes
POST/v1/personsCréer une personne
PUT/v1/persons/{id}Mettre à jour une personne
DELETE/v1/persons/{id}Supprimer une personne
GET/v1/dealsLister les transactions
POST/v1/dealsCréer une transaction
PUT/v1/deals/{id}Mettre à jour une transaction
GET/v1/organizationsLister les organisations
POST/v1/organizationsCréer une organisation
GET/v1/activitiesLister les activités
POST/v1/activitiesCréer une activité
GET/v1/leadsLister les leads
GET/v1/pipelinesLister les pipelines
GET/v1/stagesLister les étapes de pipeline
GET/v1/itemSearchRechercher parmi tous les éléments
POST/v1/webhooksCréer un webhook
GET/v1/recentsRécupérer les éléments récemment modifiés

Exemples de code

Initialiser le connecteur Pipedrive

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

Synchroniser les personnes vers 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 }

Suivre les changements d’étape de transaction

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

Rechercher dans 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

Limites de débit

PlanLimiteDétails
Essential80 requêtes/10 sPar jeton API
Advanced100 requêtes/10 sPar jeton API
Professional200 requêtes/10 sPar jeton API
Power200 requêtes/10 sPar jeton API
Enterprise400 requêtes/10 sPar jeton API
Applications OAuth80 requêtes/2 sPar jeton d’accès

Limites supplémentaires :

RessourceLimite
Par page500 enregistrements max
Webhooks40 par compte
Suppression en masse100 éléments/requête
RechercheLimites de débit standard

En-têtes de limite de débit

Pipedrive renvoie les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Implémentez un backoff lorsque X-RateLimit-Remaining approche de zéro.

Dépannage

ProblèmeCauseSolution
401 UnauthorizedJeton API invalideRégénérez le jeton dans Pipedrive Settings > API
403 ForbiddenPermissions du compteAssurez-vous que le compte dispose d’un accès administrateur pour l’API
Personnes sans e-mailAucun e-mail dans l’enregistrementFiltrez les personnes avec un e-mail valide avant la synchronisation
Champs personnalisés non mappésMauvaise clé de champUtilisez la clé de champ Pipedrive (hash), pas le nom affiché
Webhooks non reçusPare-feu bloquantAssurez-vous que l’URL du webhook est accessible publiquement via HTTPS
Personnes dupliquéesPlusieurs enregistrements d’e-mailUtilisez l’API de fusion Pipedrive avant la synchronisation
429 Too Many RequestsLimite de débit dépasséeImplémentez un backoff en utilisant l’en-tête X-RateLimit-Reset

Bonnes pratiques

  1. Utilisez OAuth en production, Privilégiez OAuth 2.0 aux jetons API pour les applications de production
  2. Suivez les changements d’étape de transaction, Utilisez les webhooks pour déclencher des automatisations Brevo lors des transitions d’étape
  3. Mappez les champs personnalisés, Utilisez les clés de champ personnalisé Pipedrive (pas les noms) pour un mappage fiable
  4. Gérez la pagination, Utilisez les paramètres start et limit ; vérifiez more_items_in_collection
  5. Utilisez l’endpoint Recents, Interrogez /v1/recents pour les synchronisations incrémentales plutôt que des exports complets
  6. Dédupliquez avant la synchronisation, Fusionnez les personnes dupliquées dans Pipedrive avant la synchronisation vers Brevo
  7. Utilisez des comptes sandbox, Créez un compte sandbox développeur pour tester les intégrations

Sécurité

  • Authentification par jeton API, Accès simple basé sur un jeton pour un usage personnel
  • OAuth 2.0, Accès délégué sécurisé pour les applications tierces
  • HTTPS uniquement, Toutes les communications API requièrent un chiffrement TLS
  • Webhooks HTTPS, Les webhooks ne sont livrés qu’aux endpoints HTTPS
  • Accès basé sur les rôles, Les permissions Pipedrive respectent les rôles utilisateur
  • Certifié SOC 2, Pipedrive maintient sa conformité SOC 2
  • Conformité RGPD, Prise en charge des demandes d’export et de suppression de données

Ressources associées

Subscribe to updates

developer-docs

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

Assistant AI

Bonjour ! Posez-moi vos questions sur la documentation.

Commencez gratuitement avec Brevo