SignMaster and Zapier, through webhooks
SignMaster doesn't have an app in Zapier's directory, and you don't need one. SignMaster sends a webhook when a contract is sent, viewed, signed or completed, and Zapier's Webhooks by Zapier trigger catches it. From there, any Zapier action can use what the signer filled in.
Updated November 5, 2026 · 3 min read
On this page
Before you start
- A SignMaster workspace on Crew or Company, where webhooks are included.
- A paid Zapier plan: Zapier doesn't offer Webhooks by Zapier on its Free plan.
- A template whose fields have clear labels, like Customer name or Contract price. Those labels become the names you map in Zapier.
Set it up
- 1
Create the trigger
In Zapier, create a Zap, pick Webhooks by Zapier as the trigger app and Catch Hook as the event, then choose Continue. Leave Pick off a Child Key empty so you get the whole message.
- 2
Copy the webhook URL
On the trigger's Test tab, copy the URL Zapier gives you. It starts with https://hooks.zapier.com/.
- 3
Add it in SignMaster
Open Settings › Developers › Webhooks, add an endpoint, paste the URL and describe it, for example Zapier: completed contracts. Tick the events you want; for one row per signed contract, tick envelope.completed only.
- 4
Keep the secret
SignMaster shows the endpoint's signing secret once. Catch Hook doesn't check it, but store it in case you verify messages later.
- 5
Catch a real message
Sign one test contract made from your template, then choose Test trigger in Zapier. SignMaster's own test button sends a webhook.test message with sample data and no field values, which proves the connection but gives Zapier nothing to map.
- 6
Add your action
Add the step that does the work, such as Google Sheets Create Spreadsheet Row, map fields from the trigger, then publish the Zap.
Mapping signer answers
Map from data.fields_by_label. It holds every labeled field as a label and its value, so a box labeled Contract price arrives under Contract price. Zapier lists nested values by their path, so look for the entries that begin with Data Fields By Label.
- Who signed: on recipient.completed, data.recipient holds just the person who finished, which is simpler to map than the full data.recipients list.
- The signed PDF: on envelope.completed, data.signed_pdf.url links to the PDF for 24 hours. Add a step that saves the file to your storage app instead of keeping the link.
- Checkboxes and uploads: a checkbox arrives as the text true or false. A signer's upload arrives as its file name and a link that also expires after 24 hours.
- Same label twice: when two signers each fill a box with the same label, each key gets the signer's role or name in brackets after the label.
Zaps worth building
- A row in a Google Sheet for every completed contract: see Google Sheets.
- A HubSpot contact created or updated when a customer signs.
- A Slack message when a contract is declined, so someone calls the customer the same day.
- A new job in your scheduling or field-service app, built from the job address and price on the contract.
Keeping it reliable
Zapier answers SignMaster with a success code as soon as it catches a message, so deliveries rarely fail. If Zapier can't be reached, SignMaster retries for about a day and a half. A message can occasionally arrive twice; if a duplicate row would matter, check the message's id, which starts with evt_ and stays the same on every retry, before writing anything.
Questions? Answers.
Is there a SignMaster app in the Zapier directory?
No. SignMaster connects to Zapier through webhooks and Zapier's own Webhooks by Zapier trigger. Everything a dedicated app trigger would give you is in the webhook message.
Why do I need a paid Zapier plan?
Zapier only offers Webhooks by Zapier on its paid plans. If that's a problem, Make and n8n can catch the same webhooks.
Can a Zap send contracts out through SignMaster?
Yes. A Webhooks by Zapier POST action can call the REST API with your API key as a Bearer token in the Authorization header. Start from a template and a prefill object keyed by field label.
Should each Zap get its own endpoint?
Yes. Give each Zap its own SignMaster endpoint with only the events it needs. Deliveries are tracked per endpoint, so one broken Zap doesn't hold up the others.
