Skip to main content

Sync contacts, consent, and segments between KlickTipp and Pipedrive

Workflow preview

Workflow preview
100%
Sync contacts, consent, and segments between KlickTipp and Pipedrive preview
Open on n8n.io

1. Workflow Overview

Community Node Disclaimer This workflow uses KlickTipp community nodes , available for self hosted n8n instances only . Who’s it for Sales and...

Best for

  • CRM automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-klicktipp.klicktipp, n8n-nodes-klicktipp.klicktipptrigger, n8n-nodes-base.pipedrive, n8n-nodes-base.switch, n8n-nodes-base.stickynote, n8n-nodes-base.pipedrivetrigger, n8n-nodes-base.filter, n8n-nodes-base.httprequest

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by KlickTipp.

Original n8n.io source

1.1 Workflow description

Title
Sync contacts, consent, and segments between KlickTipp and Pipedrive
Workflow name
Sync contacts, consent, and segments between KlickTipp and Pipedrive

Community Node Disclaimer

This workflow uses KlickTipp community nodes, available for self-hosted n8n instances only.


Who’s it for

Sales and marketing teams using Pipedrive (Persons) and KlickTipp who want a reliable two-way sync for:

  • Contact profiles (name, email, phone, birthday)
  • Consent/marketing status (subscribed / no consent / unsubscribed)
  • Segmentation (KlickTipp Tags ↔ Pipedrive Labels)

This workflow is ideal if you want to avoid CSV imports, prevent manual updates, and ensure that changes in either platform are reflected in the other — including deletes and consent changes.


How it works

This workflow creates a complete two-way synchronization between KlickTipp and Pipedrive (Persons). Whenever a Person is created, updated, unsubscribed, segmented, or deleted in either system, the workflow mirrors these changes across both platforms — so your CRM and email marketing database always stay aligned.

It is designed for near real-time syncing of contact data, consent state, and segmentation (Tags ↔ Labels), without manual work.

KlickTipp → Pipedrive

Triggered by KlickTipp webhooks / activation tag events via “Contact tagged in KlickTipp”:

  1. Fetch contact details in KlickTipp (Get contact data for tagging) to access tags and custom fields.
  2. Route by contact state (Check subscription):
  • Person does not exist (no stored Pipedrive ID in KlickTipp) and contact is not UnsubscribedCreate a person in Pipedrive.
  • Person exists and contact is not UnsubscribedUpdate a person in Pipedrive.
  • Person exists → unsubscribeUpdate a person and set marketing_status = unsubscribed.
  1. Write the Pipedrive Person ID back to KlickTipp (Add Pipedrive Person ID to KlickTipp contact) to permanently link both records.
  2. Sync consent status:
  • KlickTipp status = Subscribed → Pipedrive marketing_status = subscribed
  • Otherwise → marketing_status = no_consent
  1. Sync birthday safely (timezone-aware):
  • KlickTipp birthday is stored as Unix seconds and converted to YYYY-MM-DD using Europe/Berlin timezone to avoid CET/CEST shifts.
  1. Segmentation: KlickTipp Tags → Pipedrive Labels:
  • Reads KlickTipp tags (Check relevant segment) and assigns Pipedrive label IDs via PATCH:
  • Tag 14054258 → Label 14 (Customer)
  • Tag 14054294 → Label 27 (ABC)

Pipedrive → KlickTipp

Triggered by the Pipedrive Person webhook via “Changes in Pipedrive”:

  1. Fetch the current marketing status (Get marketing status) to decide which consent action to apply in KlickTipp.
  2. Route by sync scenario (Check subscription1):
  • Single Opt-In If no linked KlickTipp ID exists yet and status is not unsubscribed → create contact in KlickTipp via SOI (Create contact with SOI).
  • Form submission → DOI If change_source = api → create contact in KlickTipp via DOI (Create contact with DOI).
  • Update only If linked KlickTipp ID exists and status is not unsubscribed → update the existing KlickTipp subscriber (Update contact changes in KlickTipp).
  • Unsubscribe and update If linked KlickTipp ID exists and status is unsubscribed → unsubscribe the contact (Unsubscribe contact) and then update core fields (Update contact changes in KlickTipp1).
  • Contact deletion If action is delete → delete the KlickTipp contact using the previous email (Delete contact) to remain safe even if the email changed before deletion.
  1. UI-only filtering for SOI path
  • Filter non UI events and deletions ensures the SOI create path processes only UI-driven events (change_source = app) and ignores deletions.
  1. Sync birthday safely (no day shifting)
  • Reads Pipedrive birthday as YYYY-MM-DD from a custom field and converts it to Unix seconds using "T00:00:00Z" to prevent timezone-related day shifts.
  1. Segmentation: Pipedrive Labels → KlickTipp Tags
  • Reads label_ids from Pipedrive (supports array or comma-separated string), normalizes them, then applies tags in KlickTipp (Check relevant segment2):
  • Label 14 (Customer) → Tag 14054258
  • Label 27 (ABC) → Tag 14054294

