Pipedrive-koppling
Kopplingens status: Planerad Inte byggd än. Tajo kör inte den här kopplingen i dag.
Illustration · exempeldata
Exempel på synkronisering
Källa
Pipedrive
Kopplingens status: Planerad
Mål
Ditt andra verktyg
Kopplingens status: Eget verktyg
Fältmappning
| Källfält | Målfält | Exempelvärde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Utkast
- Granska en post
- Godkänn den här versionen
Status gäller varje enskild koppling och garanterar inte att den här synkroniseringen är klar. Fälten är illustrativa. Kontrollera det faktiska schemat och behörigheterna innan synkronisering körs.
Anslut Pipedrive till Brevo via Tajo för att koppla din säljpipeline till marknadsautomation. Synka kontakter, affärer, organisationer och aktiviteter för att driva livscykelkampanjer som utlöses av ändringar i CRM-stadier.
Översikt
| Egenskap | Värde |
|---|---|
| Plattform | Pipedrive |
| Kategori | CRM |
| Installationskomplexitet | Enkel |
| Officiell integration | Nej |
| Data som synkas | Personer, affärer, organisationer, aktiviteter |
| Tillgängliga skills | 8 |
Funktioner
- Kontaktsynkronisering - Dubbelriktad synk av personer i Pipedrive till kontakter i Brevo
- Uppföljning av affärsstadier - Utlös Brevo-automationer baserat på ändringar i pipelinestadier
- Synkronisering av organisationer - Mappa Pipedrive-organisationer till Brevos företagsattribut
- Aktivitetsspårning - Vidarebefordra Pipedrive-aktiviteter (samtal, e-post, möten) som Brevo-händelser
- Anpassade fält - Mappa Pipedrives anpassade fält till Brevo-kontaktattribut
- Pipelinerapportering - Hämta data från affärspipeline för marknadsföringsattribution
- Leadsynkronisering - Importera Pipedrive-leads till Brevo för nurture-kampanjer
- Webhook-automation - Realtidsuppdateringar via Pipedrives webhooks
Förutsättningar
Innan du börjar, se till att du har:
- Ett Pipedrive-konto med administratörsåtkomst
- Din API-token från Pipedrive (finns under Settings > Personal preferences > API)
- För OAuth-appar: en registrerad Pipedrive-app med Client ID och Client Secret
- Ett Brevo-konto med API-åtkomst
- Ett Tajo-konto med API-uppgifter
Autentisering
API-token
Den enklaste autentiseringsmetoden. Hitta din API-token i Pipedrive under Settings > Personal preferences > API.
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"OAuth 2.0 (rekommenderas för appar)
För produktionsapplikationer, använd 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"Efter att du har fått åtkomsttoken:
curl "https://api.pipedrive.com/v1/persons" \ -H "Authorization: Bearer ACCESS_TOKEN"Konfiguration
Grundinställning
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: 63Mappning av personfält
Mappa fält för personer i Pipedrive till Brevo-kontaktattribut:
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_SIZEMappning av affärsstadier
Mappa Pipedrives pipelinestadier till Brevo-listtilldelningar:
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-konfiguration
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-endpoints
| Metod | Endpoint | Beskrivning |
|---|---|---|
GET | /v1/persons | Lista personer |
POST | /v1/persons | Skapa en person |
PUT | /v1/persons/{id} | Uppdatera en person |
DELETE | /v1/persons/{id} | Radera en person |
GET | /v1/deals | Lista affärer |
POST | /v1/deals | Skapa en affär |
PUT | /v1/deals/{id} | Uppdatera en affär |
GET | /v1/organizations | Lista organisationer |
POST | /v1/organizations | Skapa en organisation |
GET | /v1/activities | Lista aktiviteter |
POST | /v1/activities | Skapa en aktivitet |
GET | /v1/leads | Lista leads |
GET | /v1/pipelines | Lista pipelines |
GET | /v1/stages | Lista pipelinestadier |
GET | /v1/itemSearch | Sök över alla objekt |
POST | /v1/webhooks | Skapa en webhook |
GET | /v1/recents | Hämta senast ändrade objekt |
Kodexempel
Initiera Pipedrive-kopplingen
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'});Synka personer till 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 }Följ ändringar i affärsstadier
// 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 över 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 organizationsHastighetsbegränsningar
| Plan | Gräns | Detaljer |
|---|---|---|
| Essential | 80 förfrågningar/10 sek | Per API-token |
| Advanced | 100 förfrågningar/10 sek | Per API-token |
| Professional | 200 förfrågningar/10 sek | Per API-token |
| Power | 200 förfrågningar/10 sek | Per API-token |
| Enterprise | 400 förfrågningar/10 sek | Per API-token |
| OAuth-appar | 80 förfrågningar/2 sek | Per åtkomsttoken |
Ytterligare gränser:
| Resurs | Gräns |
|---|---|
| Per sida | Max 500 poster |
| Webhooks | 40 per konto |
| Bulk delete | 100 objekt/förfrågan |
| Sök | Standardhastighetsbegränsningar |
Headers för hastighetsbegränsning
Pipedrive returnerar headers X-RateLimit-Limit, X-RateLimit-Remaining och X-RateLimit-Reset. Implementera backoff när X-RateLimit-Remaining närmar sig noll.
Felsökning
| Problem | Orsak | Lösning |
|---|---|---|
401 Unauthorized | Ogiltig API-token | Återgenerera token i Pipedrive Settings > API |
403 Forbidden | Kontobehörigheter | Se till att kontot har administratörsåtkomst för API-användning |
| Personer saknar e-post | Ingen e-post på posten | Filtrera bort personer utan giltig e-post innan synkronisering |
| Anpassade fält mappas inte | Fel fältnyckel | Använd Pipedrives fältnyckel (hash), inte visningsnamnet |
| Webhooks tas inte emot | Brandvägg blockerar | Se till att webhook-URL:en är offentligt tillgänglig över HTTPS |
| Dubblettpersoner | Flera poster med samma e-post | Använd Pipedrives merge-API innan synkronisering |
429 Too Many Requests | Hastighetsbegränsning överskriden | Implementera backoff med hjälp av X-RateLimit-Reset-headern |
Bästa praxis
- Använd OAuth för produktion - Föredra OAuth 2.0 framför API-tokens för produktionsapplikationer
- Följ ändringar i affärsstadier - Använd webhooks för att utlösa Brevo-automationer vid övergångar mellan pipelinestadier
- Mappa anpassade fält - Använd Pipedrives fältnycklar (inte namn) för pålitlig fältmappning
- Hantera paginering - Använd parametrarna
startochlimit; kontrolleramore_items_in_collection - Använd Recents-endpointen - Polla
/v1/recentsför inkrementell synk istället för fullständiga exporter - Deduplicera innan synk - Slå ihop dubblettpersoner i Pipedrive innan du synkar till Brevo
- Använd sandbox-konton - Skapa ett utvecklarsandboxkonto för att testa integrationer
Säkerhet
- API-tokenautentisering - Enkel tokenbaserad åtkomst för personligt bruk
- OAuth 2.0 - Säker delegerad åtkomst för tredjepartsapplikationer
- Endast HTTPS - All API-kommunikation kräver TLS-kryptering
- Webhook HTTPS - Webhooks levereras endast till HTTPS-endpoints
- Rollbaserad åtkomst - Pipedrive-behörigheter respekterar användarroller
- SOC 2-certifierad - Pipedrive upprätthåller SOC 2-efterlevnad
- GDPR-efterlevnad - Stöder dataexport och raderingsförfrågningar