New to Kestra?
Use blueprints to kickstart your first workflows.
Capture signup form leads into Pipedrive in real time with a Kestra webhook. Create the person and a linked deal instantly and confirm each lead in Slack.
Every minute between a signup and a CRM record is a minute nobody follows up. This blueprint replaces the usual point-to-point automation tool with a single Kestra flow: a webhook receives the form payload, io.kestra.plugin.pipedrive.persons.Create writes the contact, io.kestra.plugin.pipedrive.deals.Create opens a deal linked to that person through the task's personId output, and Slack confirms the routed lead with both ids. Zero polling, zero latency, and the whole chain is visible in one execution.
signup_webhook trigger (io.kestra.plugin.core.trigger.Webhook) exposes a URL your form backend POSTs to. The JSON body is available as {{ trigger.body }}.create_person (io.kestra.plugin.pipedrive.persons.Create) creates the contact. Null-coalescing fallbacks (??) on name and email mean a partial submission still produces a record instead of a failed execution.create_deal (io.kestra.plugin.pipedrive.deals.Create) opens an open-status deal titled after the company or contact, linked through personId: {{ outputs.create_person.personId }} so the person and deal are joined from the first second.notify posts the new personId and dealId to Slack, so the pipeline channel doubles as a live lead feed.errors block posts a distinct Slack alert whenever routing fails, because a silently dropped signup is the most expensive kind of bug.A form-to-CRM zap hides its failures inside someone else's dashboard. Kestra makes the same integration a first-class flow: the webhook payload, the person creation, the deal creation, and the Slack confirmation are one auditable execution, with retries, error alerting, and the option to extend the chain with enrichment, scoring, or routing logic in plain YAML.
name, email, and optionally company and plan_value fields.PIPEDRIVE_API_TOKEN: Pipedrive API token.SLACK_WEBHOOK_URL: Slack incoming webhook URL.key with a strong random value.{"name": "Ada Lovelace", "email": "ada@example.com", "company": "Analytical Engines"} to the webhook URL.stageId, userId, or orgId on create_deal to route leads to a specific pipeline stage or owner.phones property on create_person, using the same value, primary, and label structure as emails.value from its output.io.kestra.plugin.core.flow.If on a form field to route enterprise leads differently from self-serve ones.