Guides
n8n + Pipedrive E-Signature Automation: Send Agreements the Moment a Deal Changes Stage

Every deal stage change in Pipedrive can trigger something else automatically, and sending a contract is one of the more useful things to hang off it. This guide covers exactly that: the moment a deal moves into a chosen stage, n8n pulls the contact's details from Pipedrive and fires off a Firma.dev signing request from a saved template. No one on the team has to remember to send it... it just goes out.
Pipedrive has its own built-in document signing, but routing this through n8n and Firma.dev instead costs a fraction of it. At €0.049 per envelope (about 5 cents USD), send twenty agreements a month this way and the entire signing cost lands under a euro. The API access needed on the Pipedrive side is included in any plan, so the only real cost left is the envelope itself.
The workflow is four steps, built using n8n's AI builder, and the video below walks through the whole thing. If you'd rather skip typing it out by hand, the finished workflow is available to import directly, the walkthrough below is still worth reading if you want to adapt it or wire it into workflows you already have running.
Download the workflow template — import it into n8n, then swap in your own stage IDs and template ID, and reconnect your Pipedrive and Firma.dev credentials.
Prerequisites
A Pipedrive account with API access
An n8n instance, cloud or self-hosted
A Firma.dev account and workspace-level API key
A signing template already built in your Firma.dev workspace, with the field order set up ahead of time
The n8n integration docs cover the full node reference if this is your first time connecting Firma.dev to n8n.
The four-step workflow
1. Trigger on deal updated
Add a Pipedrive trigger node in n8n and connect your account. n8n's AI builder sets Entity to Deal and Action to Change automatically, with Incoming Authentication left as None since Pipedrive calls the webhook directly. If you're building this by hand instead, confirm those same three fields yourself. Execute the step, then move a test deal between stages in Pipedrive so the trigger has real data to work with.
2. Filter for the target stage
The trigger's output includes a data object with the deal's new stage_id and a previous object with the stage it came from. Add a filter that checks both: data.stage_id equals your target stage, and previous.stage_id equals the stage before it. That way the workflow only fires on that specific transition, not on any move that happens to land there later. Pipedrive's stage IDs aren't easy to look up directly. The simplest way to find them is to drag a test deal between stages and read the numbers off the trigger's own output.
3. Get the contact's details
Add a Pipedrive node set to Get Person, and pass in the person_id field from the deal data, not the deal ID itself. Executing this step returns the signer's email and name, ready for the next node.
4. Create and send from a template
Add a Firma.dev node using Create and Send, which builds and sends a signing request in one call. Set the template ID from your Firma.dev workspace (Templates, then the specific template) and map the signer's email and name from the previous step. This is also where n8n's AI builder needed a manual fix: it set the template item order field starting at 0, but Firma.dev counts from 1, so that field has to be corrected by hand.
Common gotchas
The item order field starts at 0 in n8n, not 1. AI-built workflows consistently miss this one. Firma.dev's templates count items starting from 1, so check this field before sending anything live.
Use person_id, not the deal ID, to look up contact details. The deal record holds a reference to the person, not their contact information directly.
Stage IDs live in the trigger's raw output, not the Pipedrive interface. Execute the trigger step after moving a test deal to read them off directly.
Use a workspace-scoped Firma.dev API key. It keeps this automation limited to one workspace instead of an account-level key that can create or delete workspaces.
Beyond a single stage
This same pattern extends past a single trigger. Different stages can point at different templates, so a deal reaching "Contract Ready" sends one agreement and a deal reaching "Renewal" sends another, all from the same Pipedrive pipeline... same four steps, just wired to a different stage and a different template. Once an agreement goes out, a second workflow listening for Firma.dev's Signing Request Completed event can save the finished document straight to Google Drive (covered in a companion guide), notify the sales team, or write a row to a CRM field of its own.
If this is your first time connecting the two tools, the n8n integration guide covers the broader set of triggers and actions available, and the docs list every operation the Firma.dev node supports. Firma.dev also works the same way through Zapier for teams already on that stack.
Get 50 free envelopes: Firma.dev customers coming from n8n can sign up with code N8N-FIRMA26 already applied for 50 envelopes free on their first purchase, or enter the code manually at purchase if they already have an account. Offer expires October 10, 2026.
Get started with Firma.dev for free, no credit card required.
Related articles
Our platform is designed to empower businesses of all sizes to work smarter and achieve their goals with confidence.






