---
title: "Connettore Pipedrive"
description: "Guida completa all'integrazione di Pipedrive per sincronizzare deal, contatti, organizzazioni e dati della pipeline con Brevo tramite Tajo."
url: https://tajo.io/it/docs/connectors/crm/pipedrive/
markdown: https://tajo.io/it/docs/connectors/crm/pipedrive.md
lang: it-IT
robots: noindex
---

Richiedi l’accesso anticipato

Inserisci il tuo nome e indirizzo email aziendale. Ti invieremo un link per confermare la richiesta di accesso a Tajo.

# Connettore Pipedrive

Stato del connettore: Pianificato Non ancora realizzato. Oggi Tajo non esegue questo connettore.

| Campo di origine | Campo di destinazione | Valore di esempio |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Collega Pipedrive a Brevo tramite Tajo per unire la tua sales pipeline all’automazione marketing. Sincronizza contatti, deal, organizzazioni e attività per alimentare campagne di lifecycle attivate dai cambiamenti di stage del CRM.

## Panoramica

| Proprietà | Valore |
| --- | --- |
| **Piattaforma** | Pipedrive |
| **Categoria** | CRM |
| **Complessità di setup** | Facile |
| **Integrazione ufficiale** | No |
| **Dati sincronizzati** | Persone, Deal, Organizzazioni, Attività |
| **Skill disponibili** | 8 |

## Funzionalità

- **Sync contatti** - Sincronizzazione bidirezionale delle persone Pipedrive con i contatti Brevo
- **Tracciamento stage deal** - Attiva automazioni Brevo basate sui cambiamenti di stage della pipeline
- **Sync organizzazioni** - Mappa le organizzazioni Pipedrive agli attributi azienda di Brevo
- **Tracciamento attività** - Inoltra le attività Pipedrive (chiamate, email, riunioni) come eventi Brevo
- **Campi personalizzati** - Mappa i campi personalizzati Pipedrive agli attributi di contatto Brevo
- **Reportistica pipeline** - Estrai i dati della pipeline deal per l’attribuzione marketing
- **Sync lead** - Importa i lead Pipedrive in Brevo per le campagne di nurture
- **Automazione webhook** - Aggiornamenti in tempo reale tramite i webhook di Pipedrive

## Prerequisiti

Prima di iniziare, assicurati di avere:

1. Un account Pipedrive con accesso admin
2. Il tuo Pipedrive API Token (lo trovi in Settings > Personal preferences > API)
3. Per le app OAuth: un’app Pipedrive registrata con Client ID e Client Secret
4. Un account Brevo con accesso API
5. Un account Tajo con credenziali API

## Autenticazione

### API Token

Il metodo di autenticazione più semplice. Trova il tuo API Token in Pipedrive sotto Settings > Personal preferences > API.

```bash
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"
```

### OAuth 2.0 (consigliato per le app)

Per le applicazioni in produzione, 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"
```

Dopo aver ottenuto l’access token:

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

## Configurazione

### Setup di base

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

### Mappatura campi persona

Mappa i campi persona di Pipedrive agli attributi di contatto 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
```

### Mappatura stage deal

Mappa gli stage della pipeline Pipedrive alle assegnazioni di liste 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
```

### Configurazione webhook

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

## Endpoint API

| Metodo | Endpoint | Descrizione |
| --- | --- | --- |
| `GET` | `/v1/persons` | Elenca le persone |
| `POST` | `/v1/persons` | Crea una persona |
| `PUT` | `/v1/persons/{id}` | Aggiorna una persona |
| `DELETE` | `/v1/persons/{id}` | Elimina una persona |
| `GET` | `/v1/deals` | Elenca i deal |
| `POST` | `/v1/deals` | Crea un deal |
| `PUT` | `/v1/deals/{id}` | Aggiorna un deal |
| `GET` | `/v1/organizations` | Elenca le organizzazioni |
| `POST` | `/v1/organizations` | Crea un’organizzazione |
| `GET` | `/v1/activities` | Elenca le attività |
| `POST` | `/v1/activities` | Crea un’attività |
| `GET` | `/v1/leads` | Elenca i lead |
| `GET` | `/v1/pipelines` | Elenca le pipeline |
| `GET` | `/v1/stages` | Elenca gli stage della pipeline |
| `GET` | `/v1/itemSearch` | Cerca tra tutti gli elementi |
| `POST` | `/v1/webhooks` | Crea un webhook |
| `GET` | `/v1/recents` | Ottieni elementi modificati di recente |

## Esempi di codice

### Inizializza il connettore 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'
});
```

