Pipedrive-kobling
Pipedrive-kobling
Koble Pipedrive til Brevo via Tajo for å bygge bro mellom salgspipelinen din og markedsføringsautomatisering. Synkroniser kontakter, avtaler, organisasjoner og aktiviteter for å drive livssykluskampanjer som utløses av endringer i CRM-stadier.
Oversikt
| Egenskap | Verdi |
|---|---|
| Plattform | Pipedrive |
| Kategori | CRM |
| Oppsettskompleksitet | Enkel |
| Offisiell integrasjon | Nei |
| Synkroniserte data | Personer, avtaler, organisasjoner, aktiviteter |
| Tilgjengelige ferdigheter | 8 |
Funksjoner
- Kontaktsynkronisering - Toveis synkronisering av Pipedrive-personer til Brevo-kontakter
- Sporing av avtaletrinn - Utløs Brevo-automatiseringer basert på endringer i avtalepipeline-trinn
- Organisasjonssynkronisering - Mapp Pipedrive-organisasjoner til Brevo-selskapsattributter
- Aktivitetssporing - Videresend Pipedrive-aktiviteter (anrop, e-poster, møter) som Brevo-hendelser
- Egendefinerte felt - Mapp Pipedrive egendefinerte felt til Brevo-kontaktattributter
- Pipeline-rapportering - Hent avtalepipeline-data for markedsføringsattribusjon
- Lead-synkronisering - Importer Pipedrive-leads til Brevo for nurture-kampanjer
- Webhook-automatisering - Sanntidsoppdateringer via Pipedrive webhooks
Forutsetninger
Før du begynner, sørg for at du har:
- En Pipedrive-konto med admin-tilgang
- Pipedrive API-tokenet ditt (finnes under Settings > Personal preferences > API)
- For OAuth-apper: en registrert Pipedrive-app med Client ID og Client Secret
- En Brevo-konto med API-tilgang
- En Tajo-konto med API-legitimasjon
Autentisering
API-token
Den enkleste autentiseringsmetoden. Finn API-tokenet ditt i Pipedrive under Settings > Personal preferences > API.
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"OAuth 2.0 (anbefalt for apper)
For produksjonsapplikasjoner, bruk OAuth 2.0:
# Authorization URLhttps://oauth.pipedrive.com/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI
# Token exchangecurl -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"Etter at du har fått access token:
curl "https://api.pipedrive.com/v1/persons" \ -H "Authorization: Bearer ACCESS_TOKEN"Konfigurasjon
Grunnleggende oppsett
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: 63Mapping av personfelter
Mapp Pipedrive-personfelter til Brevo-kontaktattributter:
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_SIZEMapping av avtaletrinn
Mapp Pipedrive pipeline-trinn til Brevo listetildelinger:
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 listWebhook-konfigurasjon
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"API-endepunkter
| Metode | Endepunkt | Beskrivelse |
|---|---|---|
GET | /v1/persons | List personer |
POST | /v1/persons | Opprett en person |
PUT | /v1/persons/{id} | Oppdater en person |
DELETE | /v1/persons/{id} | Slett en person |
GET | /v1/deals | List avtaler |
POST | /v1/deals | Opprett en avtale |
PUT | /v1/deals/{id} | Oppdater en avtale |
GET | /v1/organizations | List organisasjoner |
POST | /v1/organizations | Opprett en organisasjon |
GET | /v1/activities | List aktiviteter |
POST | /v1/activities | Opprett en aktivitet |
GET | /v1/leads | List leads |
GET | /v1/pipelines | List pipelines |
GET | /v1/stages | List pipeline-trinn |
GET | /v1/itemSearch | Søk på tvers av alle elementer |
POST | /v1/webhooks | Opprett en webhook |
GET | /v1/recents | Hent nylig endrede elementer |
Kodeeksempler
Initialiser Pipedrive-koblingen
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Pipedrive accountawait tajo.connectors.connect('pipedrive', { apiToken: process.env.PIPEDRIVE_API_TOKEN, companyDomain: 'yourcompany'});Synkroniser personer til Brevo
// Fetch persons from Pipedriveconst 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 }Spor endringer i avtaletrinn
// Webhook handler for deal updatesapp.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');});Søk på tvers av Pipedrive
// Global search across persons, deals, and organizationsconst 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 organizationsHastighetsgrenser
| Plan | Grense | Detaljer |
|---|---|---|
| Essential | 80 forespørsler/10 sek | Per API-token |
| Advanced | 100 forespørsler/10 sek | Per API-token |
| Professional | 200 forespørsler/10 sek | Per API-token |
| Power | 200 forespørsler/10 sek | Per API-token |
| Enterprise | 400 forespørsler/10 sek | Per API-token |
| OAuth-apper | 80 forespørsler/2 sek | Per access token |
Ytterligere grenser:
| Ressurs | Grense |
|---|---|
| Per side | Maks 500 poster |
| Webhooks | 40 per konto |
| Bulk-sletting | 100 elementer/forespørsel |
| Søk | Standard hastighetsgrenser |
Rate Limit-headere
Pipedrive returnerer X-RateLimit-Limit-, X-RateLimit-Remaining- og X-RateLimit-Reset-headere. Implementer backoff når X-RateLimit-Remaining nærmer seg null.
Feilsøking
| Problem | Årsak | Løsning |
|---|---|---|
401 Unauthorized | Ugyldig API-token | Generer tokenet på nytt i Pipedrive Settings > API |
403 Forbidden | Kontotillatelser | Sørg for at kontoen har admin-tilgang for API-bruk |
| Personer mangler e-post | Ingen e-post på posten | Filtrer personer med gyldig e-post før synkronisering |
| Egendefinerte felt mapper ikke | Feil feltnøkkel | Bruk Pipedrives feltnøkkel (hash), ikke visningsnavn |
| Webhooks ikke mottatt | Brannmur blokkerer | Sørg for at webhook-URL er offentlig tilgjengelig over HTTPS |
| Dupliserte personer | Flere e-postposter | Bruk Pipedrives merge-API før synkronisering |
429 Too Many Requests | Hastighetsgrense overskredet | Implementer backoff med X-RateLimit-Reset-header |
Beste praksis
- Bruk OAuth for produksjon - Foretrekk OAuth 2.0 fremfor API-tokens for produksjonsapplikasjoner
- Spor endringer i avtaletrinn - Bruk webhooks for å utløse Brevo-automatiseringer ved pipeline-trinnoverganger
- Mapp egendefinerte felt - Bruk Pipedrive egendefinerte feltnøkler (ikke navn) for pålitelig feltmapping
- Håndter paginering - Bruk
start- oglimit-parametere; sjekkmore_items_in_collection - Bruk Recents-endepunktet - Poll
/v1/recentsfor inkrementelle synkroniseringer i stedet for full eksport - Dedupliser før synkronisering - Slå sammen dupliserte personer i Pipedrive før synkronisering til Brevo
- Bruk sandbox-kontoer - Opprett en utvikler-sandbox-konto for testing av integrasjoner
Sikkerhet
- API-tokenautentisering - Enkel tokenbasert tilgang for personlig bruk
- OAuth 2.0 - Sikker delegert tilgang for tredjepartsapplikasjoner
- Kun HTTPS - All API-kommunikasjon krever TLS-kryptering
- Webhook HTTPS - Webhooks leveres kun til HTTPS-endepunkter
- Rollebasert tilgang - Pipedrive-tillatelser respekterer brukerroller
- SOC 2-sertifisert - Pipedrive opprettholder SOC 2-samsvar
- GDPR-samsvar - Støtter dataeksport og sletteforespørsler