---
title: "Konektor Pipedrive"
description: "Panduan lengkap integrasi Pipedrive untuk menyinkronkan deal, kontak, organisasi, dan data pipeline dengan Brevo melalui Tajo."
url: https://tajo.io/in/docs/connectors/crm/pipedrive/
markdown: https://tajo.io/in/docs/connectors/crm/pipedrive.md
lang: id-ID
robots: noindex
---

Ajukan akses awal

Masukkan nama depan dan alamat email kerja Anda. Kami akan mengirim tautan untuk mengonfirmasi permintaan akses Tajo.

# Konektor Pipedrive

Status konektor: Direncanakan Belum dibangun. Tajo belum menjalankan konektor ini.

| Field sumber | Field tujuan | Nilai contoh |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Hubungkan Pipedrive ke Brevo melalui Tajo untuk menjembatani sales pipeline Anda dengan otomatisasi marketing. Sinkronkan kontak, deal, organisasi, dan aktivitas untuk menjalankan kampanye lifecycle yang dipicu oleh perubahan tahap CRM.

## Ikhtisar

| Properti | Nilai |
| --- | --- |
| **Platform** | Pipedrive |
| **Kategori** | CRM |
| **Kompleksitas setup** | Mudah |
| **Integrasi resmi** | Tidak |
| **Data yang disinkronkan** | Person, Deal, Organisasi, Aktivitas |
| **Skill tersedia** | 8 |

## Fitur

- **Sinkronisasi kontak** - Sinkronisasi dua arah dari person Pipedrive ke kontak Brevo
- **Pelacakan tahap deal** - Picu otomatisasi Brevo berdasarkan perubahan tahap pipeline deal
- **Sinkronisasi organisasi** - Petakan organisasi Pipedrive ke atribut perusahaan di Brevo
- **Pelacakan aktivitas** - Teruskan aktivitas Pipedrive (panggilan, email, meeting) sebagai event Brevo
- **Field kustom** - Petakan field kustom Pipedrive ke atribut kontak Brevo
- **Pelaporan pipeline** - Tarik data pipeline deal untuk atribusi marketing
- **Sinkronisasi lead** - Impor lead Pipedrive ke Brevo untuk kampanye nurture
- **Otomatisasi webhook** - Pembaruan real-time melalui webhook Pipedrive

## Prasyarat

Sebelum memulai, pastikan Anda memiliki:

1. Akun Pipedrive dengan akses admin
2. API Token Pipedrive Anda (tersedia di Settings > Personal preferences > API)
3. Untuk OAuth app: aplikasi Pipedrive terdaftar dengan Client ID dan Client Secret
4. Akun Brevo dengan akses API
5. Akun Tajo dengan kredensial API

## Autentikasi

### API Token

Metode autentikasi paling sederhana. Temukan API Token Anda di Pipedrive melalui Settings > Personal preferences > API.

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

### OAuth 2.0 (direkomendasikan untuk aplikasi)

Untuk aplikasi produksi, gunakan 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"
```

Setelah memperoleh access token:

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

## Konfigurasi

### Setup dasar

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

### Pemetaan field person

Petakan field person Pipedrive ke atribut kontak 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
```

### Pemetaan tahap deal

Petakan tahap pipeline Pipedrive ke penetapan daftar 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
```

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

| Method | Endpoint | Deskripsi |
| --- | --- | --- |
| `GET` | `/v1/persons` | Menampilkan daftar person |
| `POST` | `/v1/persons` | Membuat person |
| `PUT` | `/v1/persons/{id}` | Memperbarui person |
| `DELETE` | `/v1/persons/{id}` | Menghapus person |
| `GET` | `/v1/deals` | Menampilkan daftar deal |
| `POST` | `/v1/deals` | Membuat deal |
| `PUT` | `/v1/deals/{id}` | Memperbarui deal |
| `GET` | `/v1/organizations` | Menampilkan daftar organisasi |
| `POST` | `/v1/organizations` | Membuat organisasi |
| `GET` | `/v1/activities` | Menampilkan daftar aktivitas |
| `POST` | `/v1/activities` | Membuat aktivitas |
| `GET` | `/v1/leads` | Menampilkan daftar lead |
| `GET` | `/v1/pipelines` | Menampilkan daftar pipeline |
| `GET` | `/v1/stages` | Menampilkan daftar tahap pipeline |
| `GET` | `/v1/itemSearch` | Mencari di seluruh item |
| `POST` | `/v1/webhooks` | Membuat webhook |
| `GET` | `/v1/recents` | Mengambil item yang baru diubah |

## Contoh kode

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

### Menyinkronkan person ke 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 }
```

