AutomationFlowsCRM & Sales › Upload Leads with Custom Fields From Typeform to Pipedrive

Upload Leads with Custom Fields From Typeform to Pipedrive

Byn8n Team @n8n-team on n8n.io

This automated workflow takes a Typeform form, and once it is filled out, it is automatically uploaded as a Lead in Pipedrive. There is an option for custom fields (this workflow works with company size), and leaves notes in the note section based on questions answered. Typeform…

Event trigger★★★★☆ complexity8 nodesPipedriveTypeform Trigger
CRM & Sales Trigger: Event Nodes: 8 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #1758 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "7917ccbb-ef43-4784-adb9-7347be1f1e20",
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "position": [
        580,
        560
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "company",
              "value": "={{$json[\"What *company* are you contacting us from?\"]}}"
            },
            {
              "name": "name",
              "value": "={{$json[\"Let's start with your *first and last name.*\"]}}"
            },
            {
              "name": "email",
              "value": "={{$json[\"What *email address* can we reach you at?\"]}}"
            },
            {
              "name": "n8nFamiliar",
              "value": "={{$json[\"How familiar are you with*  n8n*?\"]}}"
            },
            {
              "name": "questions",
              "value": "={{$json[\"Do you have any *specific questions* about embedding n8n at this stage?\"]}}"
            },
            {
              "name": "employees",
              "value": "={{$json[\"How many employees?\"]}}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "id": "c0cc18d0-fdd1-4ef8-aabe-33bd13667c7d",
      "name": "Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        540,
        360
      ],
      "parameters": {
        "width": 760,
        "height": 440,
        "content": "## Format Typeform inputs to Pipedrive\nIn this example, we ask for the number of employees at a company. \n\nTo map this to Pipedrive, we need the unique item number coming from Pipedrive for each of these sections. This is what the function node does. \n\nIn the Pipedrive: Organization, we map this under the custom property.\n\n\n\n\n\n\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "92646ffb-73fb-4fee-a2b4-5060c7e04b59",
      "name": "Create Organization",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        1060,
        560
      ],
      "parameters": {
        "name": "={{$node[\"Map company size\"].json[\"company\"]}}",
        "resource": "organization",
        "additionalFields": {
          "customProperties": {
            "property": [
              {
                "name": "YOUR_AWS_SECRET_KEY_HERE",
                "value": "={{$node[\"Map company size\"].json[\"pipedriveemployees\"]}}"
              }
            ]
          }
        }
      },
      "credentials": {
        "pipedriveApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4c1b7376-cc1f-4974-9110-7e1481e3fdbe",
      "name": "Create Person",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        1400,
        560
      ],
      "parameters": {
        "name": "={{$node[\"Map company size\"].json[\"name\"]}}",
        "resource": "person",
        "additionalFields": {
          "email": [
            "={{$node[\"On form completion\"].json[\"What *email address* can we reach you at?\"]}}"
          ],
          "org_id": "={{$json.id}}"
        }
      },
      "credentials": {
        "pipedriveApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5c463f99-38e0-4c2e-a34c-86fc199b9d1f",
      "name": "Create Lead",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        1600,
        560
      ],
      "parameters": {
        "title": "={{$node[\"Map company size\"].json[\"company\"]}} lead",
        "resource": "lead",
        "organization_id": "={{$node[\"Create Organization\"].json.id}}",
        "additionalFields": {
          "person_id": "={{$json.id}}"
        }
      },
      "credentials": {
        "pipedriveApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d63383ca-a71e-4384-a3fb-942c25d7fe01",
      "name": "Create Note",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        1800,
        560
      ],
      "parameters": {
        "content": "=Website form submitted\n\nQuestion:\n{{$node[\"Map company size\"].json[\"questions\"]}}\n\nCompany Size:\n{{$node[\"Set\"].json[\"employees\"]}}",
        "resource": "note",
        "additionalFields": {
          "lead_id": "={{$json.id}}"
        }
      },
      "credentials": {
        "pipedriveApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "78568df6-1c6b-493d-b186-9f9246de518a",
      "name": "On form completion",
      "type": "n8n-nodes-base.typeformTrigger",
      "position": [
        380,
        560
      ],
      "parameters": {
        "formId": "[UPDATE ME]"
      },
      "credentials": {
        "typeformApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6bc56059-6ae7-48bd-838c-08e717bd6bd4",
      "name": "Map company size",
      "type": "n8n-nodes-base.code",
      "position": [
        820,
        560
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "switch ($input.item.json.employees) {\n  case '< 20':\n  // small\n    $input.item.json.pipedriveemployees='59' \n    break;\n  case '20 - 100':\n    // medium\n    $input.item.json.pipedriveemployees='60' \n    break;\n  case '101 - 500':\n    // large\n    $input.item.json.pipedriveemployees='73' \n    break;\n  case '501 - 1000':\n    // xlarge\n    $input.item.json.pipedriveemployees='74' \n    break;\n  case '1000+':\n    // Enterprise\n    $input.item.json.pipedriveemployees='61' \n    break;\n}\nreturn $input.item;\n"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Set": {
      "main": [
        [
          {
            "node": "Map company size",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Lead": {
      "main": [
        [
          {
            "node": "Create Note",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Person": {
      "main": [
        [
          {
            "node": "Create Lead",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Map company size": {
      "main": [
        [
          {
            "node": "Create Organization",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form completion": {
      "main": [
        [
          {
            "node": "Set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Organization": {
      "main": [
        [
          {
            "node": "Create Person",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This automated workflow takes a Typeform form, and once it is filled out, it is automatically uploaded as a Lead in Pipedrive. There is an option for custom fields (this workflow works with company size), and leaves notes in the note section based on questions answered. Typeform…

Source: https://n8n.io/workflows/1758/ — original creator credit. Request a take-down →

More CRM & Sales workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

CRM & Sales

Code Typeform. Uses stickyNote, pipedrive, typeformTrigger. Event-driven trigger; 8 nodes.

Pipedrive, Typeform Trigger
CRM & Sales

Hunter Pipedrive. Uses stickyNote, formTrigger, noOp, hunter. Event-driven trigger; 15 nodes.

Form Trigger, Hunter, Clearbit +1
CRM & Sales

When collecting leads via an online form, you often need to manually add those new leads into your Pipedrive CRM. This not only takes a lot of time but is also error-prone. This workflow automates thi

Form Trigger, Hunter, Clearbit +1
CRM & Sales

This workflow gets leads' contacts from a CSV file and adds it to the Pipedrive CRM by creating an organization and a person. The CSV file in this workflow serves as a universal connector allowing you

Google Drive Trigger, Google Drive, Spreadsheet File +1
CRM & Sales

Pipedrive Stickynote. Uses itemLists, pipedrive, httpRequest, pipedriveTrigger. Event-driven trigger; 11 nodes.

Item Lists, Pipedrive, HTTP Request +1