Skip to content

The moment it happens

Turn form submissions into Pipedrive leads

Each form submission creates or updates the person and adds a lead with their answers, and you hear about it in Slack.

Runs
The moment it happens
Apps
Pipedrive
AI
Not needed
Access
read+write

Send this to your assistant

Create a ClickRuntime automation: give me a link my contact form can send to. Find or create the person in Pipedrive by email, add a lead with the form answers, and message me in Slack.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A prospect fills in your website form on Friday evening. The submission lands in an inbox, someone copies the details into Pipedrive on Monday, creates a person, forgets the organization, and never creates the deal. Or it is entered twice because the same person submitted two forms. Leads handled this way respond slowly, and the data in Pipedrive is full of duplicates and missing fields.

When the form posts its fields, Pipedrive is searched for a person with the same email. The person, and their organization, are created or updated, and a lead or deal is created with your custom fields filled in. A notification tells you it arrived. Everything is in Pipedrive within seconds, ready for a rep to call. Marketing teams with several forms often point them all at the same webhook.

It suits businesses with a contact form, quote request or demo booking page that feeds sales.

What you get out of it

  • Leads are in the CRM immediately

    A prospect who submits a form is in Pipedrive a few seconds later, with an owner and a task. That makes a same-hour reply achievable instead of a Monday afternoon one.

  • No duplicate contacts

    Searching by email before creating prevents the same person being added twice. The existing record is updated, so the rep sees one clean history instead of two partial ones. The existing record is updated, so reps see one clean history rather than scattered copies of the same person.

  • Custom fields filled automatically

    Budget, company size and the product of interest go straight into your Pipedrive fields. Reps arrive at the call already knowing what the prospect asked for. Fields such as budget or product of interest map straight across, so the first call starts with the prospect's own words.

  • Organizations are linked

    Creating or updating the organization means contacts from the same company are grouped. That is invaluable for account-based selling and avoiding multiple reps calling the same firm. Linking people to their organization groups the contacts at one firm, so two reps do not call the same company separately.

  • Nothing lost out of hours

    Weekend and overnight submissions are processed the same way as weekday ones. Revenue does not depend on someone remembering to copy data into the CRM. Submissions at midnight or on a holiday are handled the same way as those in office hours, so no lead waits for someone to type it in.

How it works

What happens, step by step

  1. The moment someone fills in your website form, Typeform or event signup, ClickRuntime receives their answers.

  2. It searches Pipedrive for a person with the same email address.

  3. It updates that person or creates a new one, along with their organization.

  4. A new lead is added with their answers, and you get a message in your Slack channel about it.

Before it runs live

  • Connect Pipedrive
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Turn form submissions into Pipedrive leadsjust nowSucceeded
Slack · #salesNew Pipedrive lead: Northwind – website inquiry (dana@northwind.example)

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Pipedrive steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
website_and_form_leads_into_pipedrive.pyexample
from clickruntime import on_event, credentials, http, notify

API = "https://api.pipedrive.com"

@on_event
def handle(event):
    form = event.json or {}
    headers = {"Authorization": f"Bearer {credentials.connection('pipedrive', 'work')}"}
    found = http.get(f"{API}/api/v2/persons/search", headers=headers,
                     params={"term": form["email"], "fields": "email", "exact_match": "true"}).json()["data"]["items"]
    if found:
        person_id = found[0]["item"]["id"]
    else:
        person_id = http.post(f"{API}/api/v2/persons", headers=headers, json={
            "name": form.get("name") or form["email"],
            "emails": [{"value": form["email"], "primary": True, "label": "work"}]}).json()["data"]["id"]
    lead = http.post(f"{API}/v1/leads", headers=headers, json={
        "title": f"{form.get('company') or form.get('name')} – website inquiry", "person_id": person_id}).json()["data"]
    http.post(f"{API}/v1/notes", headers=headers, json={
        "lead_id": lead["id"], "content": "<br>".join(f"<b>{k}</b>: {v}" for k, v in form.items())}).raise_for_status()
    notify.slack(f"New Pipedrive lead: {lead['title']} ({form['email']})", channel="#sales")
    return {"person": person_id, "lead": lead["id"], "new_person": not found}

FAQ

Common questions

Does it create a lead or a deal?
Either. Leads suit early, unqualified enquiries, while deals suit requests such as quotes or booked demos. Let your AI assistant know which you want, and review the revised version before it starts running. You can switch later.
What if the form is missing an email?
Without an email, the person cannot be matched safely, so the submission can be flagged for review instead of creating a record. That avoids filling the CRM with unusable contacts. A short note to you with the submission details means nothing is silently dropped.
Which forms are supported?
Any form tool that can send a webhook works, including common website builders and form services. The fields are mapped to Pipedrive's person, organization and deal fields as part of the setup. A short test submission confirms the mapping works.
What permissions does it need?
read+write. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Turn form submissions into Pipedrive leads” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.