GDPR Deletion Requests (KlickTipp → Pipedrive)

Triggered by “Contact deletion request triggered” (when a recipient clicks the data deletion link in an email):

  • Immediately deletes the subscriber in KlickTipp.
  • If a linked Pipedrive Person ID exists (field227685), the workflow:
  • Deletes the corresponding Person in Pipedrive.
  • If no Pipedrive ID exists, only the KlickTipp record is removed.

This ensures full GDPR-compliant data removal across both systems.

How to set up

  1. Install the KlickTipp community node in your self-hosted n8n instance.
  2. Create credentials in n8n for:
  • KlickTipp API
  • Pipedrive API (token or OAuth)
  1. In KlickTipp, create a custom field to store the Pipedrive reference:
  • Example used here: Pipedrive | Person ID (mapped as field227685)
  1. In Pipedrive (Person), create custom fields to store:
  • KlickTipp Contact ID (stored via Pipedrive custom properties)
  • Birthday (optional, if you want birthday sync)
  1. Configure your segmentation mapping:
  • Ensure Pipedrive Labels exist and note their IDs (e.g. 14 = Customer, 27 = ABC)
  • Ensure KlickTipp Tags exist and note their IDs (e.g. 14054258, 14054294)
  1. Test both directions:
  • Add a tag in KlickTipp → confirm the Person is created/updated in Pipedrive and labels are assigned.
  • Update a Person in Pipedrive → confirm the subscriber is created/updated/unsubscribed in KlickTipp accordingly.
  1. Activate the workflow.

💡 Pro Tip: Start testing with a single contact and one label/tag mapping first, then expand to more fields and segments.


Requirements

  • Self-hosted n8n instance (community nodes supported)
  • KlickTipp account with API access
  • Pipedrive account with API access
  • Pipedrive Person webhook enabled (create/update/delete events)
  • KlickTipp webhook/activation tag configured to trigger the KlickTipp side

How to customize

  • Add more field mappings (organization, address, custom properties, owner).
  • Extend segmentation rules (more labels/tags, deal-based logic, pipeline-specific tags).
  • Adjust SOI/DOI routing (e.g., force DOI for certain sources or segments).
  • Add audit logging (Google Sheets, database, or Slack alerts on errors).
  • Add safeguards (e.g., skip contacts without email, handle duplicates with additional lookup logic).

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Delete contact

Type / Role
n8n-nodes-klicktipp.klicktipp - klicktipp
Config choices
Version 3

Block 2 - Contact tagged in KlickTipp

Type / Role
n8n-nodes-klicktipp.klicktippTrigger - klicktippTrigger
Config choices
Version 1

Block 3 - Create a person

Type / Role
n8n-nodes-base.pipedrive - pipedrive
Config choices
Version 1

Block 4 - Update a person

Type / Role
n8n-nodes-base.pipedrive - pipedrive
Config choices
Version 1

Block 5 - Update contact changes in KlickTipp

Type / Role
n8n-nodes-klicktipp.klicktipp - klicktipp
Config choices
Version 3

Block 6 - Create contact with DOI

Type / Role
n8n-nodes-klicktipp.klicktipp - klicktipp
Config choices
Version 3

Block 7 - Tag contact in KlickTipp2

Type / Role
n8n-nodes-klicktipp.klicktipp - klicktipp
Config choices
Version 3

Block 8 - Tag contact in KlickTipp3

Type / Role
n8n-nodes-klicktipp.klicktipp - klicktipp
Config choices
Version 3

Block 9 - Check relevant segment2

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.4

Block 10 - Add Pipedrive Person ID to KlickTipp contact

Type / Role
n8n-nodes-klicktipp.klicktipp - klicktipp
Config choices
Version 3

Block 11 - Get contact data for tagging

Type / Role
n8n-nodes-klicktipp.klicktipp - klicktipp
Config choices
Version 3

Block 12 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Sticky Note9

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Sticky Note8

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Sticky Note10

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Get marketing status

Type / Role
n8n-nodes-base.pipedrive - pipedrive
Config choices
Version 1

Block 19 - Create contact with SOI

Type / Role
n8n-nodes-klicktipp.klicktipp - klicktipp
Config choices
Version 3

Block 20 - Changes in Pipedrive1

Type / Role
n8n-nodes-base.pipedriveTrigger - pipedriveTrigger
Config choices
Version 1.1

Block 21 - Sticky Note13

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 22 - Filter non UI events and deletions

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.3

Block 23 - Check subscription

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.4

Block 24 - Check subscription1

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.4

Showing the first 24 of 36 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Sync contacts, consent, and segments between KlickTipp and Pipedrive
Complexity advanced
Nodes 36
Categories CRM
Author KlickTipp
Published 05 Feb 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/13233/13233.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Sync contacts, consent, and segments between KlickTipp and Pipedrive do?

Community Node Disclaimer This workflow uses KlickTipp community nodes , available for self hosted n8n instances only . Who’s it for Sales and...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your CRM use case.