Conector de Pipedrive

Conector de Pipedrive

Conecta Pipedrive con Brevo a través de Tajo para unir tu pipeline de ventas con la automatización de marketing. Sincroniza contactos, negocios, organizaciones y actividades para impulsar campañas de ciclo de vida activadas por los cambios de etapa en el CRM.

Resumen

PropiedadValor
PlataformaPipedrive
CategoríaCRM
Complejidad de configuraciónFácil
Integración oficialNo
Datos sincronizadosPersonas, Negocios, Organizaciones, Actividades
Skills disponibles8

Funcionalidades

  • Sincronización de contactos - Sincronización bidireccional de personas de Pipedrive con contactos de Brevo
  • Seguimiento de etapas de negocios - Activa automatizaciones en Brevo a partir de cambios de etapa en el pipeline
  • Sincronización de organizaciones - Asocia organizaciones de Pipedrive con atributos de empresa en Brevo
  • Seguimiento de actividades - Reenvía las actividades de Pipedrive (llamadas, emails, reuniones) como eventos de Brevo
  • Campos personalizados - Asocia campos personalizados de Pipedrive con atributos de contacto en Brevo
  • Reportes del pipeline - Extrae datos del pipeline de negocios para la atribución de marketing
  • Sincronización de leads - Importa leads de Pipedrive a Brevo para campañas de nutrición
  • Automatización vía webhooks - Actualizaciones en tiempo real mediante los webhooks de Pipedrive

Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Una cuenta de Pipedrive con acceso de administrador
  2. Tu token de API de Pipedrive (lo encuentras en Settings > Personal preferences > API)
  3. Para apps OAuth: una app de Pipedrive registrada con Client ID y Client Secret
  4. Una cuenta de Brevo con acceso a la API
  5. Una cuenta de Tajo con credenciales de API

Autenticación

Token de API

El método de autenticación más sencillo. Encuentra tu token de API en Pipedrive en Settings > Personal preferences > API.

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

OAuth 2.0 (recomendado para apps)

Para aplicaciones en producción, usa 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"

Tras obtener el token de acceso:

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

Configuración

Configuración básica

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

Asignación de campos de persona

Asocia los campos de persona de Pipedrive con los atributos de contacto de 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

Asignación de etapas de negocios

Asocia las etapas del pipeline de Pipedrive con las listas de 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

Configuración de 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 de la API

MétodoEndpointDescripción
GET/v1/personsListar personas
POST/v1/personsCrear una persona
PUT/v1/persons/{id}Actualizar una persona
DELETE/v1/persons/{id}Eliminar una persona
GET/v1/dealsListar negocios
POST/v1/dealsCrear un negocio
PUT/v1/deals/{id}Actualizar un negocio
GET/v1/organizationsListar organizaciones
POST/v1/organizationsCrear una organización
GET/v1/activitiesListar actividades
POST/v1/activitiesCrear una actividad
GET/v1/leadsListar leads
GET/v1/pipelinesListar pipelines
GET/v1/stagesListar etapas del pipeline
GET/v1/itemSearchBúsqueda global entre elementos
POST/v1/webhooksCrear un webhook
GET/v1/recentsObtener los últimos elementos modificados

Ejemplos de código

Inicializar el conector de 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'
});

Sincronizar personas con 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 }

Seguimiento de cambios de etapa en negocios

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

Búsqueda global en 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

Límites de velocidad

PlanLímiteDetalles
Essential80 peticiones/10 sPor token de API
Advanced100 peticiones/10 sPor token de API
Professional200 peticiones/10 sPor token de API
Power200 peticiones/10 sPor token de API
Enterprise400 peticiones/10 sPor token de API
Apps OAuth80 peticiones/2 sPor token de acceso

Límites adicionales:

RecursoLímite
Por página500 registros máx.
Webhooks40 por cuenta
Eliminación masiva100 elementos/petición
BúsquedaLímites estándar

Cabeceras de límites de velocidad

Pipedrive devuelve las cabeceras X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset. Aplica backoff cuando X-RateLimit-Remaining se acerque a cero.

Resolución de problemas

ProblemaCausaSolución
401 UnauthorizedToken de API no válidoRegenera el token en Pipedrive Settings > API
403 ForbiddenPermisos de la cuentaAsegúrate de que la cuenta tenga acceso de administrador para la API
Personas sin emailSin email en el registroFiltra las personas con email válido antes de sincronizar
Campos personalizados sin asignarClave de campo incorrectaUsa la clave (hash) del campo de Pipedrive, no el nombre visible
Webhooks no recibidosFirewall bloqueandoAsegúrate de que la URL del webhook sea accesible públicamente por HTTPS
Personas duplicadasRegistros con emails repetidosUsa la API de fusión de Pipedrive antes de sincronizar
429 Too Many RequestsLímite de velocidad superadoAplica backoff usando la cabecera X-RateLimit-Reset

Buenas prácticas

  1. Usa OAuth en producción - Prefiere OAuth 2.0 frente a tokens de API en aplicaciones en producción
  2. Rastrea los cambios de etapa de negocios - Usa webhooks para activar automatizaciones en Brevo en las transiciones del pipeline
  3. Asocia campos personalizados - Usa las claves (no los nombres) de los campos personalizados de Pipedrive para un mapeo fiable
  4. Gestiona la paginación - Usa los parámetros start y limit; comprueba more_items_in_collection
  5. Usa el endpoint Recents - Consulta /v1/recents para sincronizaciones incrementales en lugar de exportaciones completas
  6. Deduplica antes de sincronizar - Fusiona personas duplicadas en Pipedrive antes de sincronizarlas con Brevo
  7. Usa cuentas sandbox - Crea una cuenta de desarrollador sandbox para probar integraciones

Seguridad

  • Autenticación por token de API - Acceso sencillo basado en tokens para uso personal
  • OAuth 2.0 - Acceso delegado seguro para aplicaciones de terceros
  • Solo HTTPS - Toda la comunicación con la API requiere cifrado TLS
  • Webhooks HTTPS - Los webhooks solo se entregan a endpoints HTTPS
  • Acceso basado en roles - Los permisos de Pipedrive respetan los roles de usuario
  • Certificado SOC 2 - Pipedrive mantiene el cumplimiento SOC 2
  • Cumplimiento del RGPD - Admite solicitudes de exportación y eliminación de datos

Recursos relacionados

Subscribe to updates

developer-docs

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

Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.

Empieza gratis con Brevo