SignWell
App · E-Signatures · 8 actions
Send documents for e-signature with SignWell: create a document from a template or from your own files, track where each recipient has got to, remind whoever is holding things up, download the signed PDF, and delete a document to cancel signing.
Actions
| Action | What it does |
|---|---|
| Create SignWell document | Create a document from one or more files and send it for signature. |
| Create SignWell document from template | Create a document from a SignWell template and send it for signature. |
| Delete SignWell document | Delete a document. |
| Get SignWell account | Get the account and workspace the connected API key belongs to. |
| Get SignWell document | Get a document and where each recipient has got to. |
| Get SignWell signed PDF | Get a download link for the finished, signed PDF, optionally with the audit page attached. |
| Get SignWell template | Get a template with the recipient roles and the field ids it expects, which is exactly what Create SignWell document from template needs to fill in. |
| Send SignWell reminder | Remind everyone who has not signed the document yet. |
Create SignWell document
Create a document from one or more files and send it for signature. The files are fetched from public URLs, so point this at something your workflow has already produced or stored somewhere reachable. Unless draft is true, place at least one field for each recipient; SignWell rejects a request that gives a recipient nothing to sign.
Inputs
- Files
fileslistRequired - The documents to send, each with a name and a publicly reachable file_url.
- Recipients
recipientslistRequired - Who needs to sign, as a list of objects. Each needs a name and an email. Set signing_order to a number to control the sequence when apply_signing_order is on.
- Fields
fieldslist - Where to place a field (a signature, a text box, a date, ...) on the document, as a list of objects. SignWell rejects a non-draft document unless every recipient has at least one field, so this is required unless draft is true. Each needs a type, an x/y position in pixels, and the page it belongs to; recipient names which recipient (1 for the first entry in recipients, 2 for the second, ...) it is for; file_index names which file (0 for the first) when sending more than one, and defaults to the first.
- Name
nametext - Name for the document, shown to recipients.
- Subject
subjecttext - Subject line of the email sent to recipients.
- Message
messagetext - Message shown in the email sent to recipients.
- Apply signing order
apply_signing_ordertrue/false - Make recipients sign one after another in the order given, rather than all at once.
- Reminders
reminderstrue/false - Let SignWell send its own automatic reminders to people who have not signed. On by default.
- Expires in
expires_innumber - How many days recipients have to sign before the document expires.
- Test mode
test_modetrue/false - Create the document in test mode. Test documents are free and do not count towards your plan, but are not legally binding. Off by default.
- Draft
drafttrue/false - Create the document without sending it, so you can review or edit it in SignWell first. Off by default, which sends it straight away.
Outputs
documentobject
Example output
{
"document": {
"apply_signing_order": false,
"archived": false,
"created_at": "2026-01-28T16:59:03Z",
"decline_message": null,
"embedded_edit_url": null,
"embedded_preview_url": "https://www.signwell.com/preview/document/582a6a8f/",
"error_message": null,
"expires_in": 30,
"files": [
{
"name": "agreement.pdf",
"pages_number": 3
}
],
"id": "582a6a8f-931b-491d-91f3-b27cdefa7878",
"message": "Let me know if anything needs changing before you sign.",
"metadata": {
"deal_id": "4821"
},
"name": "Consulting agreement",
"recipients": [
{
"delivery_method": "email",
"email": "ada@example.com",
"id": "023d6b54-8cb0-4efb-928c-14c0758070bc",
"name": "Ada Lovelace",
"signing_order": 1,
"signing_url": "https://www.signwell.com/docs/b98cc5a442/",
"status": "sent"
}
],
"requester_email_address": "grace@example.com",
"status": "Sent",
"subject": "Please sign the consulting agreement",
"test_mode": true,
"updated_at": "2026-01-28T16:59:03Z"
}
}Create SignWell document from template
Create a document from a SignWell template and send it for signature. Use Get SignWell template to find the roles and field ids the template expects.
Inputs
- Template ID
template_idtextRequired - The template's SignWell id, from the template's page URL or the Get SignWell template action.
- Recipients
recipientslistRequired - Who needs to sign, as a list of objects. Each needs a name and an email. Set signing_order to a number to control the sequence when apply_signing_order is on. Set placeholder_name to the template role each person fills.
- Template fields
template_fieldsobject - Values that prefill the template's fields. Add one entry per field: the key is the field's API ID, which Get SignWell template lists, and the value is what to fill in.
- Name
nametext - Name for the new document. Defaults to the template's.
- Subject
subjecttext - Subject line of the email sent to recipients.
- Message
messagetext - Message shown in the email sent to recipients.
- Apply signing order
apply_signing_ordertrue/false - Make recipients sign one after another in the order given, rather than all at once.
- Test mode
test_modetrue/false - Create the document in test mode. Test documents are free and do not count towards your plan, but are not legally binding. Off by default.
- Draft
drafttrue/false - Create the document without sending it, so you can review or edit it in SignWell first. Off by default, which sends it straight away.
Outputs
documentobject
Example output
{
"document": {
"apply_signing_order": false,
"archived": false,
"created_at": "2026-01-28T16:59:03Z",
"decline_message": null,
"embedded_edit_url": null,
"embedded_preview_url": "https://www.signwell.com/preview/document/582a6a8f/",
"error_message": null,
"expires_in": 30,
"files": [
{
"name": "agreement.pdf",
"pages_number": 3
}
],
"id": "582a6a8f-931b-491d-91f3-b27cdefa7878",
"message": "Let me know if anything needs changing before you sign.",
"metadata": {
"deal_id": "4821"
},
"name": "Consulting agreement",
"recipients": [
{
"delivery_method": "email",
"email": "ada@example.com",
"id": "023d6b54-8cb0-4efb-928c-14c0758070bc",
"name": "Ada Lovelace",
"signing_order": 1,
"signing_url": "https://www.signwell.com/docs/b98cc5a442/",
"status": "sent"
}
],
"requester_email_address": "grace@example.com",
"status": "Sent",
"subject": "Please sign the consulting agreement",
"test_mode": true,
"updated_at": "2026-01-28T16:59:03Z"
}
}Delete SignWell document
Delete a document. If signing is still in progress this cancels it, so no one can sign afterwards. This cannot be undone.
Inputs
- Document ID
document_idtextRequired - The document's SignWell id. You can get this from either create action, or from the end of the document's page URL.
Outputs
None.
Example output
{}Get SignWell account
Get the account and workspace the connected API key belongs to. Useful for confirming a connection points where you expect before a workflow sends anything.
Inputs
None.
Outputs
account_nametext- Name of the SignWell account.
plan_tiertext- Which plan the account is on, which decides whether documents can be sent outside test mode.
roletext- That user's role in the workspace, e.g. owner.
user_emailtext- Email of the account the key belongs to.
user_nametext- Name on the account the key belongs to.
workspace_idtext- Id of the active workspace.
workspace_nametext- Name of the active workspace.
Example output
{
"account_name": "Example Ltd",
"plan_tier": "free",
"role": "owner",
"user_email": "grace@example.com",
"user_name": "Grace Hopper",
"workspace_id": "e26b82c5-668f-4456-ba5a-2ec15e4e243c",
"workspace_name": "Example Ltd"
}Get SignWell document
Get a document and where each recipient has got to. Poll this to hold a workflow until everyone has signed.
Inputs
- Document ID
document_idtextRequired - The document's SignWell id. You can get this from either create action, or from the end of the document's page URL.
Outputs
documentobject
Example output
{
"document": {
"apply_signing_order": false,
"archived": false,
"created_at": "2026-01-28T16:59:03Z",
"decline_message": null,
"embedded_edit_url": null,
"embedded_preview_url": "https://www.signwell.com/preview/document/582a6a8f/",
"error_message": null,
"expires_in": 30,
"files": [
{
"name": "agreement.pdf",
"pages_number": 3
}
],
"id": "582a6a8f-931b-491d-91f3-b27cdefa7878",
"message": "Let me know if anything needs changing before you sign.",
"metadata": {
"deal_id": "4821"
},
"name": "Consulting agreement",
"recipients": [
{
"delivery_method": "email",
"email": "ada@example.com",
"id": "023d6b54-8cb0-4efb-928c-14c0758070bc",
"name": "Ada Lovelace",
"signing_order": 1,
"signing_url": "https://www.signwell.com/docs/b98cc5a442/",
"status": "sent"
}
],
"requester_email_address": "grace@example.com",
"status": "Sent",
"subject": "Please sign the consulting agreement",
"test_mode": true,
"updated_at": "2026-01-28T16:59:03Z"
}
}Get SignWell signed PDF
Get a download link for the finished, signed PDF, optionally with the audit page attached. Use this after a document completes to file the signed copy somewhere.
Inputs
- Document ID
document_idtextRequired - The document's SignWell id. You can get this from either create action, or from the end of the document's page URL.
- Audit page
audit_pagetrue/false - Include SignWell's audit trail page, which records who signed and when. On by default.
- File format
file_formattext - Get one merged PDF, or a ZIP with each file separately. Defaults to PDF.One of:
pdf(Single PDF),zip(ZIP of separate files).
Outputs
file_urltext- Temporary link to download the signed file from.
Example output
{
"file_url": "https://www.signwell.com/signed/gZLbdGbkzrtAyy2DQMNqH4baE9EP.pdf?audit_page=true"
}Get SignWell template
Get a template with the recipient roles and the field ids it expects, which is exactly what Create SignWell document from template needs to fill in.
Inputs
- Template ID
template_idtextRequired - The template's SignWell id, from the template's page URL.
Outputs
templateobject
Example output
{
"template": {
"apply_signing_order": true,
"archived": false,
"created_at": "2026-01-24T16:59:23Z",
"embedded_edit_url": "https://www.signwell.com/edit/template/9af41161/",
"field_api_ids": [
"company_name",
"start_date"
],
"id": "0ac7e607-a1a2-41ff-b01b-3fdca3cbba71",
"message": "Standard terms, nothing unusual.",
"name": "Consulting agreement",
"placeholders": [
{
"id": "1",
"name": "Client"
},
{
"id": "2",
"name": "Contractor"
}
],
"status": "Available",
"subject": "Please sign the consulting agreement",
"template_link": "https://www.signwell.com/new_doc/rVkU9XeirC1PSEXT/",
"updated_at": "2026-01-24T16:59:23Z"
}
}Send SignWell reminder
Remind everyone who has not signed the document yet. Each person is reminded through whichever delivery method they were set up with.
Inputs
- Document ID
document_idtextRequired - The document's SignWell id. You can get this from either create action, or from the end of the document's page URL.
Outputs
documentobject
Example output
{
"document": {
"apply_signing_order": false,
"archived": false,
"created_at": "2026-01-28T16:59:03Z",
"decline_message": null,
"embedded_edit_url": null,
"embedded_preview_url": "https://www.signwell.com/preview/document/582a6a8f/",
"error_message": null,
"expires_in": 30,
"files": [
{
"name": "agreement.pdf",
"pages_number": 3
}
],
"id": "582a6a8f-931b-491d-91f3-b27cdefa7878",
"message": "Let me know if anything needs changing before you sign.",
"metadata": {
"deal_id": "4821"
},
"name": "Consulting agreement",
"recipients": [
{
"delivery_method": "email",
"email": "ada@example.com",
"id": "023d6b54-8cb0-4efb-928c-14c0758070bc",
"name": "Ada Lovelace",
"signing_order": 1,
"signing_url": "https://www.signwell.com/docs/b98cc5a442/",
"status": "sent"
}
],
"requester_email_address": "grace@example.com",
"status": "Sent",
"subject": "Please sign the consulting agreement",
"test_mode": true,
"updated_at": "2026-01-28T16:59:03Z"
}
}