N
n8n Store
Workflow Market
Stripe → Pipedrive (Automatic Person + Deal Creation)

Stripe → Pipedrive (Automatic Person + Deal Creation)

by triggerall0 views

Description

Categories

🤖 AI & Machine Learning

Nodes Used

n8n-nodes-base.ifn8n-nodes-base.ifn8n-nodes-base.setn8n-nodes-base.noOpn8n-nodes-base.webhookn8n-nodes-base.pipedriven8n-nodes-base.pipedriven8n-nodes-base.pipedriven8n-nodes-base.pipedriven8n-nodes-base.stickyNote
PriceFree
Views0
Last Updated11/28/2025
workflow.json
{
  "id": "mXqbFVOOlSD6kNIC",
  "meta": {
    "instanceId": "af9fe5bb0163dc4cbb85dd6fb4c45fe63eac1327996aeecd696d8f7aed2d776b"
  },
  "name": "Stripe → Pipedrive (Automatic Person + Deal Creation)",
  "tags": [
    {
      "id": "Af6k6it2U9my6q9Q",
      "name": "pipedrive",
      "createdAt": "2025-10-05T07:43:13.180Z",
      "updatedAt": "2025-10-05T07:43:13.180Z"
    },
    {
      "id": "YYaRjcTPQ5F8VMgV",
      "name": "stripe",
      "createdAt": "2025-10-05T07:43:08.134Z",
      "updatedAt": "2025-10-05T07:43:08.134Z"
    },
    {
      "id": "qtuQF3Lc141mfYiM",
      "name": "n8n template",
      "createdAt": "2025-09-11T07:44:43.900Z",
      "updatedAt": "2025-09-17T10:07:33.999Z"
    }
  ],
  "nodes": [
    {
      "id": "ee4fcc57-849c-4e74-bf2c-4ca93c6b6651",
      "name": "Stripe Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1696,
        128
      ],
      "webhookId": "4ea76359-79a3-4724-8297-398cea3c0f21",
      "parameters": {
        "path": "stripe/4ea76359-79a3-4724-8297-398cea3c0f21",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2.1
    },
    {
      "id": "b85ff242-0fb5-4c49-b2aa-d4ba693c0eff",
      "name": "Search a person",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        -1696,
        752
      ],
      "parameters": {
        "term": "={{ $json.data.object.customer_details.email }}",
        "resource": "person",
        "operation": "search",
        "returnAll": true,
        "additionalFields": {}
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "2c2d5603-c273-4e81-b8dd-92231c6c5490",
      "name": "Create a person",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        -1328,
        752
      ],
      "parameters": {
        "name": "={{ $('Check if event id is same').item.json.data.object.customer_details.email }}",
        "resource": "person",
        "additionalFields": {
          "email": [
            "={{ $('Check if event id is same').item.json.data.object.customer_details.email }}"
          ],
          "customProperties": {
            "property": [
              {
                "name": "b3fb48b7267e8c29b5e38ea00ac7d6a304a35aa7",
                "value": "={{ Number(     $('Stripe Webhook').item.json.body.data.object.amount_total     || $('Stripe Webhook').item.json.body.data.object.amount     || 0 ) / 100 }}"
              },
              {
                "name": "f727eccc234c3b4587fc699549bdfdce7b9f1ff1",
                "value": "Stripe"
              },
              {
                "name": "8f3e8ea545f8d8b75b9379758dc10b999fd764c1",
                "value": "={{ $('Stripe Webhook').item.json.body.data.object.payment_method_types[0] }}"
              },
              {
                "name": "7e78e1cec09a8d4c47d8f2538b2fced5ae11851e",
                "value": "={{ $('Stripe Webhook').item.json.body.data.object.payment_status }}"
              }
            ]
          }
        }
      },
      "typeVersion": 1
    },
    {
      "id": "02872a84-39fe-4ec1-8d79-4ed6e86025c1",
      "name": "Set field",
      "type": "n8n-nodes-base.set",
      "position": [
        -1440,
        128
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5700f6e5-5f73-4e6e-8015-f89703e98fec",
              "name": "eventId",
              "type": "string",
              "value": "={{ $json.body.id }}"
            },
            {
              "id": "6597729e-e95d-47ab-b2ef-5cf7826b7c6f",
              "name": "eventType",
              "type": "string",
              "value": "={{ $json.body.type }}"
            },
            {
              "id": "0c3660f2-6465-470c-bf81-ddeea902f7de",
              "name": "payload",
              "type": "object",
              "value": "={{ $json.body.data.object }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "04913575-544f-4bba-85de-2d80aad0abc0",
      "name": "Check if event id is same",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1168,
        128
      ],
      "parameters": {
        "url": "=https://api.stripe.com/v1/events/{{ $json.eventId }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "bAvGF9Yo6VYTfyir",
          "name": "Header Auth account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "7bb40f1f-e751-4f36-9938-23cbf4c9f183",
      "name": "Append a deal",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        -592,
        752
      ],
      "parameters": {
        "title": "=Deposit — {{ $json.email[0].value }} — {{ Number(\n    $('Stripe Webhook').item.json.body.data.object.amount_total\n    || $('Stripe Webhook').item.json.body.data.object.amount\n    || 0\n) / 100 }}",
        "additionalFields": {
          "value": "={{ Number(\n    $('Stripe Webhook').item.json.body.data.object.amount_total\n    || $('Stripe Webhook').item.json.body.data.object.amount\n    || 0\n) / 100 }}",
          "person_id": "={{ $json.id }}",
          "customProperties": {
            "property": [
              {
                "name": "2c3f7005cae14a31a00631ecb0c9a9ac9164212b",
                "value": "={{ $('Set field').item.json.eventId }}"
              }
            ]
          }
        }
      },
      "typeVersion": 1
    },
    {
      "id": "42ebf9ab-1cc6-4afb-9a39-84e187b726b3",
      "name": "If event id exist",
      "type": "n8n-nodes-base.if",
      "position": [
        -864,
        656
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "267434a5-e6e1-4c2f-95d4-a30cd1774f7b",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('Check if event id is same').item.json.id }}",
              "rightValue": "={{ $('Check if event id is same').item.json.id }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "4d41cc67-1961-42cf-8513-0d89105bec43",
      "name": "if person exists",
      "type": "n8n-nodes-base.if",
      "position": [
        -1520,
        752
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "571afebb-46e3-4694-8156-d198e558b638",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.item.emails[0] }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b052c83a-3de5-486e-9935-18f0bf9ef15d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2368,
        -96
      ],
      "parameters": {
        "color": 6,
        "width": 592,
        "height": 400,
        "content": "## Setup Guide \n**Author:** Krishna Sharma\n\n\n## Prerequisites / Requirements\n- n8n instance (cloud or self-hosted) with HTTPS reachable webhook endpoint\n- Stripe account and secret API key\n- Pipedrive account with API access and custom fields defined\n- Users should create custom fields in Pipedrive and copy their field IDs (e.g. amount, payment method, status, Stripe Event ID)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8cbdb7ab-47e3-4003-aecb-33485cbb8c44",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        -96
      ],
      "parameters": {
        "color": 4,
        "width": 736,
        "height": 400,
        "content": "## Description \n**This workflow connects Stripe to Pipedrive. Whenever a new payment (or checkout success) occurs in Stripe, this automation will:\n- Fetch the full Stripe event data\n- Find or create a customer (“Person”) in Pipedrive\n- Create a “Deal” record corresponding to that payment\n- Log custom fields like amount, source, payment method, status\n\n### It’s ideal for \n- SaaS \n- Subscription businesses\n- Agencies, or \n- Teams who want payments mirrored inside their CRM without manual work."
      },
      "typeVersion": 1
    },
    {
      "id": "dd170e8d-469f-47f9-9172-0f2f26c415f2",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2368,
        336
      ],
      "parameters": {
        "color": 5,
        "width": 592,
        "height": 608,
        "content": "## How it works (Step-by-Step)\n**Stripe Webhook:** n8n triggers on payment events from Stripe via an HTTP POST.\n\n**Edit / Set node:** Extracts eventId, eventType, and payload.\n\n**HTTP Request:** Confirms Stripe event via Stripe API (adds security).\n\n**Search Person:** Looks up Pipedrive contact by email from the Stripe payload.\n\n**IF:** Checks whether the person exists.\n    - If exists → skip to deal creation.\n        - If node - Check if Event id is not the same\n            - If same - Skip the deal creation\n            - If different - Create a deal linked to that person with the payment amount\n    - If not → create new Person.\n\n**Create Person:** Adds new Pipedrive contact, populates custom fields (amount, payment method, status, source).\n\n**Create Deal:** Creates a deal linked to that person with the payment amount."
      },
      "typeVersion": 1
    },
    {
      "id": "5e28dc28-7999-4361-82f0-e6856a8ae2d8",
      "name": "Create a deal",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        -1168,
        752
      ],
      "parameters": {
        "title": "=Deposit — {{ $json.email[0].value }} — {{ Number(\n    $('Stripe Webhook').item.json.body.data.object.amount_total\n    || $('Stripe Webhook').item.json.body.data.object.amount\n    || 0\n) / 100 }}",
        "additionalFields": {
          "value": "={{ Number(\n    $('Stripe Webhook').item.json.body.data.object.amount_total\n    || $('Stripe Webhook').item.json.body.data.object.amount\n    || 0\n) / 100 }}",
          "person_id": "={{ $json.id }}",
          "customProperties": {
            "property": [
              {
                "name": "2c3f7005cae14a31a00631ecb0c9a9ac9164212b",
                "value": "={{ $('Set field').item.json.eventId }}"
              }
            ]
          }
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a2d4afb9-d0cf-40a9-8da9-d94b126a6d55",
      "name": "Do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -400,
        608
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ee468b0d-cae8-4a13-b187-f0eec0c6d1c7",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        336
      ],
      "parameters": {
        "width": 752,
        "height": 608,
        "content": "# Step 3 - Checks if event is not same to avoid duplicate deal creation\n\n**If node:** Check if Event id is same\n- If True- Skip the deal creation and does nothing\n- If False - Create a deal linked to that person with the payment amount"
      },
      "typeVersion": 1
    },
    {
      "id": "1e7ffe51-e6af-4829-97fe-59b92cd2a933",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1744,
        -96
      ],
      "parameters": {
        "width": 768,
        "height": 400,
        "content": "# Step 1 - Initial setup\n**Stripe Webhook:** n8n triggers on payment events from Stripe\n\n**Edit / Set node:** Extracts eventId, eventType, and payload.\n\n**HTTP Request:** Confirms Stripe event via Stripe API (adds security)."
      },
      "typeVersion": 1
    },
    {
      "id": "cfdb8846-c87c-40e7-8c8a-61c22ae6d1fd",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1744,
        336
      ],
      "parameters": {
        "width": 768,
        "height": 608,
        "content": " # Step 2 - Search contact\n\n **Search Person:** Looks up Pipedrive contact by email from the Stripe payload.\n\n **IF:** Checks whether the person exists.\n - If exists → skip to deal creation.\n - If not → create new Person.\n\n#### \n**Create Person:** Adds new Pipedrive contact, populates custom fields (amount, payment method, status, source).\n\n **Create Deal:** Creates a deal linked to that person with the payment amount."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "2237b3ce-4c15-4a80-bc92-0c8abb0eb0f2",
  "connections": {
    "Set field": {
      "main": [
        [
          {
            "node": "Check if event id is same",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Stripe Webhook": {
      "main": [
        [
          {
            "node": "Set field",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a person": {
      "main": [
        [
          {
            "node": "Create a deal",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search a person": {
      "main": [
        [
          {
            "node": "if person exists",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "if person exists": {
      "main": [
        [
          {
            "node": "If event id exist",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Create a person",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If event id exist": {
      "main": [
        [
          {
            "node": "Do nothing",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Append a deal",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if event id is same": {
      "main": [
        [
          {
            "node": "Search a person",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

相关工作流