{"workflow":{"id":13233,"name":"Sync contacts, consent, and segments between KlickTipp and Pipedrive","views":4,"recentViews":0,"totalViews":4,"createdAt":"2026-02-05T15:22:17.691Z","description":"![Pipedrive to KlickTipp Integration.png](fileId:4435)\n\n## **Community Node Disclaimer**\nThis workflow uses **KlickTipp community nodes**, available for **self-hosted n8n instances only**.\n\n---\n\n## **Who’s it for**\nSales and marketing teams using **Pipedrive (Persons)** and **KlickTipp** who want a **reliable two-way sync** for:\n- Contact profiles (name, email, phone, birthday)\n- Consent/marketing status (subscribed / no consent / unsubscribed)\n- Segmentation (KlickTipp **Tags** ↔ Pipedrive **Labels**)\n\nThis 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.\n\n---\n\n## **How it works**\nThis workflow creates a **complete two-way synchronization** between **KlickTipp** and **Pipedrive (Persons)**.  \nWhenever 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.\n\nIt is designed for near real-time syncing of contact data, consent state, and segmentation (Tags ↔ Labels), without manual work.\n\n### **KlickTipp → Pipedrive**\nTriggered by **KlickTipp webhooks / activation tag events** via **“Contact tagged in KlickTipp”**:\n\n1. **Fetch contact details** in KlickTipp (**Get contact data for tagging**) to access tags and custom fields.\n2. **Route by contact state** (**Check subscription**):\n   - **Person does not exist** (no stored Pipedrive ID in KlickTipp) and contact is not *Unsubscribed* → **Create a person** in Pipedrive.\n   - **Person exists** and contact is not *Unsubscribed* → **Update a person** in Pipedrive.\n   - **Person exists → unsubscribe** → **Update a person** and set `marketing_status = unsubscribed`.\n3. **Write the Pipedrive Person ID back to KlickTipp** (**Add Pipedrive Person ID to KlickTipp contact**) to permanently link both records.\n4. **Sync consent status**:\n   - KlickTipp `status = Subscribed` → Pipedrive `marketing_status = subscribed`\n   - Otherwise → `marketing_status = no_consent`\n5. **Sync birthday safely (timezone-aware)**:\n   - KlickTipp birthday is stored as Unix seconds and converted to `YYYY-MM-DD` using `Europe/Berlin` timezone to avoid CET/CEST shifts.\n6. **Segmentation: KlickTipp Tags → Pipedrive Labels**:\n   - Reads KlickTipp tags (**Check relevant segment**) and assigns Pipedrive label IDs via PATCH:\n     - Tag `14054258` → Label `14` (**Customer**)\n     - Tag `14054294` → Label `27` (**ABC**)\n\n---\n\n### **Pipedrive → KlickTipp**\nTriggered by the **Pipedrive Person webhook** via **“Changes in Pipedrive”**:\n\n1. **Fetch the current marketing status** (**Get marketing status**) to decide which consent action to apply in KlickTipp.\n2. **Route by sync scenario** (**Check subscription1**):\n   - **Single Opt-In**  \n     If no linked KlickTipp ID exists yet and status is not `unsubscribed` → create contact in KlickTipp via **SOI** (**Create contact with SOI**).\n   - **Form submission → DOI**  \n     If `change_source = api` → create contact in KlickTipp via **DOI** (**Create contact with DOI**).\n   - **Update only**  \n     If linked KlickTipp ID exists and status is not `unsubscribed` → update the existing KlickTipp subscriber (**Update contact changes in KlickTipp**).\n   - **Unsubscribe and update**  \n     If linked KlickTipp ID exists and status is `unsubscribed` → unsubscribe the contact (**Unsubscribe contact**) and then update core fields (**Update contact changes in KlickTipp1**).\n   - **Contact deletion**  \n     If action is `delete` → delete the KlickTipp contact using the **previous email** (**Delete contact**) to remain safe even if the email changed before deletion.\n3. **UI-only filtering for SOI path**\n   - **Filter non UI events and deletions** ensures the SOI create path processes only UI-driven events (`change_source = app`) and ignores deletions.\n4. **Sync birthday safely (no day shifting)**\n   - 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.\n5. **Segmentation: Pipedrive Labels → KlickTipp Tags**\n   - Reads `label_ids` from Pipedrive (supports array or comma-separated string), normalizes them, then applies tags in KlickTipp (**Check relevant segment2**):\n     - Label `14` (**Customer**) → Tag `14054258`\n     - Label `27` (**ABC**) → Tag `14054294`\n\n---\n### GDPR Deletion Requests (KlickTipp → Pipedrive)\nTriggered by **“Contact deletion request triggered”** (when a recipient clicks the data deletion link in an email):\n\n- Immediately deletes the subscriber in **KlickTipp**.\n- If a linked **Pipedrive Person ID** exists (`field227685`), the workflow:\n  - Deletes the corresponding Person in **Pipedrive**.\n- If no Pipedrive ID exists, only the KlickTipp record is removed.\n\nThis ensures full GDPR-compliant data removal across both systems.\n\n## **How to set up**\n1. Install the **KlickTipp community node** in your self-hosted n8n instance.\n2. Create credentials in n8n for:\n   - **KlickTipp API**\n   - **Pipedrive API** (token or OAuth)\n3. In KlickTipp, create a custom field to store the Pipedrive reference:\n   - Example used here: `Pipedrive | Person ID` (mapped as `field227685`)\n4. In Pipedrive (Person), create custom fields to store:\n   - **KlickTipp Contact ID** (stored via Pipedrive custom properties)\n   - **Birthday** (optional, if you want birthday sync)\n5. Configure your segmentation mapping:\n   - Ensure Pipedrive Labels exist and note their IDs (e.g. `14 = Customer`, `27 = ABC`)\n   - Ensure KlickTipp Tags exist and note their IDs (e.g. `14054258`, `14054294`)\n6. Test both directions:\n   - Add a tag in KlickTipp → confirm the Person is created/updated in Pipedrive and labels are assigned.\n   - Update a Person in Pipedrive → confirm the subscriber is created/updated/unsubscribed in KlickTipp accordingly.\n7. Activate the workflow.\n\n💡 *Pro Tip:* Start testing with a single contact and one label/tag mapping first, then expand to more fields and segments.\n\n---\n\n## **Requirements**\n- Self-hosted **n8n** instance (community nodes supported)\n- **KlickTipp** account with API access\n- **Pipedrive** account with API access\n- Pipedrive Person webhook enabled (create/update/delete events)\n- KlickTipp webhook/activation tag configured to trigger the KlickTipp side\n\n---\n\n## **How to customize**\n- Add more field mappings (organization, address, custom properties, owner).\n- Extend segmentation rules (more labels/tags, deal-based logic, pipeline-specific tags).\n- Adjust SOI/DOI routing (e.g., force DOI for certain sources or segments).\n- Add audit logging (Google Sheets, database, or Slack alerts on errors).\n- Add safeguards (e.g., skip contacts without email, handle duplicates with additional lookup logic).\n","workflow":{"meta":{"instanceId":"95b3ab5a70ab1c8c1906357a367f1b236ef12a1409406fd992f60255f0f95f85","templateCredsSetupCompleted":true},"nodes":[{"id":"e401f569-314d-44ff-b95c-afdb58b478a3","name":"Delete contact","type":"n8n-nodes-klicktipp.klicktipp","notes":"This node deletes the according contact in KlickTipp.","position":[5344,1520],"parameters":{"resource":"subscriber","operation":"delete","lookupEmail":"={{ $('Changes in Pipedrive1').item.json.previous.emails[0].value }}"},"credentials":{"klickTippApi":{"id":"JE06nhellgn1HfZo","name":"KlickTipp DEMO account"}},"notesInFlow":true,"typeVersion":3,"alwaysOutputData":true},{"id":"48b7dfa3-8206-4dd4-a534-f30be14a6111","name":"Contact tagged in KlickTipp","type":"n8n-nodes-klicktipp.klicktippTrigger","notes":"This node triggers when a webhook is executed in a KlickTipp campaign or via the activation Tag.\n\nHey I am a KlickTipp Link to a webhook → ","position":[4224,448],"webhookId":"0b382f31-c74b-4418-bb89-caaa09915282","parameters":{"path":"0b382f31-c74b-4418-bb89-caaa09915282"},"credentials":{"klickTippApi":{"id":"K9JyBdCM4SZc1cXl","name":"DEMO KlickTipp account"}},"notesInFlow":true,"typeVersion":1},{"id":"b3a469af-8724-4586-a88d-5312025e829b","name":"Create a person","type":"n8n-nodes-base.pipedrive","notes":"This node creates a contact in Pipedrive if it did not exist before.","position":[5344,288],"parameters":{"name":"={{ $('Contact tagged in KlickTipp').item.json.fullname }}","resource":"person","additionalFields":{"email":["={{ $('Contact tagged in KlickTipp').item.json.email }}"],"phone":["={{ $('Contact tagged in KlickTipp').item.json.fieldMobilePhone }}"],"customProperties":{"property":[{"name":"6924b0cdabee707d314eb4c5490812112250f72c","value":"={{\n(() => {\n  // Read birthday Unix timestamp (seconds) from current item\n  const birthdayTs = $json.fieldBirthday;\n\n  // If birthday is missing / null / empty → return empty string\n  if (!birthdayTs) {\n    return \"\";\n  }\n\n  // Convert Unix timestamp (seconds) → milliseconds\n  const date = new Date(birthdayTs * 1000);\n\n  // Format as YYYY-MM-DD using a locale that enforces this format\n  // and apply Europe/Berlin timezone (handles CET / CEST automatically)\n  return date.toLocaleDateString('en-CA', {\n    timeZone: 'Europe/Berlin',\n  });\n})()\n}}"},{"name":"19b905eba214f66b11571a1a0827d3a974cd0b2b","value":"={{ $('Contact tagged in KlickTipp').item.json.id }}"},{"name":"95f97718036275e2013646b2c7dfb96462e17a94","value":"={{\n  $('Contact tagged in KlickTipp').item.json.status === 'Subscribed'\n    ? 29\n    : 28\n}}"},{"name":"e53c2563a1b9d108535d55c14b4ea23ef27e6e97","value":"KlickTipp"}]}}},"credentials":{"pipedriveApi":{"id":"BJ2A2EyvhYAS8xwc","name":"Pipedrive account 18.02.26"}},"notesInFlow":true,"typeVersion":1},{"id":"527e72de-be34-4519-a110-32e75a5eb4a8","name":"Update a person","type":"n8n-nodes-base.pipedrive","notes":"This node updates the contact in case it exists already in Pipedrive.","position":[5344,464],"parameters":{"personId":"={{ $('Get contact data for tagging').item.json.field227685 }}","resource":"person","operation":"update","updateFields":{"name":"={{ $('Contact tagged in KlickTipp').item.json.fullname }}","email":["={{ $('Contact tagged in KlickTipp').item.json.email }}"],"customProperties":{"property":[{"name":"95cac42f721633965550204f2604728aad5844bf","value":"={{\n  // Convert Unix timestamp (seconds) to milliseconds and create a Date object\n  new Date(\n    $('Contact tagged in KlickTipp').item.json.fieldBirthday * 1000\n  )\n    // Format the date as YYYY-MM-DD using a locale that enforces this format\n    // and apply the Europe/Berlin timezone (handles CET/CEST automatically)\n    .toLocaleDateString('en-CA', { timeZone: 'Europe/Berlin' })\n}}"},{"name":"7effe3f5fcf6d3f8e059ce4fedde89be0122ddac","value":"={{ $('Contact tagged in KlickTipp').item.json.id }}"},{"name":"eacea8b67518c4b50fef84ac07c3b939a3ad5abf","value":"={{\n  $('Contact tagged in KlickTipp').item.json.status === 'Subscribed'\n    ? 29\n    : 28\n}}"}]}}},"credentials":{"pipedriveApi":{"id":"BJ2A2EyvhYAS8xwc","name":"Pipedrive account 03.02.26"}},"notesInFlow":true,"typeVersion":1},{"id":"cedb091a-6770-44e8-92f8-37c3c3199303","name":"Update contact changes in KlickTipp","type":"n8n-nodes-klicktipp.klicktipp","notes":"This node brings the changes on the contact from Pipedrive to KlickTipp.","position":[5344,1296],"parameters":{"email":"={{ $('Changes in Pipedrive1').item.json.data.emails[0].value }}","fields":{"dataFields":[{"fieldId":"fieldFirstName","fieldValue":"={{ $('Changes in Pipedrive1').item.json.data.first_name }}"},{"fieldId":"fieldLastName","fieldValue":"={{ $('Changes in Pipedrive1').item.json.data.last_name }}"},{"fieldId":"fieldBirthday","fieldValue":"={{\n  (() => {\n    // Read birthday from the custom field\n    // Expected format: YYYY-MM-DD\n    const bday =\n      $('Changes in Pipedrive1').item.json.data.custom_fields[\"95cac42f721633965550204f2604728aad5844bf\"]?.value;\n\n    // If the birthday does not exist, return null\n    // → n8n will treat this as an empty value\n    if (!bday) {\n      return \"\";\n    }\n    // Convert birthday to a Unix timestamp (seconds)\n    // \"T00:00:00Z\" forces UTC midnight to avoid timezone day shifts\n    return Math.floor(\n      Date.parse(bday + \"T00:00:00Z\") / 1000\n    );\n  })()\n}}"},{"fieldId":"field227685","fieldValue":"={{ $('Changes in Pipedrive1').item.json.data.id }}"}]},"resource":"subscriber","operation":"update","subscriberId":"={{ $('Changes in Pipedrive1').item.json.data.custom_fields[\"7effe3f5fcf6d3f8e059ce4fedde89be0122ddac\"].value }}","identifierType":"id"},"credentials":{"klickTippApi":{"id":"JE06nhellgn1HfZo","name":"KlickTipp DEMO account"}},"notesInFlow":true,"typeVersion":3},{"id":"7cffadf2-546e-41cc-86ac-34bf8b5fca22","name":"Create contact with DOI","type":"n8n-nodes-klicktipp.klicktipp","notes":"This node brings the changes on the contact or the new contact creation from Pipedrive to KlickTipp.","position":[5344,1088],"parameters":{"email":"={{ $('Changes in Pipedrive1').item.json.data.emails[0].value }}","tagId":"14029585","fields":{"dataFields":[{"fieldId":"fieldFirstName","fieldValue":"={{ $('Changes in Pipedrive1').item.json.data.first_name }}"},{"fieldId":"fieldLastName","fieldValue":"={{ $('Changes in Pipedrive1').item.json.data.last_name }}"},{"fieldId":"field227685","fieldValue":"={{ $('Changes in Pipedrive1').item.json.data.id }}"}]},"listId":"358895","resource":"subscriber","operation":"subscribe"},"credentials":{"klickTippApi":{"id":"JE06nhellgn1HfZo","name":"KlickTipp DEMO account"}},"notesInFlow":true,"typeVersion":3},{"id":"ad611a93-6e92-4fe7-be92-68fd6686a45f","name":"Tag contact in KlickTipp2","type":"n8n-nodes-klicktipp.klicktipp","notes":"This node adds the contact to the according segment.","position":[6320,1216],"parameters":{"email":"={{ $('Changes in Pipedrive1').item.json.data.emails[0].value }}","tagId":["14054258"],"resource":"contact-tagging"},"credentials":{"klickTippApi":{"id":"K9JyBdCM4SZc1cXl","name":"DEMO KlickTipp account"}},"notesInFlow":true,"typeVersion":3},{"id":"c57ab268-dfae-40f6-b60c-16268c8d2206","name":"Tag contact in KlickTipp3","type":"n8n-nodes-klicktipp.klicktipp","notes":"This node adds the contact to the according segment.","position":[6320,1392],"parameters":{"email":"={{ $('Changes in Pipedrive1').item.json.data.emails[0].value }}","tagId":["14054294"],"resource":"contact-tagging"},"credentials":{"klickTippApi":{"id":"K9JyBdCM4SZc1cXl","name":"DEMO KlickTipp account"}},"notesInFlow":true,"typeVersion":3},{"id":"b855f37c-f31c-4abe-9c14-0c34f4f3a4a2","name":"Check relevant segment2","type":"n8n-nodes-base.switch","notes":"This node checks the Pipedrive Labels for Segmentation in KlickTipp via Tags.","position":[6064,1296],"parameters":{"rules":{"values":[{"outputKey":"Label Customer exists. and Label ABC not","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"156126c5-016a-4cdc-845e-4ab6d0ecccc7","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{\n(() => {\n  // Read label IDs from \"Changes in Pipedrive\"\n  // Can be either:\n  // - string like \"14,27\"\n  // - array like [14, 27]\n  const raw = $('Changes in Pipedrive1').item.json.data.label_ids ?? [];\n\n  // Normalize to array of numbers\n  const labelIds = Array.isArray(raw)\n    ? raw.map(Number)\n    : String(raw)\n        .split(',')\n        .map(s => Number(s.trim()))\n        .filter(n => !Number.isNaN(n));\n\n  // TRUE if label 14 is present\n  return labelIds.includes(14);\n})()\n}}","rightValue":"=14"}]},"renameOutput":true},{"outputKey":"Label ABC exists and Label Customer not","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a7a8d286-2311-4534-8cf9-ae1dca366cb7","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{\n(() => {\n  // Read label IDs from \"Changes in Pipedrive\"\n  // Can be either:\n  // - string like \"14,27\"\n  // - array like [14, 27]\n  const raw = $('Changes in Pipedrive1').item.json.data.label_ids ?? [];\n\n  // Normalize to array of numbers\n  const labelIds = Array.isArray(raw)\n    ? raw.map(Number)\n    : String(raw)\n        .split(',')\n        .map(s => Number(s.trim()))\n        .filter(n => !Number.isNaN(n));\n\n  // TRUE if label 27 is present\n  return labelIds.includes(27);\n})()\n}}","rightValue":"27"}]},"renameOutput":true}]},"options":{"allMatchingOutputs":true}},"notesInFlow":true,"typeVersion":3.4},{"id":"2552714b-97dd-4e05-a8d8-3bcc36fa8de2","name":"Add Pipedrive Person ID to KlickTipp contact","type":"n8n-nodes-klicktipp.klicktipp","notes":"This node saves the Salesforce ID inside of KlickTipp to facilitate further synchronisation.","position":[5808,288],"parameters":{"fields":{"dataFields":[{"fieldId":"field227685","fieldValue":"={{ $json.id }}"}]},"resource":"subscriber","operation":"update","lookupEmail":"={{ $('Contact tagged in KlickTipp').item.json.email }}"},"credentials":{"klickTippApi":{"id":"K9JyBdCM4SZc1cXl","name":"DEMO KlickTipp account"}},"notesInFlow":true,"typeVersion":3},{"id":"8beb736d-1434-4791-be62-c4c24e6ab8dc","name":"Get contact data for tagging","type":"n8n-nodes-klicktipp.klicktipp","notes":"This node fetches the contact in order to get details to process the Tags.","position":[4448,448],"parameters":{"resource":"subscriber","operation":"get","subscriberId":"={{ $('Contact tagged in KlickTipp').item.json.id }}","identifierType":"id"},"credentials":{"klickTippApi":{"id":"K9JyBdCM4SZc1cXl","name":"DEMO KlickTipp account"}},"notesInFlow":true,"typeVersion":3},{"id":"19cb572c-0d6a-4aa8-af0c-697f46c752aa","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[4176,176],"parameters":{"color":7,"width":432,"height":1792,"content":"## 1. Get contact data."},"typeVersion":1},{"id":"5f86dbab-479c-4eab-9970-5738f0f88b9b","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[4624,176],"parameters":{"color":7,"width":304,"height":1792,"content":"## 2. Route by subscription."},"typeVersion":1},{"id":"9c5b6b0e-68b5-4532-a148-04c0026fe84d","name":"Sticky Note9","type":"n8n-nodes-base.stickyNote","position":[4944,176],"parameters":{"color":7,"width":272,"height":1792,"content":"## 3. Filter contacts."},"typeVersion":1},{"id":"153bc030-88d3-451a-8389-7767ddf16ba0","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[5232,176],"parameters":{"color":7,"width":304,"height":1792,"content":"## 4. Transfer contact data."},"typeVersion":1},{"id":"c26166c7-2fed-4398-8fcd-51920ac053a7","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[5552,176],"parameters":{"color":7,"width":400,"height":1792,"content":"## 5. Save contact ID or subscription status\n"},"typeVersion":1},{"id":"f0bc0849-c2ae-4b31-b0ed-601faa0fdf00","name":"Sticky Note10","type":"n8n-nodes-base.stickyNote","position":[5968,176],"parameters":{"color":7,"width":544,"height":1792,"content":"## 6. Segmentation."},"typeVersion":1},{"id":"fe8ec5ef-1f4c-4450-95b9-982e427a2622","name":"Get marketing status","type":"n8n-nodes-base.pipedrive","notes":"Get the marketing status to decide which status to use in KlickTipp.","onError":"continueRegularOutput","position":[4448,1280],"parameters":{"personId":"={{ $json.data.id }}","resource":"person","operation":"get"},"credentials":{"pipedriveApi":{"id":"BJ2A2EyvhYAS8xwc","name":"Pipedrive account 03.02.26"}},"notesInFlow":true,"typeVersion":1},{"id":"e8cd2cf2-12d5-4b20-ba01-6cee32fcd0ba","name":"Create contact with SOI","type":"n8n-nodes-klicktipp.klicktipp","notes":"This node brings the changes on the contact or the new contact creation from Pipedrive to KlickTipp.","position":[5344,880],"parameters":{"email":"={{ $('Changes in Pipedrive1').item.json.data.emails[0].value }}","tagId":"14029585","fields":{"dataFields":[{"fieldId":"fieldFirstName","fieldValue":"={{ $('Changes in Pipedrive1').item.json.data.first_name }}"},{"fieldId":"fieldLastName","fieldValue":"={{ $('Changes in Pipedrive1').item.json.data.last_name }}"},{"fieldId":"fieldBirthday","fieldValue":"={{\n  (() => {\n    // Read birthday from the custom field\n    // Expected format: YYYY-MM-DD\n    const bday =\n      $('Changes in Pipedrive1').item.json.data.custom_fields[\"95cac42f721633965550204f2604728aad5844bf\"]?.value;\n\n    // If the birthday does not exist, return null\n    // → n8n will treat this as an empty value\n    if (!bday) {\n      ;\nreturn \"\"\n    }\n    // Convert birthday to a Unix timestamp (seconds)\n    // \"T00:00:00Z\" forces UTC midnight to avoid timezone day shifts\n    return Math.floor(\n      Date.parse(bday + \"T00:00:00Z\") / 1000\n    );\n  })()\n}}"},{"fieldId":"field227685","fieldValue":"={{ $('Changes in Pipedrive1').item.json.data.id }}"}]},"listId":"364353","resource":"subscriber","operation":"subscribe"},"credentials":{"klickTippApi":{"id":"JE06nhellgn1HfZo","name":"KlickTipp DEMO account"}},"notesInFlow":true,"typeVersion":3},{"id":"22703157-fc36-4010-bc9e-daf6bdc99429","name":"Changes in Pipedrive1","type":"n8n-nodes-base.pipedriveTrigger","position":[4224,1280],"webhookId":"98219056-72e2-43c3-a2e6-e4f6502f3d74","parameters":{"entity":"person"},"credentials":{"pipedriveApi":{"id":"BJ2A2EyvhYAS8xwc","name":"Pipedrive account 03.02.26"}},"typeVersion":1.1},{"id":"b69f68e1-55cf-4db8-9bbc-6934562b743e","name":"Sticky Note13","type":"n8n-nodes-base.stickyNote","position":[3440,176],"parameters":{"width":727,"height":2284,"content":"Community Node Disclaimer: This workflow uses KlickTipp community nodes.\n\n## Introduction\nThis workflow creates a complete two-way synchronization between **KlickTipp** and **Pipedrive (Persons)**.  \nWhenever 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.\n\nIt’s built for near real-time syncing of contact profiles, consent/marketing status, and segmentation (Tags ↔ Labels), without manual updates or CSV imports.\n\n## How it works\n\n### KlickTipp → Pipedrive\nTriggered by **KlickTipp webhooks / tagging events** (“Contact tagged in KlickTipp”):\n- Fetches the full KlickTipp contact to evaluate tags and fields.\n- Routes by whether the Pipedrive Person already exists (based on stored Pipedrive ID in KlickTipp).\n  - **Person does not exist (and not Unsubscribed)** → creates the Person in Pipedrive.\n  - **Person exists (and not Unsubscribed)** → updates the Person in Pipedrive.\n  - **Person exists → unsubscribe** → updates the Person in Pipedrive and sets the custom field value of the `KlickTipp marketing_status = unsubscribed`.\n- Writes the **Pipedrive Person ID** back into KlickTipp (custom field) to permanently link both records.\n- Mirrors consent status:\n  - KlickTipp `status = Subscribed` → Pipedrive `marketing_status = subscribed`\n  - otherwise → Pipedrive `marketing_status = no_consent`\n- Handles birthday mapping from KlickTipp (Unix seconds) to Pipedrive date:\n  - Converts timestamp → YYYY-MM-DD using `Europe/Berlin` timezone to avoid CET/CEST shifts.\n\n### Pipedrive → KlickTipp\nTriggered by the **Pipedrive Person webhook** (“Changes in Pipedrive”):\n1) Fetches the Person (“Get marketing status”) to read the current `marketing_status`.\n2) Routes logic via “Check subscription1”:\n- **Single Opt-In**  \n  If no linked KlickTipp ID exists yet → create in KlickTipp via **SOI** (UI changes only).\n- **Update only**  \n  If linked KlickTipp ID exists → update in KlickTipp.\n- **Form submission → DOI**  \n  If the change source is `api` → create in KlickTipp via **DOI**.\n- **Contact deletion**  \n  If action is `delete` → delete contact in KlickTipp using the **previous email** (safe if email changed).\n\nUI-only filtering:\n- The “Filter non UI events and deletions” node ensures the SOI create path only processes UI-driven changes (`change_source = app`) and ignores deletions.\n\nBirthday mapping from Pipedrive to KlickTipp:\n- Reads birthday from a Pipedrive custom field (YYYY-MM-DD) and converts to Unix seconds using `\"T00:00:00Z\"` to prevent day shifting.\n\n### Segmentation: Tags ↔ Labels\n- **KlickTipp Tags → Pipedrive Labels**  \n  Checks KlickTipp `tags` and assigns Pipedrive labels via PATCH:\n  - Tag `14054258` → Label `14` (Customer)\n  - Tag `14054294` → Label `27` (ABC)\n- **Pipedrive Labels → KlickTipp Tags**  \n  Reads `label_ids` from Pipedrive (supports array or comma-string), normalizes, then applies tags:\n  - Label `14` → Tag `14054258`\n  - Label `27` → Tag `14054294`\n\n### GDPR Deletion Requests (KlickTipp → Pipedrive)\nTriggered by **“Contact deletion request triggered”** (when a recipient clicks the data deletion link in an email):\n\n- Immediately deletes the subscriber in **KlickTipp**.\n- If a linked **Pipedrive Person ID** exists (`field227685`), the workflow:\n  - Deletes the corresponding Person in **Pipedrive**.\n- If no Pipedrive ID exists, only the KlickTipp record is removed.\n\nThis ensures full GDPR-compliant data removal across both systems.\n\n## Setup Instructions\n\n### 1) KlickTipp Preparation\n- Create a **custom field** to store the Pipedrive reference:\n  - `Pipedrive | Person ID` (e.g. mapped to `field227685` in this workflow)\n- Create Tags for segmentation (matching the mapping you want):\n  - Example: Customer / ABC tags used here.\n- Configure a webhook/activation tag to trigger “Contact tagged in KlickTipp” if you want KlickTipp → Pipedrive updates via campaigns.\n\n### 2) Pipedrive Preparation\n- Create custom fields (Person) to store:\n  - `KlickTipp ID` (stored in the workflow via a custom property)\n  - Birthday (optional, if you store birthday in a custom field)\n- Create / configure Labels and note their IDs:\n  - Example: Label 14 = Customer, Label 27 = ABC\n- Create a webhook for Person events (create/update/delete).\n\n### 3) Credential Configuration\n- Connect your **Pipedrive** account (API token / OAuth depending on your setup).\n- Connect your **KlickTipp** account (API credentials required).\n\n## Customization\n- Extend mapping nodes with more fields (phone, address, organization, additional custom properties).\n- Adjust SOI/DOI routing (e.g. use DOI more broadly if required).\n- Add additional segmentation branches for further Labels/Tags.\n"},"typeVersion":1},{"id":"29a1e84b-8816-4206-a566-090bcfdb8dd1","name":"Filter non UI events and deletions","type":"n8n-nodes-base.filter","notes":"This node filters the deletions and the form submissions to only process data from the webhook that was created via the UI.","position":[5040,880],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"26dcbf80-75a3-4614-bdca-47e2c4f519bc","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('Changes in Pipedrive1').item.json.meta.change_source }}","rightValue":"app"},{"id":"c5b82b4f-784c-4f55-b7d7-4a29f896d28b","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $('Changes in Pipedrive1').item.json.meta.action }}","rightValue":"delete"}]}},"notesInFlow":true,"typeVersion":2.3},{"id":"f22cd785-eb7c-49af-ab7e-da28aca5a05c","name":"Check subscription","type":"n8n-nodes-base.switch","notes":"This node checks the KlickTipp subscription status.","position":[4720,448],"parameters":{"rules":{"values":[{"outputKey":"Person does not exist","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"156126c5-016a-4cdc-845e-4ab6d0ecccc7","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ !$json.field227685 }}","rightValue":"14054258"}]},"renameOutput":true},{"outputKey":"Person exists","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a7a8d286-2311-4534-8cf9-ae1dca366cb7","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ !!$json.field227685 }}","rightValue":"14054294"}]},"renameOutput":true}]},"options":{"allMatchingOutputs":false}},"notesInFlow":true,"typeVersion":3.4},{"id":"7400e461-730e-4281-8a5f-4b2acc3389ab","name":"Check subscription1","type":"n8n-nodes-base.switch","notes":"This node checks the KlickTipp subscription status.","position":[4720,1248],"parameters":{"rules":{"values":[{"outputKey":"Single Opt-In","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"156126c5-016a-4cdc-845e-4ab6d0ecccc7","operator":{"type":"string","operation":"notExists","singleValue":true},"leftValue":"={{ $json['7effe3f5fcf6d3f8e059ce4fedde89be0122ddac'] }}","rightValue":"subscribed"}]},"renameOutput":true},{"outputKey":"Form submission → DOI","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"976c1de1-4a7b-4ee6-b8c2-dd441f535a4d","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $('Changes in Pipedrive1').item.json.meta.change_source }}","rightValue":"api"}]},"renameOutput":true},{"outputKey":"Update only","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"b5fccc04-f234-478a-9caf-b4b08ea7036d","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{ $json['7effe3f5fcf6d3f8e059ce4fedde89be0122ddac'] }}","rightValue":""}]},"renameOutput":true},{"outputKey":"Contact deletion","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"5e12b277-f9fe-4eda-816c-b629bf7b6ccb","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('Changes in Pipedrive1').item.json.meta.action }}","rightValue":"delete"}]},"renameOutput":true}]},"options":{"allMatchingOutputs":true}},"notesInFlow":true,"typeVersion":3.4},{"id":"92eaca10-3d9c-4c9f-9aff-0f19b2c43c0c","name":"Check relevant segment","type":"n8n-nodes-base.switch","notes":"This node checks the Pipedrive Labels for Segmentation in KlickTipp via Tags.","position":[6064,464],"parameters":{"rules":{"values":[{"outputKey":"Label Customer exists and Label ABC not","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"156126c5-016a-4cdc-845e-4ab6d0ecccc7","operator":{"type":"array","operation":"contains","rightType":"any"},"leftValue":"={{ $('Get contact data for tagging').item.json.tags }}","rightValue":"=14054258"}]},"renameOutput":true},{"outputKey":"Label ABC exists and Label Customer not","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a7a8d286-2311-4534-8cf9-ae1dca366cb7","operator":{"type":"array","operation":"contains","rightType":"any"},"leftValue":"={{ $('Get contact data for tagging').item.json.tags }}","rightValue":"14054294"}]},"renameOutput":true}]},"options":{"allMatchingOutputs":true}},"notesInFlow":true,"typeVersion":3.4},{"id":"259372f5-b7e3-46f2-b6bf-f65241783121","name":"Assign Label Customer","type":"n8n-nodes-base.httpRequest","notes":"This node segments the contact in Pipedrive by setting the according Labels.","position":[6320,384],"parameters":{"url":"=https://klicktipp3.pipedrive.com/api/v2/persons/{{ $('Contact tagged in KlickTipp').item.json.field227685 ? $('Contact tagged in KlickTipp').item.json.field227685 : $('Create a person').item.json.id }}","method":"PATCH","options":{},"jsonBody":"{\"label_ids\":[14]}","sendBody":true,"specifyBody":"json","authentication":"predefinedCredentialType","nodeCredentialType":"pipedriveApi"},"credentials":{"pipedriveApi":{"id":"BJ2A2EyvhYAS8xwc","name":"Pipedrive account 03.02.26"}},"notesInFlow":true,"typeVersion":4.3},{"id":"b8ca26d5-0acd-4bae-9c7e-48f2e735c91f","name":"Assign Label ABC","type":"n8n-nodes-base.httpRequest","notes":"This node segments the contact in Pipedrive by setting the according Labels.","position":[6320,560],"parameters":{"url":"=https://klicktipp3.pipedrive.com/api/v2/persons/{{ $('Contact tagged in KlickTipp').item.json.field227685 ? $('Contact tagged in KlickTipp').item.json.field227685 : $('Create a person').item.json.id }}","method":"PATCH","options":{},"jsonBody":"{\"label_ids\":[27]}","sendBody":true,"specifyBody":"json","authentication":"predefinedCredentialType","nodeCredentialType":"pipedriveApi"},"credentials":{"pipedriveApi":{"id":"BJ2A2EyvhYAS8xwc","name":"Pipedrive account 03.02.26"}},"notesInFlow":true,"typeVersion":4.3},{"id":"b714eaf0-728e-417a-bafd-8807e59ffdd2","name":"Add KlickTipp contact ID to Pipedrive","type":"n8n-nodes-base.pipedrive","notes":"This node updates the contact in case it exists already in Pipedrive.","position":[5808,880],"parameters":{"personId":"={{ $('Changes in Pipedrive1').item.json.data.id }}","resource":"person","operation":"update","updateFields":{"customProperties":{"property":[{"name":"7effe3f5fcf6d3f8e059ce4fedde89be0122ddac","value":"={{ $json.id }}"},{"name":"eacea8b67518c4b50fef84ac07c3b939a3ad5abf","value":"29"}]}}},"credentials":{"pipedriveApi":{"id":"BJ2A2EyvhYAS8xwc","name":"Pipedrive account 03.02.26"}},"notesInFlow":true,"typeVersion":1},{"id":"59b086ee-0f03-48a6-825d-f33353cb74ec","name":"Add KlickTipp contact ID to Pipedrive1","type":"n8n-nodes-base.pipedrive","notes":"This node updates the contact in case it exists already in Pipedrive.","position":[5808,1088],"parameters":{"personId":"={{ $('Changes in Pipedrive1').item.json.data.id }}","resource":"person","operation":"update","updateFields":{"customProperties":{"property":[{"name":"7effe3f5fcf6d3f8e059ce4fedde89be0122ddac","value":"={{ $json.id }}"},{"name":"eacea8b67518c4b50fef84ac07c3b939a3ad5abf","value":"28"}]}}},"credentials":{"pipedriveApi":{"id":"BJ2A2EyvhYAS8xwc","name":"Pipedrive account 03.02.26"}},"notesInFlow":true,"typeVersion":1},{"id":"e63ecf2c-338d-407e-be36-0202b87a47da","name":"Tag contact for first transactional mail","type":"n8n-nodes-klicktipp.klicktipp","notes":"This node adds the contact to the according segment.","position":[6320,880],"parameters":{"email":"={{ $('Changes in Pipedrive1').item.json.data.emails[0].value }}","tagId":["14152568"],"resource":"contact-tagging"},"credentials":{"klickTippApi":{"id":"K9JyBdCM4SZc1cXl","name":"DEMO KlickTipp account"}},"notesInFlow":true,"typeVersion":3},{"id":"a008f32f-b662-4ef4-bf26-f9ab3ad9fd6f","name":"Contact deletion request triggered","type":"n8n-nodes-klicktipp.klicktippTrigger","notes":"This node is triggered when a recipient of an email is clicking on the unsubscription link and requesting the deletion of data.","position":[4224,1760],"webhookId":"77e920ed-b328-431f-9e51-e27e279898da","parameters":{},"credentials":{"klickTippApi":{"id":"K9JyBdCM4SZc1cXl","name":"DEMO KlickTipp account"}},"notesInFlow":true,"typeVersion":1},{"id":"813abb15-038e-4c31-bf3a-e4de5292629b","name":"Only delete Pipedrive contacts","type":"n8n-nodes-base.filter","notes":"This node filters out all non Pipedrive deletion requests.","position":[5024,1760],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"fd5e83c0-d61e-459f-9420-45ecbc7fbfe8","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{ $json.field227685 }}","rightValue":""}]}},"notesInFlow":true,"typeVersion":2.3},{"id":"a83c59c2-946f-4477-a826-e11a4ada91d3","name":"Delete contact1","type":"n8n-nodes-base.pipedrive","notes":"This node deletes the contact that has requested the deletion via KlickTipp in Pipedrive.","position":[5344,1760],"parameters":{"personId":"={{ $('Contact deletion request triggered').item.json.field227685 }}","resource":"person","operation":"delete"},"credentials":{"pipedriveApi":{"id":"BJ2A2EyvhYAS8xwc","name":"Pipedrive account 03.02.26"}},"notesInFlow":true,"typeVersion":1},{"id":"b7810884-759c-441e-b83f-2546ece5a438","name":"Get subscription status","type":"n8n-nodes-klicktipp.klicktipp","notes":"This node fetches the KlickTipp subscription status.","position":[5600,1296],"parameters":{"resource":"subscriber","operation":"get","subscriberId":"={{ $('Changes in Pipedrive1').item.json.data.custom_fields[\"7effe3f5fcf6d3f8e059ce4fedde89be0122ddac\"].value }}","identifierType":"id"},"credentials":{"klickTippApi":{"id":"K9JyBdCM4SZc1cXl","name":"DEMO KlickTipp account"}},"notesInFlow":true,"typeVersion":3},{"id":"3a7cd6ca-7710-46e3-a569-60513bbd96e5","name":"Add KlickTipp subscription status to Pipedrive","type":"n8n-nodes-base.pipedrive","notes":"This node updates the contact in case it exists already in Pipedrive.","position":[5808,1296],"parameters":{"personId":"={{ $('Changes in Pipedrive1').item.json.data.id }}","resource":"person","operation":"update","updateFields":{"customProperties":{"property":[{"name":"eacea8b67518c4b50fef84ac07c3b939a3ad5abf","value":"={{\n/*\n Map contact status to numeric ID\n Opt-In Pending → 28\n Subscribed     → 29\n Unsubscribed   → 30\n*/\n\n$json.status === 'Opt-In Pending' ? 28 :\n$json.status === 'Subscribed' ? 29 :\n$json.status === 'Unsubscribed' ? 30 :\nnull\n}}"}]}}},"credentials":{"pipedriveApi":{"id":"BJ2A2EyvhYAS8xwc","name":"Pipedrive account 03.02.26"}},"notesInFlow":true,"typeVersion":1},{"id":"0b861925-e69d-41a8-b715-45e516a6bfdd","name":"Filter contact creation via API","type":"n8n-nodes-base.filter","notes":"This node filters the deletions and the form submissions to only process data from the webhook that was created via the UI.","position":[5040,1088],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"26dcbf80-75a3-4614-bdca-47e2c4f519bc","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('Changes in Pipedrive1').item.json.meta.change_source }}","rightValue":"app"},{"id":"c5b82b4f-784c-4f55-b7d7-4a29f896d28b","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $('Changes in Pipedrive1').item.json.meta.action }}","rightValue":"delete"},{"id":"4f0c64d1-a8c6-4d38-ae77-c48f555b22d3","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.e53c2563a1b9d108535d55c14b4ea23ef27e6e97 }}","rightValue":"KlickTipp"}]}},"notesInFlow":true,"typeVersion":2.3}],"pinData":{"Changes in Pipedrive1":[{"data":{"id":4,"name":"RicardoKlünter","label":null,"emails":[{"value":"ricardo.kluenter+blockmocjk@klicktipptest.com","primary":true}],"org_id":null,"phones":[{"value":"NONUMBERINKT","primary":true}],"add_time":"2026-02-19T14:25:53.000Z","owner_id":29580921,"label_ids":[],"last_name":"","first_name":"RicardoKlünter","visible_to":"3","update_time":null,"custom_fields":{"19b905eba214f66b11571a1a0827d3a974cd0b2b":{"type":"varchar","value":"175927712"},"6924b0cdabee707d314eb4c5490812112250f72c":{"type":"date","value":"1970-01-01"},"95f97718036275e2013646b2c7dfb96462e17a94":{"id":29,"type":"enum"},"e53c2563a1b9d108535d55c14b4ea23ef27e6e97":{"type":"varchar","value":"KlickTipp"}}},"meta":{"id":"e5e25b0b-2d80-4209-bda2-8c9cd256ceda","host":"klicktipp.pipedrive.com","type":"application","action":"create","entity":"person","attempt":1,"user_id":"29580921","version":"2.0","entity_id":"4","timestamp":"2026-02-19T14:25:53.793Z","company_id":"18066743","webhook_id":"1858215","is_bulk_edit":false,"change_source":"api","correlation_id":"9cecbd8e-2c51-40e5-8200-8673c84b31ea","webhook_owner_id":"29580921","permitted_user_ids":["29580921"]},"previous":null}]},"connections":{"Create a person":{"main":[[{"node":"Add Pipedrive Person ID to KlickTipp contact","type":"main","index":0}]]},"Update a person":{"main":[[{"node":"Check relevant segment","type":"main","index":0}]]},"Check subscription":{"main":[[{"node":"Create a person","type":"main","index":0}],[{"node":"Update a person","type":"main","index":0}]]},"Check subscription1":{"main":[[{"node":"Filter non UI events and deletions","type":"main","index":0}],[{"node":"Filter contact creation via API","type":"main","index":0}],[{"node":"Update contact changes in KlickTipp","type":"main","index":0}],[{"node":"Delete contact","type":"main","index":0}]]},"Get marketing status":{"main":[[{"node":"Check subscription1","type":"main","index":0}]]},"Changes in Pipedrive1":{"main":[[{"node":"Get marketing status","type":"main","index":0}]]},"Check relevant segment":{"main":[[{"node":"Assign Label Customer","type":"main","index":0}],[{"node":"Assign Label ABC","type":"main","index":0}]]},"Check relevant segment2":{"main":[[{"node":"Tag contact in KlickTipp2","type":"main","index":0}],[{"node":"Tag contact in KlickTipp3","type":"main","index":0}]]},"Create contact with DOI":{"main":[[{"node":"Add KlickTipp contact ID to Pipedrive1","type":"main","index":0}]]},"Create contact with SOI":{"main":[[{"node":"Add KlickTipp contact ID to Pipedrive","type":"main","index":0}]]},"Get subscription status":{"main":[[{"node":"Add KlickTipp subscription status to Pipedrive","type":"main","index":0}]]},"Tag contact in KlickTipp2":{"main":[[]]},"Contact tagged in KlickTipp":{"main":[[{"node":"Get contact data for tagging","type":"main","index":0}]]},"Get contact data for tagging":{"main":[[{"node":"Check subscription","type":"main","index":0}]]},"Only delete Pipedrive contacts":{"main":[[{"node":"Delete contact1","type":"main","index":0}]]},"Filter contact creation via API":{"main":[[{"node":"Create contact with DOI","type":"main","index":0}]]},"Contact deletion request triggered":{"main":[[{"node":"Only delete Pipedrive contacts","type":"main","index":0}]]},"Filter non UI events and deletions":{"main":[[{"node":"Create contact with SOI","type":"main","index":0}]]},"Update contact changes in KlickTipp":{"main":[[{"node":"Get subscription status","type":"main","index":0}]]},"Add KlickTipp contact ID to Pipedrive":{"main":[[{"node":"Check relevant segment2","type":"main","index":0},{"node":"Tag contact for first transactional mail","type":"main","index":0}]]},"Add KlickTipp contact ID to Pipedrive1":{"main":[[]]},"Add Pipedrive Person ID to KlickTipp contact":{"main":[[{"node":"Check relevant segment","type":"main","index":0}]]},"Add KlickTipp subscription status to Pipedrive":{"main":[[{"node":"Check relevant segment2","type":"main","index":0}]]}}},"lastUpdatedBy":29,"workflowInfo":{"nodeCount":36,"nodeTypes":{"n8n-nodes-base.filter":{"count":3},"n8n-nodes-base.switch":{"count":4},"n8n-nodes-base.pipedrive":{"count":7},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.httpRequest":{"count":2},"n8n-nodes-klicktipp.klicktipp":{"count":10},"n8n-nodes-base.pipedriveTrigger":{"count":1},"n8n-nodes-klicktipp.klicktippTrigger":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"KlickTipp","username":"KlickTipp","bio":"Reach more people. 100% GDPR compliant. Quickly create automated email campaigns, SMS and marketing automations. Market your knowledge independently of Google & Co., sell lucrative products and activate your customers.","verified":true,"links":["https://www.klicktipp.com/"],"avatar":"https://gravatar.com/avatar/38677fedcb7c47d414fa2b6ecabb1f51a1f0efaecd06f316971632d6c192e2ff?r=pg&d=retro&size=200"},"nodes":[{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":28,"icon":"file:pipedrive.svg","name":"n8n-nodes-base.pipedrive","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pipedrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/pipedrive/"}]},"categories":["Sales"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"transform\"]","defaults":{"name":"Pipedrive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiB2aWV3Qm94PSIwIDAgMzIgMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PG1hc2sgaWQ9Im1hc2swMDEiIG1hc2stdHlwZT0iYWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0iIzI2MjkyQyI+PHBhdGggZD0iTTIuNzM2OTQgMEgyOS4yNjMxQzMwLjc3NDYgMCAzMiAxLjIyNTA3IDMyIDIuNzM2OTVWMjkuMjYzMUMzMiAzMC43NzQ2IDMwLjc3NDkgMzIgMjkuMjYzMSAzMkgyLjczNjk0QzEuMjI1MzcgMzIgMCAzMC43NzQ5IDAgMjkuMjYzMVYyLjczNjk1QzAgMS4yMjUzNyAxLjIyNTA4IDAgMi43MzY5NCAwWiIgZmlsbD0iIzI2MjkyQyI+PC9wYXRoPjwvbWFzaz48ZyBtYXNrPSJ1cmwoI21hc2swMDEpIiBmaWxsPSIjMjYyOTJDIj48cGF0aCBkPSJNMi43MzY5NCAwSDI5LjI2MzFDMzAuNzc0NiAwIDMyIDEuMjI1MDcgMzIgMi43MzY5NVYyOS4yNjMxQzMyIDMwLjc3NDYgMzAuNzc0OSAzMiAyOS4yNjMxIDMySDIuNzM2OTRDMS4yMjUzNyAzMiAwIDMwLjc3NDkgMCAyOS4yNjMxVjIuNzM2OTVDMCAxLjIyNTM3IDEuMjI1MDggMCAyLjczNjk0IDBaIiBmaWxsPSIjMjYyOTJDIj48L3BhdGg+PC9nPjxtYXNrIGlkPSJtYXNrMSIgbWFzay10eXBlPSJhbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iNyIgeT0iNCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjI0IiBmaWxsPSIjMjYyOTJDIj48cGF0aCBkPSJNMTMuMzM0OCAxMy4xNzY2QzEzLjMzNDggMTUuMzE5NCAxNC40MjE5IDE3LjYzMTEgMTYuODE0MSAxNy42MzExQzE4LjU4ODEgMTcuNjMxMSAyMC4zODE5IDE2LjI0NjEgMjAuMzgxOSAxMy4xNDUxQzIwLjM4MTkgMTAuNDI2NCAxOC45NzE4IDguNjAxMjcgMTYuODczMSA4LjYwMTI3QzE1LjE2MyA4LjYwMTI3IDEzLjMzNDggOS44MDI1OCAxMy4zMzQ4IDEzLjE3NjZaTTE3LjcxNTggNC42MzE1OUMyMi4wMDUxIDQuNjMxNTkgMjQuODg5MSA4LjAyODczIDI0Ljg4OTEgMTMuMDg1NkMyNC44ODkxIDE4LjA2MjkgMjEuODUwOSAyMS41Mzc4IDE3LjUwNzYgMjEuNTM3OEMxNS40MzY4IDIxLjUzNzggMTQuMTEwMyAyMC42NTA5IDEzLjQxNjggMjAuMDA4OUMxMy40MjE3IDIwLjE2MTEgMTMuNDI1IDIwLjMzMTYgMTMuNDI1IDIwLjUxMzZWMjcuMjYzMkg4Ljk4MTY0VjkuMjc5N0M4Ljk4MTY0IDkuMDE4MjQgOC44OTgwMiA4LjkzNTUyIDguNjM4OTcgOC45MzU1Mkg3LjExMDg1VjQuOTk3MjlIMTAuODM5M0MxMi41NTYgNC45OTcyOSAxMi45OTU0IDUuODcwOTcgMTMuMDc5IDYuNTQ0NDRDMTMuNzc1OSA1Ljc2MzQyIDE1LjIyMDQgNC42MzE1OSAxNy43MTU4IDQuNjMxNTlaIiBmaWxsPSIjMjYyOTJDIj48L3BhdGg+PC9tYXNrPjxnIG1hc2s9InVybCgjbWFzazEpIiBmaWxsPSIjMjYyOTJDIj48cGF0aCBkPSJNMTMuMzM0OCAxMy4xNzY2QzEzLjMzNDggMTUuMzE5NCAxNC40MjE5IDE3LjYzMTEgMTYuODE0MSAxNy42MzExQzE4LjU4ODEgMTcuNjMxMSAyMC4zODE5IDE2LjI0NjEgMjAuMzgxOSAxMy4xNDUxQzIwLjM4MTkgMTAuNDI2NCAxOC45NzE4IDguNjAxMjcgMTYuODczMSA4LjYwMTI3QzE1LjE2MyA4LjYwMTI3IDEzLjMzNDggOS44MDI1OCAxMy4zMzQ4IDEzLjE3NjZaTTE3LjcxNTggNC42MzE1OUMyMi4wMDUxIDQuNjMxNTkgMjQuODg5MSA4LjAyODczIDI0Ljg4OTEgMTMuMDg1NkMyNC44ODkxIDE4LjA2MjkgMjEuODUwOSAyMS41Mzc4IDE3LjUwNzYgMjEuNTM3OEMxNS40MzY4IDIxLjUzNzggMTQuMTEwMyAyMC42NTA5IDEzLjQxNjggMjAuMDA4OUMxMy40MjE3IDIwLjE2MTEgMTMuNDI1IDIwLjMzMTYgMTMuNDI1IDIwLjUxMzZWMjcuMjYzMkg4Ljk4MTY0VjkuMjc5N0M4Ljk4MTY0IDkuMDE4MjQgOC44OTgwMiA4LjkzNTUyIDguNjM4OTcgOC45MzU1Mkg3LjExMDg1VjQuOTk3MjlIMTAuODM5M0MxMi41NTYgNC45OTcyOSAxMi45OTU0IDUuODcwOTcgMTMuMDc5IDYuNTQ0NDRDMTMuNzc1OSA1Ljc2MzQyIDE1LjIyMDQgNC42MzE1OSAxNy43MTU4IDQuNjMxNTlaIiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+PC9nPjwvc3ZnPgo="},"displayName":"Pipedrive","typeVersion":2,"nodeCategories":[{"id":2,"name":"Sales"}]},{"id":29,"icon":"file:pipedrive.svg","name":"n8n-nodes-base.pipedriveTrigger","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.pipedrivetrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/pipedrive/"}]},"categories":["Sales"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Pipedrive Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiB2aWV3Qm94PSIwIDAgMzIgMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PG1hc2sgaWQ9Im1hc2swMDEiIG1hc2stdHlwZT0iYWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0iIzI2MjkyQyI+PHBhdGggZD0iTTIuNzM2OTQgMEgyOS4yNjMxQzMwLjc3NDYgMCAzMiAxLjIyNTA3IDMyIDIuNzM2OTVWMjkuMjYzMUMzMiAzMC43NzQ2IDMwLjc3NDkgMzIgMjkuMjYzMSAzMkgyLjczNjk0QzEuMjI1MzcgMzIgMCAzMC43NzQ5IDAgMjkuMjYzMVYyLjczNjk1QzAgMS4yMjUzNyAxLjIyNTA4IDAgMi43MzY5NCAwWiIgZmlsbD0iIzI2MjkyQyI+PC9wYXRoPjwvbWFzaz48ZyBtYXNrPSJ1cmwoI21hc2swMDEpIiBmaWxsPSIjMjYyOTJDIj48cGF0aCBkPSJNMi43MzY5NCAwSDI5LjI2MzFDMzAuNzc0NiAwIDMyIDEuMjI1MDcgMzIgMi43MzY5NVYyOS4yNjMxQzMyIDMwLjc3NDYgMzAuNzc0OSAzMiAyOS4yNjMxIDMySDIuNzM2OTRDMS4yMjUzNyAzMiAwIDMwLjc3NDkgMCAyOS4yNjMxVjIuNzM2OTVDMCAxLjIyNTM3IDEuMjI1MDggMCAyLjczNjk0IDBaIiBmaWxsPSIjMjYyOTJDIj48L3BhdGg+PC9nPjxtYXNrIGlkPSJtYXNrMSIgbWFzay10eXBlPSJhbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iNyIgeT0iNCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjI0IiBmaWxsPSIjMjYyOTJDIj48cGF0aCBkPSJNMTMuMzM0OCAxMy4xNzY2QzEzLjMzNDggMTUuMzE5NCAxNC40MjE5IDE3LjYzMTEgMTYuODE0MSAxNy42MzExQzE4LjU4ODEgMTcuNjMxMSAyMC4zODE5IDE2LjI0NjEgMjAuMzgxOSAxMy4xNDUxQzIwLjM4MTkgMTAuNDI2NCAxOC45NzE4IDguNjAxMjcgMTYuODczMSA4LjYwMTI3QzE1LjE2MyA4LjYwMTI3IDEzLjMzNDggOS44MDI1OCAxMy4zMzQ4IDEzLjE3NjZaTTE3LjcxNTggNC42MzE1OUMyMi4wMDUxIDQuNjMxNTkgMjQuODg5MSA4LjAyODczIDI0Ljg4OTEgMTMuMDg1NkMyNC44ODkxIDE4LjA2MjkgMjEuODUwOSAyMS41Mzc4IDE3LjUwNzYgMjEuNTM3OEMxNS40MzY4IDIxLjUzNzggMTQuMTEwMyAyMC42NTA5IDEzLjQxNjggMjAuMDA4OUMxMy40MjE3IDIwLjE2MTEgMTMuNDI1IDIwLjMzMTYgMTMuNDI1IDIwLjUxMzZWMjcuMjYzMkg4Ljk4MTY0VjkuMjc5N0M4Ljk4MTY0IDkuMDE4MjQgOC44OTgwMiA4LjkzNTUyIDguNjM4OTcgOC45MzU1Mkg3LjExMDg1VjQuOTk3MjlIMTAuODM5M0MxMi41NTYgNC45OTcyOSAxMi45OTU0IDUuODcwOTcgMTMuMDc5IDYuNTQ0NDRDMTMuNzc1OSA1Ljc2MzQyIDE1LjIyMDQgNC42MzE1OSAxNy43MTU4IDQuNjMxNTlaIiBmaWxsPSIjMjYyOTJDIj48L3BhdGg+PC9tYXNrPjxnIG1hc2s9InVybCgjbWFzazEpIiBmaWxsPSIjMjYyOTJDIj48cGF0aCBkPSJNMTMuMzM0OCAxMy4xNzY2QzEzLjMzNDggMTUuMzE5NCAxNC40MjE5IDE3LjYzMTEgMTYuODE0MSAxNy42MzExQzE4LjU4ODEgMTcuNjMxMSAyMC4zODE5IDE2LjI0NjEgMjAuMzgxOSAxMy4xNDUxQzIwLjM4MTkgMTAuNDI2NCAxOC45NzE4IDguNjAxMjcgMTYuODczMSA4LjYwMTI3QzE1LjE2MyA4LjYwMTI3IDEzLjMzNDggOS44MDI1OCAxMy4zMzQ4IDEzLjE3NjZaTTE3LjcxNTggNC42MzE1OUMyMi4wMDUxIDQuNjMxNTkgMjQuODg5MSA4LjAyODczIDI0Ljg4OTEgMTMuMDg1NkMyNC44ODkxIDE4LjA2MjkgMjEuODUwOSAyMS41Mzc4IDE3LjUwNzYgMjEuNTM3OEMxNS40MzY4IDIxLjUzNzggMTQuMTEwMyAyMC42NTA5IDEzLjQxNjggMjAuMDA4OUMxMy40MjE3IDIwLjE2MTEgMTMuNDI1IDIwLjMzMTYgMTMuNDI1IDIwLjUxMzZWMjcuMjYzMkg4Ljk4MTY0VjkuMjc5N0M4Ljk4MTY0IDkuMDE4MjQgOC44OTgwMiA4LjkzNTUyIDguNjM4OTcgOC45MzU1Mkg3LjExMDg1VjQuOTk3MjlIMTAuODM5M0MxMi41NTYgNC45OTcyOSAxMi45OTU0IDUuODcwOTcgMTMuMDc5IDYuNTQ0NDRDMTMuNzc1OSA1Ljc2MzQyIDE1LjIyMDQgNC42MzE1OSAxNy43MTU4IDQuNjMxNTlaIiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+PC9nPjwvc3ZnPgo="},"displayName":"Pipedrive Trigger","typeVersion":1,"nodeCategories":[{"id":2,"name":"Sales"}]},{"id":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":844,"icon":"fa:filter","name":"n8n-nodes-base.filter","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The Filter node can be used to filter items based on a condition. If the condition is met, the item will be passed on to the next node. If the condition is not met, the item will be omitted. Conditions can be combined together by AND(meet all conditions), or OR(meet at least one condition).","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.filter/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Filter","color":"#229eff"},"iconData":{"icon":"filter","type":"icon"},"displayName":"Filter","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":39,"name":"CRM"}],"image":[{"id":4435,"url":"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/Pipedrive_to_Klick_Tipp_Integration_c218d5ce55.png"}]}}