### Sincronizza le persone 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 }
```

### Traccia cambiamenti di stage deal

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

### Ricerca globale in 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
```

## Limiti di velocità

| Piano | Limite | Dettagli |
| --- | --- | --- |
| **Essential** | 80 richieste/10 sec | Per API token |
| **Advanced** | 100 richieste/10 sec | Per API token |
| **Professional** | 200 richieste/10 sec | Per API token |
| **Power** | 200 richieste/10 sec | Per API token |
| **Enterprise** | 400 richieste/10 sec | Per API token |
| **App OAuth** | 80 richieste/2 sec | Per access token |

Limiti aggiuntivi:

| Risorsa | Limite |
| --- | --- |
| **Per pagina** | Max 500 record |
| **Webhook** | 40 per account |
| **Bulk delete** | 100 elementi/richiesta |
| **Ricerca** | Limiti di velocità standard |

Header dei limiti di velocità

Pipedrive restituisce gli header `X-RateLimit-Limit`, `X-RateLimit-Remaining` e `X-RateLimit-Reset`. Implementa il backoff quando `X-RateLimit-Remaining` si avvicina a zero.

## Risoluzione dei problemi

| Problema | Causa | Soluzione |
| --- | --- | --- |
| `401 Unauthorized` | API token non valido | Rigenera il token in Pipedrive Settings > API |
| `403 Forbidden` | Permessi account | Assicurati che l’account abbia accesso admin per l’uso dell’API |
| Persone senza email | Nessuna email nel record | Filtra le persone con email valida prima di sincronizzare |
| Campi personalizzati non mappati | Chiave campo errata | Usa la field key di Pipedrive (hash), non il nome visualizzato |
| Webhook non ricevuti | Firewall che blocca | Assicurati che l’URL del webhook sia accessibile pubblicamente via HTTPS |
| Persone duplicate | Record email multipli | Usa l’API di merge di Pipedrive prima di sincronizzare |
| `429 Too Many Requests` | Limite di velocità superato | Implementa il backoff usando l’header `X-RateLimit-Reset` |

## Best practice

1. **Usa OAuth per la produzione** - Preferisci OAuth 2.0 agli API token per le applicazioni in produzione
2. **Traccia i cambiamenti di stage deal** - Usa i webhook per attivare automazioni Brevo sulle transizioni di stage
3. **Mappa i campi personalizzati** - Usa le field key di Pipedrive (non i nomi) per una mappatura affidabile
4. **Gestisci la paginazione** - Usa i parametri `start` e `limit`; controlla `more_items_in_collection`
5. **Usa l’endpoint Recents** - Interroga `/v1/recents` per sync incrementali invece di export completi
6. **Deduplica prima della sync** - Unisci le persone duplicate in Pipedrive prima di sincronizzare con Brevo
7. **Usa account sandbox** - Crea un account developer sandbox per testare le integrazioni

## Sicurezza

- **Autenticazione API token** - Accesso semplice basato su token per uso personale
- **OAuth 2.0** - Accesso delegato sicuro per applicazioni di terze parti
- **Solo HTTPS** - Tutte le comunicazioni API richiedono cifratura TLS
- **Webhook HTTPS** - I webhook vengono consegnati solo a endpoint HTTPS
- **Accesso basato sui ruoli** - I permessi Pipedrive rispettano i ruoli utente
- **Certificazione SOC 2** - Pipedrive mantiene la conformità SOC 2
- **Conformità GDPR** - Supporta export dati e richieste di cancellazione

## Risorse correlate

- [Connettore Brevo](https://tajo.io/it/docs/connectors/marketing/brevo)
- [Connettore Shopify](https://tajo.io/it/docs/connectors/ecommerce/shopify)
- [Skill Customer Sync](https://tajo.io/it/docs/skills/data-sync/customer-sync)
- [API Contatti Brevo](https://tajo.io/it/docs/contact-management)
