---
title: "Conector de Pipedrive"
description: "Guía completa de integración con Pipedrive para sincronizar negocios, contactos, organizaciones y datos del pipeline con Brevo a través de Tajo."
url: https://tajo.io/es/docs/connectors/crm/pipedrive/
markdown: https://tajo.io/es/docs/connectors/crm/pipedrive.md
lang: es-ES
robots: noindex
---

Solicita acceso anticipado

Escribe tu nombre y dirección de correo de trabajo. Te enviaremos un enlace para confirmar tu solicitud de acceso a Tajo.

# Conector de Pipedrive

Estado del conector: Planificado Aún no está construido. Tajo no ejecuta este conector hoy.

| Campo de origen | Campo de destino | Valor de ejemplo |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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

| Propiedad | Valor |
| --- | --- |
| **Plataforma** | Pipedrive |
| **Categoría** | CRM |
| **Complejidad de configuración** | Fácil |
| **Integración oficial** | No |
| **Datos sincronizados** | Personas, Negocios, Organizaciones, Actividades |
| **Skills disponibles** | 8 |

## 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.

```bash
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:

```bash
# 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:

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

## Configuración

### Configuración básica

```yaml
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:

```yaml
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:

```yaml
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

```yaml
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étodo | Endpoint | Descripción |
| --- | --- | --- |
| `GET` | `/v1/persons` | Listar personas |
| `POST` | `/v1/persons` | Crear una persona |
| `PUT` | `/v1/persons/{id}` | Actualizar una persona |
| `DELETE` | `/v1/persons/{id}` | Eliminar una persona |
| `GET` | `/v1/deals` | Listar negocios |
| `POST` | `/v1/deals` | Crear un negocio |
| `PUT` | `/v1/deals/{id}` | Actualizar un negocio |
| `GET` | `/v1/organizations` | Listar organizaciones |
| `POST` | `/v1/organizations` | Crear una organización |
| `GET` | `/v1/activities` | Listar actividades |
| `POST` | `/v1/activities` | Crear una actividad |
| `GET` | `/v1/leads` | Listar leads |
| `GET` | `/v1/pipelines` | Listar pipelines |
| `GET` | `/v1/stages` | Listar etapas del pipeline |
| `GET` | `/v1/itemSearch` | Búsqueda global entre elementos |
| `POST` | `/v1/webhooks` | Crear un webhook |
| `GET` | `/v1/recents` | Obtener los últimos elementos modificados |

## Ejemplos de código

### Inicializar el conector de Pipedrive

```javascript
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

```javascript
// 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

```javascript
// 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

```javascript
// Global search across persons, deals, and organizations
const query = encodeURIComponent('jane@example.com');
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

| Plan | Límite | Detalles |
| --- | --- | --- |
| **Essential** | 80 peticiones/10 s | Por token de API |
| **Advanced** | 100 peticiones/10 s | Por token de API |
| **Professional** | 200 peticiones/10 s | Por token de API |
| **Power** | 200 peticiones/10 s | Por token de API |
| **Enterprise** | 400 peticiones/10 s | Por token de API |
| **Apps OAuth** | 80 peticiones/2 s | Por token de acceso |

Límites adicionales:

| Recurso | Límite |
| --- | --- |
| **Por página** | 500 registros máx. |
| **Webhooks** | 40 por cuenta |
| **Eliminación masiva** | 100 elementos/petición |
| **Búsqueda** | Lí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

| Problema | Causa | Solución |
| --- | --- | --- |
| `401 Unauthorized` | Token de API no válido | Regenera el token en Pipedrive Settings > API |
| `403 Forbidden` | Permisos de la cuenta | Asegúrate de que la cuenta tenga acceso de administrador para la API |
| Personas sin email | Sin email en el registro | Filtra las personas con email válido antes de sincronizar |
| Campos personalizados sin asignar | Clave de campo incorrecta | Usa la clave (hash) del campo de Pipedrive, no el nombre visible |
| Webhooks no recibidos | Firewall bloqueando | Asegúrate de que la URL del webhook sea accesible públicamente por HTTPS |
| Personas duplicadas | Registros con emails repetidos | Usa la API de fusión de Pipedrive antes de sincronizar |
| `429 Too Many Requests` | Límite de velocidad superado | Aplica 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

- [Conector de Brevo](https://tajo.io/es/docs/connectors/marketing/brevo)
- [Conector de Shopify](https://tajo.io/es/docs/connectors/ecommerce/shopify)
- [Skill de sincronización de clientes](https://tajo.io/es/docs/skills/data-sync/customer-sync)
- [API de contactos de Brevo](https://tajo.io/es/docs/contact-management)
