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

ActionWhat it does
Create SignWell documentCreate a document from one or more files and send it for signature.
Create SignWell document from templateCreate a document from a SignWell template and send it for signature.
Delete SignWell documentDelete a document.
Get SignWell accountGet the account and workspace the connected API key belongs to.
Get SignWell documentGet a document and where each recipient has got to.
Get SignWell signed PDFGet a download link for the finished, signed PDF, optionally with the audit page attached.
Get SignWell templateGet 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 reminderRemind 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

FilesfileslistRequired
The documents to send, each with a name and a publicly reachable file_url.
RecipientsrecipientslistRequired
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.
Fieldsfieldslist
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.
Namenametext
Name for the document, shown to recipients.
Subjectsubjecttext
Subject line of the email sent to recipients.
Messagemessagetext
Message shown in the email sent to recipients.
Apply signing orderapply_signing_ordertrue/false
Make recipients sign one after another in the order given, rather than all at once.
Remindersreminderstrue/false
Let SignWell send its own automatic reminders to people who have not signed. On by default.
Expires inexpires_innumber
How many days recipients have to sign before the document expires.
Test modetest_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.
Draftdrafttrue/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 IDtemplate_idtextRequired
The template's SignWell id, from the template's page URL or the Get SignWell template action.
RecipientsrecipientslistRequired
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 fieldstemplate_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.
Namenametext
Name for the new document. Defaults to the template's.
Subjectsubjecttext
Subject line of the email sent to recipients.
Messagemessagetext
Message shown in the email sent to recipients.
Apply signing orderapply_signing_ordertrue/false
Make recipients sign one after another in the order given, rather than all at once.
Test modetest_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.
Draftdrafttrue/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 IDdocument_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 IDdocument_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 IDdocument_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 pageaudit_pagetrue/false
Include SignWell's audit trail page, which records who signed and when. On by default.
File formatfile_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 IDtemplate_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 IDdocument_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"
  }
}

On this page