Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

Konektor Pipedrive

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

PropertiNilai
PlatformPipedrive
KategoriCRM
Kompleksitas setupMudah
Integrasi resmiTidak
Data yang disinkronkanPerson, Deal, Organisasi, Aktivitas
Skill tersedia8

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.

Terminal window
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:

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"

Setelah memperoleh access token:

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

Konfigurasi

Setup dasar

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:

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:

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

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

MethodEndpointDeskripsi
GET/v1/personsMenampilkan daftar person
POST/v1/personsMembuat person
PUT/v1/persons/{id}Memperbarui person
DELETE/v1/persons/{id}Menghapus person
GET/v1/dealsMenampilkan daftar deal
POST/v1/dealsMembuat deal
PUT/v1/deals/{id}Memperbarui deal
GET/v1/organizationsMenampilkan daftar organisasi
POST/v1/organizationsMembuat organisasi
GET/v1/activitiesMenampilkan daftar aktivitas
POST/v1/activitiesMembuat aktivitas
GET/v1/leadsMenampilkan daftar lead
GET/v1/pipelinesMenampilkan daftar pipeline
GET/v1/stagesMenampilkan daftar tahap pipeline
GET/v1/itemSearchMencari di seluruh item
POST/v1/webhooksMembuat webhook
GET/v1/recentsMengambil item yang baru diubah

Contoh kode

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

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

Melacak perubahan tahap deal

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

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

Rate limit

PaketBatasDetail
Essential80 request/10 detikPer API token
Advanced100 request/10 detikPer API token
Professional200 request/10 detikPer API token
Power200 request/10 detikPer API token
Enterprise400 request/10 detikPer API token
OAuth app80 request/2 detikPer access token

Batasan tambahan:

ResourceBatas
Per halamanMaksimal 500 record
Webhook40 per akun
Bulk delete100 item/request
PencarianMengikuti 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

MasalahPenyebabSolusi
401 UnauthorizedAPI token tidak validBuat ulang token di Pipedrive Settings > API
403 ForbiddenIzin akun kurangPastikan akun memiliki akses admin untuk penggunaan API
Person tanpa emailTidak ada email pada recordSaring person dengan email valid sebelum sinkronisasi
Field kustom tidak terpetakanField key salahGunakan field key Pipedrive (hash), bukan nama tampilan
Webhook tidak diterimaDiblokir firewallPastikan URL webhook dapat diakses publik melalui HTTPS
Person duplikatBeberapa record dengan email samaGunakan merge API Pipedrive sebelum sinkronisasi
429 Too Many RequestsRate limit terlampauiTerapkan 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

Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

deteksi otomatis
Asisten AI

Halo! Tanyakan apa saja tentang dokumentasi.