### Melacak perubahan tahap 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');
});
```

### Pencarian di seluruh 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
```

## Rate limit

| Paket | Batas | Detail |
| --- | --- | --- |
| **Essential** | 80 request/10 detik | Per API token |
| **Advanced** | 100 request/10 detik | Per API token |
| **Professional** | 200 request/10 detik | Per API token |
| **Power** | 200 request/10 detik | Per API token |
| **Enterprise** | 400 request/10 detik | Per API token |
| **OAuth app** | 80 request/2 detik | Per access token |

Batasan tambahan:

| Resource | Batas |
| --- | --- |
| **Per halaman** | Maksimal 500 record |
| **Webhook** | 40 per akun |
| **Bulk delete** | 100 item/request |
| **Pencarian** | Mengikuti rate limit standar |

Header rate limit

Pipedrive mengembalikan header `X-RateLimit-Limit`, `X-RateLimit-Remaining`, dan `X-RateLimit-Reset`. Terapkan backoff ketika `X-RateLimit-Remaining` mendekati nol.

## Pemecahan masalah

| Masalah | Penyebab | Solusi |
| --- | --- | --- |
| `401 Unauthorized` | API token tidak valid | Buat ulang token di Pipedrive Settings > API |
| `403 Forbidden` | Izin akun kurang | Pastikan akun memiliki akses admin untuk penggunaan API |
| Person tanpa email | Tidak ada email pada record | Saring person dengan email valid sebelum sinkronisasi |
| Field kustom tidak terpetakan | Field key salah | Gunakan field key Pipedrive (hash), bukan nama tampilan |
| Webhook tidak diterima | Diblokir firewall | Pastikan URL webhook dapat diakses publik melalui HTTPS |
| Person duplikat | Beberapa record dengan email sama | Gunakan merge API Pipedrive sebelum sinkronisasi |
| `429 Too Many Requests` | Rate limit terlampaui | Terapkan backoff menggunakan header `X-RateLimit-Reset` |

## Praktik terbaik

1. **Gunakan OAuth untuk produksi** - Utamakan OAuth 2.0 dibanding API token untuk aplikasi produksi
2. **Lacak perubahan tahap deal** - Gunakan webhook untuk memicu otomatisasi Brevo pada transisi tahap pipeline
3. **Petakan field kustom** - Gunakan field key kustom Pipedrive (bukan nama) agar pemetaan field andal
4. **Tangani paginasi** - Gunakan parameter `start` dan `limit`; periksa `more_items_in_collection`
5. **Gunakan endpoint Recents** - Polling `/v1/recents` untuk sinkronisasi inkremental alih-alih ekspor penuh
6. **Deduplikasi sebelum sinkronisasi** - Gabungkan person duplikat di Pipedrive sebelum sinkronisasi ke Brevo
7. **Gunakan akun sandbox** - Buat akun developer sandbox untuk menguji integrasi

## Keamanan

- **Autentikasi API token** - Akses berbasis token sederhana untuk penggunaan pribadi
- **OAuth 2.0** - Akses terdelegasi yang aman untuk aplikasi pihak ketiga
- **Hanya HTTPS** - Seluruh komunikasi API mewajibkan enkripsi TLS
- **Webhook HTTPS** - Webhook hanya dikirim ke endpoint HTTPS
- **Akses berbasis peran** - Izin Pipedrive menghormati peran pengguna
- **Bersertifikat SOC 2** - Pipedrive memelihara kepatuhan SOC 2
- **Kepatuhan GDPR** - Mendukung permintaan ekspor dan penghapusan data

## Sumber terkait

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