When a contract is signed, let the rest of your tools know
A signed contract should start things: a customer record in the CRM, a row in the jobs sheet, a message to the crew lead, the PDF filed in the right folder. Webhooks let SignMaster tell your other tools the moment something happens to an envelope, carrying everything the signer filled in, so the follow-up starts without anyone copying it over.
Updated November 5, 2026 · 2 min read
On this page
Recipes that save the most time
| When | Listen for | Then |
|---|---|---|
| A new customer signs | Envelope completed | Create or update the contact in your CRM with their name, phone and address |
| Any contract completes | Envelope completed | Add a row to a jobs or sales spreadsheet |
| Each person finishes | Signer finished | Post in a team chat channel that the client signed |
| The signed PDF is ready | Envelope completed | Download it in the same workflow and save it to a shared folder |
| A customer says no | Declined | Mark the deal lost and alert the salesperson |
| The client opens it | Signer opened it | Remind the salesperson that now is a good time to call |
SignMaster has no built-in HubSpot, Salesforce, Slack or Google connector. These all run through webhooks, caught by Zapier, Make or n8n, or by your own server.
Set up your first one
- 1
Get a catch URL
In Zapier, start a Zap with Webhooks by Zapier and choose Catch Hook, then copy the URL it gives you. Make and n8n have their own webhook triggers that do the same.
- 2
Add the endpoint in SignMaster
Open Settings › Developers, find Webhooks and choose Add endpoint. Paste the URL, describe it, such as Jobs sheet, and tick the events. Envelope completed is ticked to start with.
- 3
Send a test
From the endpoint's menu, choose Send test. Your tool receives a sample message, so you can map fields before a real contract is signed.
- 4
Map the fields
Add the next step, such as a new spreadsheet row, and pick values from data.fields_by_label: Customer name, Job address, Contract price, whatever your labels are.
- 5
Turn it on
Switch the Zap or scenario on, and the next signed contract flows through by itself.
Mapping tips
- Labels are the keys. A text box labeled Contract price arrives as Contract price. Use the same labels across templates and one workflow serves them all.
- Two people, one label. If both signers fill an Address field, each arrives with the role or person's name in brackets after the label.
- Filter by template. Every message carries data.envelope.template_id, so one endpoint can route different contracts to different places.
- Download the PDF straight away. The link in data.signed_pdf works for a day. Save the file in the workflow rather than storing the link.
- Uploads come as links too. A file the signer attached arrives with its name and a short-lived link.
When something goes wrong
Each endpoint has a deliveries list showing every message as delivered, retrying, failed or given up, with the response code and the reason. SignMaster retries a failed message for about a day and a half, and you can retry one by hand. If an endpoint fails 20 times in a row with no success for a day, it's paused and the person who added it gets an email, so a broken Zap can't fail quietly for weeks.
Questions? Answers.
Which plans include webhooks?
Crew and Company, with the REST API. New workspaces can try Crew free for 14 days. Compare plans.
Do I need a developer?
No. With Zapier, Make or n8n you paste a URL and pick fields in their editors. Code is only needed when the messages go to your own server.
Can I send different events to different places?
Yes. Add several endpoints, each with its own events: completed contracts to the CRM, declines to a chat channel.
Are signatures sent to other apps?
No. Signature images are never sent. The message carries typed answers, choices, file links and a link to the signed PDF.
