Skip to content

Yousign ​

Gets an emailed attachment electronically signed: request, document, signers, activation, then collection of the signed document and its audit trail. ⚠ Activation is billed by Yousign.

The Yousign node gets a document electronically signed and collects the result. It covers the whole journey: create a signature request, upload an email attachment to it, add the signers and their signature field, activate the request (which sends the invitations), then, once signed, fetch the signed document and the audit trail into the run.

It works with a Yousign API key stored once in Connections; the connection also sets the environment (sandbox or production), so a workflow never switches environment on its own. See Yousign to create it. To react when a request is signed, declined or expires, use the Yousign — event trigger.

A typical sending workflow chains four Yousign nodes: Signature request · Create a draft, Document · Upload an email attachment, Signer · Add a signer, Signature request · Activate. The receiving workflow starts on the trigger and chains Document · Download the signed document and Download the audit trail.

At a glance ​

  • Type: yousign.api · version 1
  • Category: Actions
  • Kind: Step — one stage of a run
  • Effect: Writes outside (external_write) — writes outside Mankomail; described instead of performed during a test run
  • Needs a carrier email: No
  • Connection: Yousign
  • Inputs: main
  • Outputs: main

Connection ​

This node needs a Yousign connection.

Parameters ​

connection ​

Yousign connection — The Yousign connection to use. Create it once in Connections; its key never appears in the workflow.

  • Type: Connection (credential)
  • Required: Yes
  • Default: "" (empty)

resource ​

Resource

  • Type: One choice (options)
  • Required: Yes
  • Default: signatureRequest
  • Options:
    • signatureRequest — Signature request: The folder: create it, activate it (that is the send), follow it, cancel it.
    • document — Document: Upload an email attachment, or fetch the signed document and the audit trail.
    • signer — Signer: Who signs, at which level, and where the signature lands on the page.
    • approver — Approver: Approves the request before the signers are asked, without signing.
    • follower — Follower: Receives a copy of the signed document, with nothing to do.
    • template — Template: List the active templates prepared in the Yousign app.
    • contact — Contact: List the Yousign address book.
    • user — User: List the members of the Yousign organisation.
    • workspace — Workspace: List the workspaces.
    • webhook — Webhook: List, create or delete a subscription — what feeds the trigger.

signatureRequestOperation ​

Operation

  • Type: One choice (options)
  • Required: Yes
  • Default: create
  • Options:
    • create — Create a draft: Nothing is sent: the request starts as a draft, ready for documents and signers.
    • createFromTemplate — Create from a template: Documents and fields come from the template; only the placeholders remain to fill.
    • get — Get a request: Its status, documents, signers and their signature links.
    • list — List requests: Filterable by status, by origin and by external id.
    • activate — Activate — ⚠ sends the emails and triggers billing: Yousign counts one credit per invited signer, at activation time, whether they sign or not. This operation requires an explicit confirmation.
    • cancel — Cancel: Only possible on a request under approval or in progress. Final: a cancelled request can never be reactivated.
    • reactivate — Reactivate an expired request: Brings an expired request back to life, with a mandatory new expiry date.
    • delete — Delete: Not possible under approval or in progress. By default the request goes to the bin and stays restorable.
  • Shown when: resource is signatureRequest

documentOperation ​

Operation

  • Type: One choice (options)
  • Required: Yes
  • Default: upload
  • Options:
    • upload — Upload an email attachment: The bytes go out as multipart/form-data — Yousign refuses base64 — and never cross the workflow.
    • list — List documents: Their name, nature, page count and SHA-256 digest.
    • downloadSigned — Download the signed document: The completed version, available once the request is done. One signable document ⇒ a PDF, several ⇒ a ZIP.
    • downloadAuditTrail — Download the audit trail: Every signer’s audit trail, merged into one PDF — the evidence to keep for ten years.
  • Shown when: resource is document

signerOperation ​

Operation

  • Type: One choice (options)
  • Required: Yes
  • Default: create
  • Options:
    • create — Add a signer: With its signature level and its signature field — without a field, activation fails.
    • get — Get a signer: Its status and its signature link, to relay yourself in “no delivery” mode.
    • list — List signers
    • remind — Remind a signer: Re-sends the invitation to that signer. No billing: the credit was counted at activation.
  • Shown when: resource is signer

approverOperation ​

Operation

  • Type: One choice (options)
  • Required: Yes
  • Default: create
  • Options:
    • create — Add an approver: Only while the request is a draft. Ten approvers at most.
    • list — List approvers
  • Shown when: resource is approver

followerOperation ​

Operation

  • Type: One choice (options)
  • Required: Yes
  • Default: create
  • Options:
    • create — Add followers: One or more addresses, comma-separated. A hundred at most.
    • list — List followers
  • Shown when: resource is follower

webhookOperation ​

Operation

  • Type: One choice (options)
  • Required: Yes
  • Default: list
  • Options:
    • list — List subscriptions: Their description and URL. The signing key is never returned by the node.
    • create — Create a subscription: Webhooks are a shared domain at Yousign: a production key is required to create one through the API, even to listen to the sandbox.
    • delete — Delete a subscription
  • Shown when: resource is webhook

signatureRequest ​

Signature request — The target request. In id mode, {{ data.create_request.signatureRequestId }} reuses the one created earlier by the “Create request” step; from the Yousign trigger, it is {{ data.yousign.data.signature_request.id }}.

  • Type: Remote resource (resourceLocator)
  • Required: Yes
  • Ways to choose: pick from a list, type an ID, paste a URL (yousign.signatureRequest)
  • Listed with the connection in: connection
  • Shown when: (resource is signatureRequest and signatureRequestOperation is one of get, activate, cancel, reactivate, delete) or resource is document or resource is signer or resource is approver or resource is follower

name ​

Request name — What the recipients see as the subject. 128 characters at most.

  • Type: Text (string)
  • Required: Yes
  • Default: "" (empty)
  • 128 characters at most
  • Example: {{ email.subject }}
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate
  • Expressions: {{ }} accepted

template ​

Template — Only active templates are offered: a draft template makes the creation fail.

  • Type: Remote resource (resourceLocator)
  • Required: Yes
  • Ways to choose: pick from a list, type an ID (yousign.template)
  • Listed with the connection in: connection
  • Shown when: resource is signatureRequest and signatureRequestOperation is createFromTemplate

templateSigners ​

Template signers — One placeholder per row. The label is the template’s own, and it is case-sensitive: “Client” ≠ “client”. Every placeholder must be filled.

  • Type: List of items (collection)
  • Required: No
  • At most 20 items
  • Each item has:
    • label — Template label
      • Type: Text (string)
      • Required: Yes
      • Default: "" (empty)
      • 128 characters at most
    • firstName — First name
      • Type: Text (string)
      • Required: No
      • Default: "" (empty)
      • 100 characters at most
    • lastName — Last name
      • Type: Text (string)
      • Required: No
      • Default: "" (empty)
      • 100 characters at most
    • email — Email address
      • Type: Text (string)
      • Required: No
      • Default: "" (empty)
      • 100 characters at most
    • locale — Language
      • Type: One choice (options)
      • Required: No
      • Default: fr
      • Options:
        • en — en
        • fr — fr
        • de — de
        • it — it
        • nl — nl
        • es — es
        • pl — pl
        • pt — pt
        • ro — ro
  • Shown when: resource is signatureRequest and signatureRequestOperation is createFromTemplate

templateTexts ​

Template texts — The template’s “read-only text” fields: the label as key, the text as value.

  • Type: Key / value pairs (keyValue)
  • Required: No
  • Shown when: resource is signatureRequest and signatureRequestOperation is createFromTemplate
  • Expressions: {{ }} accepted

deliveryMode ​

Invitation delivery

  • Type: One choice (options)
  • Required: No
  • Default: email
  • Options:
    • email — Yousign sends the emails: The usual case: each recipient gets their invitation and reminders.
    • none — No delivery — I relay the link: Activation then returns signature_link for each signer. ⚠ It expires after 48 hours.
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate

orderedSigners ​

Sequential signing — Each signer is only asked after the previous one. Mandatory for qualified signatures.

  • Type: Yes / no (boolean)
  • Required: No
  • Default: false
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate

signersAllowedToDecline ​

Allow signers to decline — Declining becomes a traceable answer rather than silence: the request turns “declined” and the event reaches the trigger.

  • Type: Yes / no (boolean)
  • Required: No
  • Default: true
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate

expirationDate ​

Expiry date — In YYYY-MM-DD format. Empty on creation = six months. Never more than a year, never in the past. Mandatory when reactivating an expired request.

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 10 characters at most
  • Example: 2026-10-31
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate, reactivate
  • Expressions: {{ }} accepted

externalId ​

External id — 🔴 The idempotency key. Left empty, the node derives one from the step: a retry then finds the request already created instead of creating a second one. Filled in, it is your own case reference — it comes back in the webhooks.

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 255 characters at most
  • Example: case-2026-0412
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate
  • Expressions: {{ }} accepted

timezone ​

Time zone — IANA name (Europe/Paris). Empty = the Yousign organisation setting.

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 64 characters at most
  • Example: Europe/Paris
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate
  • Expressions: {{ }} accepted

auditTrailLocale ​

Audit trail language

  • Type: One choice (options)
  • Required: No
  • Default: fr
  • Options:
    • de — de
    • en — en
    • es — es
    • fr — fr
    • it — it
    • pt — pt
    • ro — ro
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate

workspace ​

Workspace — Empty = the default workspace. ⚠ Leave it empty when the template already belongs to a workspace: Yousign refuses the mismatch.

  • Type: Remote resource (resourceLocator)
  • Required: No
  • Ways to choose: pick from a list, type an ID (yousign.workspace)
  • Listed with the connection in: connection
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate

reminderInterval ​

Automatic reminders

  • Type: One choice (options)
  • Required: No
  • Default: 0
  • Options:
    • 0 — None
    • 1 — Every day
    • 2 — Every two days
    • 7 — Every week
    • 14 — Every two weeks
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate

reminderMaxOccurrences ​

Reminder count

  • Type: Number (number)
  • Required: No
  • Default: 3
  • Whole number, from 1 to 10
  • Shown when: (resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate) and reminderInterval is not 0

emailSubject ​

Invitation subject — Replaces Yousign’s default subject. Empty = Yousign’s own.

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 255 characters at most
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate
  • Expressions: {{ }} accepted

emailBody ​

Invitation message

  • Type: Long text (text)
  • Required: No
  • Default: "" (empty)
  • 2000 characters at most
  • Shown when: resource is signatureRequest and signatureRequestOperation is one of create, createFromTemplate
  • Expressions: {{ }} accepted

confirmBilling ​

I confirm this activation is billed — Yousign counts one credit per invited signer, at activation time, whether they sign or not. Without this box, the node refuses to activate.

  • Type: Yes / no (boolean)
  • Required: Yes
  • Default: false
  • Shown when: resource is signatureRequest and signatureRequestOperation is activate

sender ​

Sender — The Yousign user the invitation is sent on behalf of. Empty = the API key owner.

  • Type: Remote resource (resourceLocator)
  • Required: No
  • Ways to choose: pick from a list, type an ID (yousign.user)
  • Listed with the connection in: connection
  • Shown when: resource is signatureRequest and signatureRequestOperation is activate

cancelReason ​

Cancellation reason

  • Type: One choice (options)
  • Required: Yes
  • Default: errors_in_document
  • Options:
    • errors_in_document — Errors in the document
    • contractualization_aborted — Contractualisation aborted
    • other — Other
  • Shown when: resource is signatureRequest and signatureRequestOperation is cancel

cancelNote ​

Note — Passed on to the recipients. 500 characters at most.

  • Type: Long text (text)
  • Required: No
  • Default: "" (empty)
  • 500 characters at most
  • Shown when: resource is signatureRequest and signatureRequestOperation is cancel
  • Expressions: {{ }} accepted

permanentDelete ​

Permanent deletion — Unchecked, the request goes to the bin and stays restorable. Checked, it is gone — irreversibly.

  • Type: Yes / no (boolean)
  • Required: No
  • Default: false
  • Shown when: resource is signatureRequest and signatureRequestOperation is delete

statuses ​

Statuses — Nothing checked = every status.

  • Type: Several choices (multiOptions)
  • Required: No
  • Default: []
  • Options:
    • draft — draft
    • approval — approval
    • ongoing — ongoing
    • done — done
    • paused — paused
    • declined — declined
    • rejected — rejected
    • expired — expired
    • canceled — canceled
    • deleted — deleted
  • Shown when: resource is signatureRequest and signatureRequestOperation is list

sources ​

Where requests come from — 🔴 Yousign only returns API-created requests when nothing is said. With both boxes checked, the ones prepared in the app show up too.

  • Type: Several choices (multiOptions)
  • Required: No
  • Default: ["public_api","app"]
  • Options:
    • public_api — Created through the API
    • app — Created in the application
  • Shown when: resource is signatureRequest and signatureRequestOperation is list

query ​

Search — Full-text search on the request name, performed by Yousign.

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 200 characters at most
  • Shown when: resource is signatureRequest and signatureRequestOperation is list
  • Expressions: {{ }} accepted

externalIdFilter ​

Exact external id — Finds the request of one specific case — the reverse read of the idempotency key.

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 255 characters at most
  • Shown when: resource is signatureRequest and signatureRequestOperation is list
  • Expressions: {{ }} accepted

limit ​

Maximum count

  • Type: Number (number)
  • Required: No
  • Default: 50
  • Whole number, from 1 to 200
  • Shown when: (resource is signatureRequest and signatureRequestOperation is list) or (resource is document and documentOperation is list) or (resource is signer and signerOperation is list) or (resource is approver and approverOperation is list) or (resource is follower and followerOperation is list) or resource is template or resource is contact or resource is user or resource is workspace or (resource is webhook and webhookOperation is list)

documentNature ​

Document nature

  • Type: One choice (options)
  • Required: No
  • Default: signable_document
  • Options:
    • signable_document — Signable document: PDF or DOCX. An image cannot be signable.
    • attachment — Informative attachment: Attached to the folder without being signed. PDF, DOCX, JPEG or PNG.
  • Shown when: resource is document and documentOperation is upload

selection ​

Attachments to use

  • Type: One choice (options)
  • Required: Yes
  • Default: all
  • Options:
    • all — All attachments: Those of the triggering email, then the files added by earlier steps (a fetched deed, a signed PDF), in that order.
    • first — The first one only: The first attachment, when only one matters.
    • byMime — By file type: By MIME type: application/pdf, or a whole family with image/*.
    • byName — By file name: By name pattern: *.pdf, invoice-*.
  • Shown when: resource is document and documentOperation is upload

mime ​

File type — Exact MIME type (application/pdf) or a whole family (image/*). Left empty, no attachment is kept.

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 200 characters at most
  • Example: application/pdf
  • Shown when: (resource is document and documentOperation is upload) and selection is byMime
  • Expressions: {{ }} accepted

namePattern ​

File name — Simple pattern: * matches anything, ? one character (*.pdf, invoice-*). Case is ignored.

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 200 characters at most
  • Example: *.pdf
  • Shown when: (resource is document and documentOperation is upload) and selection is byName
  • Expressions: {{ }} accepted

documentName ​

Rename the document — Empty = the attachment’s own name. No / or \, no leading or trailing space.

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 128 characters at most
  • Shown when: resource is document and documentOperation is upload
  • Expressions: {{ }} accepted

parseAnchors ​

Detect Smart Anchors — Looks for {{s1|signature|85|37}} tags written in white inside the PDF. ⚠ Silent failure: no error when the criteria are not met — the node returns anchors so you can check.

  • Type: Yes / no (boolean)
  • Required: No
  • Default: false
  • Shown when: resource is document and documentOperation is upload

downloadVersion ​

Version to download

  • Type: One choice (options)
  • Required: No
  • Default: completed
  • Options:
    • completed — Signed (request done): Only available once the request status is “done”.
    • current — As it stands: The document as it stands today, signatures in progress included.
  • Shown when: resource is document and documentOperation is downloadSigned

mergeAuditTrails ​

Merge the audit trails — Checked: a single PDF. Unchecked: a ZIP archive, one file per signer.

  • Type: Yes / no (boolean)
  • Required: No
  • Default: true
  • Shown when: resource is document and documentOperation is downloadAuditTrail

maxDownloadMb ​

Maximum size (MB)

  • Type: Number (number)
  • Required: No
  • Default: 10
  • Whole number, from 1 to 10
  • Shown when: resource is document and documentOperation is one of downloadSigned, downloadAuditTrail

includeContent ​

Include the encoded content — Unchecked (recommended): the file is dropped into the run’s attachments and a “Compose an email” can attach it by its position. Checked: it is also returned as base64 in the step data, which weighs on every re-read.

  • Type: Yes / no (boolean)
  • Required: No
  • Default: false
  • Shown when: resource is document and documentOperation is one of downloadSigned, downloadAuditTrail

signer ​

Signer

  • Type: Remote resource (resourceLocator)
  • Required: Yes
  • Ways to choose: pick from a list, type an ID (yousign.signer)
  • Listed inside: signatureRequest
  • Listed with the connection in: connection
  • Shown when: resource is signer and signerOperation is one of get, remind

signerSource ​

Who signs?

  • Type: One choice (options)
  • Required: No
  • Default: info
  • Options:
    • info — A person entered here: The usual case: the details come from the email or from an extraction.
    • contact — A contact from the Yousign book
    • user — A member of the organisation
  • Shown when: resource is signer and signerOperation is create

signerFirstName ​

First name

  • Type: Text (string)
  • Required: Yes
  • Default: "" (empty)
  • 100 characters at most
  • Shown when: (resource is signer and signerOperation is create) and signerSource is info
  • Expressions: {{ }} accepted

signerLastName ​

Last name

  • Type: Text (string)
  • Required: Yes
  • Default: "" (empty)
  • 100 characters at most
  • Shown when: (resource is signer and signerOperation is create) and signerSource is info
  • Expressions: {{ }} accepted

signerEmail ​

Email address — 100 characters at most — that is Yousign’s limit, not ours.

  • Type: Text (string)
  • Required: Yes
  • Default: "" (empty)
  • 100 characters at most
  • Example: {{ email.from.email }}
  • Shown when: (resource is signer and signerOperation is create) and signerSource is info
  • Expressions: {{ }} accepted

signerPhone ​

Phone number — In international format (+33612345678). Mandatory as soon as authentication goes through SMS, hence for any advanced signature.

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 20 characters at most
  • Shown when: (resource is signer and signerOperation is create) and signerSource is info
  • Expressions: {{ }} accepted

signerLocale ​

Signer language

  • Type: One choice (options)
  • Required: No
  • Default: fr
  • Options:
    • en — en
    • fr — fr
    • de — de
    • it — it
    • nl — nl
    • es — es
    • pl — pl
    • pt — pt
    • ro — ro
  • Shown when: (resource is signer and signerOperation is create) and signerSource is info

signerContact ​

Contact — ⚠ A contact restricted to one workspace cannot sign a request from another workspace.

  • Type: Remote resource (resourceLocator)
  • Required: Yes
  • Ways to choose: pick from a list, type an ID (yousign.contact)
  • Listed with the connection in: connection
  • Shown when: (resource is signer and signerOperation is create) and signerSource is contact

signerUser ​

Organisation member

  • Type: Remote resource (resourceLocator)
  • Required: Yes
  • Ways to choose: pick from a list, type an ID (yousign.user)
  • Listed with the connection in: connection
  • Shown when: (resource is signer and signerOperation is create) and signerSource is user

signatureLevel ​

Signature level

  • Type: One choice (options)
  • Required: No
  • Default: electronic_signature
  • Options:
    • electronic_signature — Simple (SES): The usual level, available out of the box. Authentication with no code, by email or by SMS.
    • advanced_electronic_signature — Advanced (AES): Identity document verification. ⚠ SMS code is mandatory, and the level must be enabled by Yousign support.
    • qualified_electronic_signature — Qualified (QES): Identity document and a human-verified video. ⚠ Requires sequential signing, the same level for every signer, and activation by support.
  • Shown when: resource is signer and signerOperation is create

authenticationMode ​

Authentication

  • Type: One choice (options)
  • Required: No
  • Default: otp_email
  • Options:
    • otp_email — Code by email
    • otp_sms — Code by SMS
    • no_otp — No code
    • none — Not applicable (qualified): A qualified signature accepts no code: the identity is already verified by video.
  • Shown when: resource is signer and signerOperation is create

fieldMode ​

Signature field — 🔴 Every signer must have at least one field, otherwise activation fails.

  • Type: One choice (options)
  • Required: No
  • Default: coordinates
  • Options:
    • coordinates — At given coordinates: Origin at the top left of the page, in points. An A4 page is about 596 × 842.
    • smartAnchors — By Smart Anchors: The PDF tags place the fields at activation time. The document must have been uploaded with detection enabled.
    • none — None (the template carries them): Only for requests created from a template, where the fields already exist.
  • Shown when: resource is signer and signerOperation is create

fieldDocument ​

Document to sign — In id mode, {{ data.api_1.documentId }} reuses the one uploaded just before by the “Upload” step.

  • Type: Remote resource (resourceLocator)
  • Required: Yes
  • Ways to choose: pick from a list, type an ID (yousign.document)
  • Listed inside: signatureRequest
  • Listed with the connection in: connection
  • Shown when: (resource is signer and signerOperation is create) and fieldMode is coordinates

fieldPage ​

Page

  • Type: Number (number)
  • Required: No
  • Default: 1
  • Whole number, from 1 to 2000
  • Shown when: (resource is signer and signerOperation is create) and fieldMode is coordinates

fieldX ​

X (points from the left)

  • Type: Number (number)
  • Required: No
  • Default: 100
  • Whole number, from 0 to 32767
  • Shown when: (resource is signer and signerOperation is create) and fieldMode is coordinates

fieldY ​

Y (points from the top)

  • Type: Number (number)
  • Required: No
  • Default: 650
  • Whole number, from 0 to 32767
  • Shown when: (resource is signer and signerOperation is create) and fieldMode is coordinates

fieldWidth ​

Width

  • Type: Number (number)
  • Required: No
  • Default: 85
  • Whole number, from 85 to 2000
  • Shown when: (resource is signer and signerOperation is create) and fieldMode is coordinates

fieldHeight ​

Height

  • Type: Number (number)
  • Required: No
  • Default: 37
  • Whole number, from 37 to 1000
  • Shown when: (resource is signer and signerOperation is create) and fieldMode is coordinates

approverUser ​

Internal approver — A member of the Yousign organisation. Left empty, the details entered below are used instead.

  • Type: Remote resource (resourceLocator)
  • Required: No
  • Ways to choose: pick from a list, type an ID (yousign.user)
  • Listed with the connection in: connection
  • Shown when: resource is approver and approverOperation is create

approverFirstName ​

First name

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 100 characters at most
  • Shown when: resource is approver and approverOperation is create
  • Expressions: {{ }} accepted

approverLastName ​

Last name

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 100 characters at most
  • Shown when: resource is approver and approverOperation is create
  • Expressions: {{ }} accepted

approverEmail ​

Email address

  • Type: Text (string)
  • Required: No
  • Default: "" (empty)
  • 100 characters at most
  • Shown when: resource is approver and approverOperation is create
  • Expressions: {{ }} accepted

approverLocale ​

Language

  • Type: One choice (options)
  • Required: No
  • Default: fr
  • Options:
    • en — en
    • fr — fr
    • de — de
    • it — it
    • nl — nl
    • es — es
    • pl — pl
    • pt — pt
    • ro — ro
  • Shown when: resource is approver and approverOperation is create

followerEmails ​

Follower addresses — Comma-separated. They receive a copy of the signed document, with nothing to do.

  • Type: Text (string)
  • Required: Yes
  • Default: "" (empty)
  • 2000 characters at most
  • Example: office@firm.com
  • Shown when: resource is follower and followerOperation is create
  • Expressions: {{ }} accepted

followerLocale ​

Language

  • Type: One choice (options)
  • Required: No
  • Default: fr
  • Options:
    • en — en
    • fr — fr
    • de — de
    • it — it
    • nl — nl
    • es — es
    • pl — pl
    • pt — pt
    • ro — ro
  • Shown when: resource is follower and followerOperation is create

webhook ​

Subscription

  • Type: Remote resource (resourceLocator)
  • Required: Yes
  • Ways to choose: pick from a list, type an ID (yousign.webhook)
  • Listed with the connection in: connection
  • Shown when: resource is webhook and webhookOperation is delete

webhookEndpoint ​

Destination URL — HTTPS only, public, and outside private networks. It is the trigger’s absolute URL, to copy from the “Yousign — event” node panel (shown once published).

  • Type: Text (string)
  • Required: Yes
  • Default: "" (empty)
  • 1024 characters at most
  • Shown when: resource is webhook and webhookOperation is create
  • Expressions: {{ }} accepted

webhookDescription ​

Description

  • Type: Text (string)
  • Required: Yes
  • Default: "" (empty)
  • 128 characters at most
  • Shown when: resource is webhook and webhookOperation is create
  • Expressions: {{ }} accepted

webhookSandbox ​

Listen to the sandbox — Webhooks are shared between both environments: this box, not the connection, decides what is listened to.

  • Type: Yes / no (boolean)
  • Required: No
  • Default: true
  • Shown when: resource is webhook and webhookOperation is create

webhookEvents ​

Subscribed events — Nothing checked = every event existing at creation time.

  • Type: Several choices (multiOptions)
  • Required: No
  • Default: ["signature_request.done"]
  • Options:
    • signature_request.activated — signature_request.activated
    • signature_request.done — signature_request.done
    • signature_request.declined — signature_request.declined
    • signature_request.rejected — signature_request.rejected
    • signature_request.expired — signature_request.expired
    • signature_request.canceled — signature_request.canceled
    • signature_request.approved — signature_request.approved
    • signature_request.reminder_executed — signature_request.reminder_executed
    • signer.notified — signer.notified
    • signer.link_opened — signer.link_opened
    • signer.done — signer.done
    • signer.declined — signer.declined
    • signer.error — signer.error
    • signer.notification_delivery_failed — signer.notification_delivery_failed
    • approver.approved — approver.approved
    • approver.rejected — approver.rejected
    • contact.created — contact.created
  • Shown when: resource is webhook and webhookOperation is create

webhookScopes ​

Listened origins

  • Type: Several choices (multiOptions)
  • Required: No
  • Default: ["public_api","app"]
  • Options:
    • public_api — Created through the API
    • app — Created in the application
  • Shown when: resource is webhook and webhookOperation is create

webhookAutoRetry ​

Automatic redelivery — Yousign resends failed deliveries for about four days. Leave it checked: it is what absorbs a restart.

  • Type: Yes / no (boolean)
  • Required: No
  • Default: true
  • Shown when: resource is webhook and webhookOperation is create

Outputs ​

  • main — Taken once the Yousign operation has succeeded. An error answer from Yousign fails the step instead.

Data produced ​

What this node adds to the run data, and how to read it in an expression. <step> stands for the step key: the node name turned into an identifier (see Data and expressions).

  • {{ data.<step>.signatureRequestId }} — string. The id of the signature request concerned (for List requests, the first one returned). Empty in a test run after a creation.
  • {{ data.<step>.signatureRequest }} — { id, name, status, source, externalId, deliveryMode, createdAt, expirationDate, workspaceId }. Create a draft, Create from a template, Get a request, Activate, Reactivate: the signature request.
  • {{ data.<step>.status }} — string. Same operations: the status of the request (draft, approval, ongoing, done, declined, expired…).
  • {{ data.<step>.externalId }} — string. Same operations: the external id of the request, the idempotency key described below.
  • {{ data.<step>.reused }} — boolean. Create a draft and Create from a template: true when a request with the same external id already existed and was returned instead of creating a second one.
  • {{ data.<step>.documents }} — array of { id, filename, nature, contentType, sha256, totalPages, anchors, signed }. Get a request, Upload an email attachment, List documents: the documents of the request. nature is signable_document or attachment, anchors the number of Smart Anchors detected.
  • {{ data.<step>.signers }} — array of { id, status, firstName, lastName, email, signatureLevel, signatureLink, signatureLinkExpiresAt }. Get a request, Activate, List signers: the signers. signatureLink is only filled when the request uses No delivery, after activation.
  • {{ data.<step>.signatureLink }} — string. Get a request, Activate, Get a signer: the signature link of the first signer (or of the signer read). Only filled in No delivery mode; it expires after 48 hours.
  • {{ data.<step>.signatureRequests }} — array of { id, name, status, source, externalId, deliveryMode, createdAt, expirationDate, workspaceId }. List requests only: the requests found.
  • {{ data.<step>.count }} — number. The number of items returned or written: requests, documents, signers, approvers, followers, templates, contacts, users, workspaces, subscriptions.
  • {{ data.<step>.truncated }} — boolean. List operations (except List subscriptions): true when more items existed than Maximum count allowed.
  • {{ data.<step>.activated }} — boolean. Activate only: true when the request was activated by this step. False when it was already active, and in a test run.
  • {{ data.<step>.alreadyActive }} — boolean. Activate only: true when the request had already left the draft state, so nothing was sent or billed again.
  • {{ data.<step>.billedSigners }} — number. Activate only: the number of invited signers Yousign counts for billing. 0 when the request was already active; in a test run, the number that would have been billed.
  • {{ data.<step>.cancelled }} — boolean. Cancel only: true when the cancellation was sent, false in a test run.
  • {{ data.<step>.reactivated }} — boolean. Reactivate an expired request only: true when the request was reactivated, false in a test run.
  • {{ data.<step>.expirationDate }} — string. Reactivate an expired request only: the new expiry date sent.
  • {{ data.<step>.deleted }} — boolean. Delete (request) and Delete a subscription: true when the deletion was sent, false in a test run.
  • {{ data.<step>.permanent }} — boolean. Delete (request) only: true when the deletion was permanent rather than to the bin.
  • {{ data.<step>.documentId }} — string. Upload an email attachment and List documents: the id of the first document, ready for the signature field of Add a signer.
  • {{ data.<step>.anchors }} — number. Upload an email attachment only: the total number of Smart Anchors detected in the uploaded documents.
  • {{ data.<step>.reusedNames }} — array of string. Upload an email attachment only: the file names already present on the request, which were not uploaded again.
  • {{ data.<step>.document }} — { filename, mime, size, sha256, attachmentPosition?, deduplicated? }. Download the signed document only: the file fetched. sha256 is its SHA-256 digest; attachmentPosition is its position in the run's attachments.
  • {{ data.<step>.auditTrail }} — { filename, mime, size, sha256, attachmentPosition?, deduplicated? }. Download the audit trail only: the file fetched, same shape as document.
  • {{ data.<step>.filename }} — string. Both downloads: the file name, as Yousign gives it, or signed-document.pdf, audit-trail.pdf (.zip for an archive) by default.
  • {{ data.<step>.mime }} — string. Both downloads: the MIME type of the file (application/pdf or application/zip).
  • {{ data.<step>.size }} — number. Both downloads: the size of the file, in bytes.
  • {{ data.<step>.attachmentPosition }} — number. Both downloads: the position of the file in the run's attachments, ready for a Compose step or an upload node.
  • {{ data.<step>.deduplicated }} — boolean. Both downloads: true when an identical file was already in the run's attachments; its position is reused.
  • {{ data.<step>.contentBase64 }} — string. Both downloads, only with Include the encoded content: the file content in base64.
  • {{ data.<step>.signer }} — { id, status, firstName, lastName, email, signatureLevel, signatureLink, signatureLinkExpiresAt }. Add a signer and Get a signer: the signer.
  • {{ data.<step>.signerId }} — string. Add a signer, Get a signer, Remind a signer, List signers (first one): the signer id. Empty in a test run after Add a signer.
  • {{ data.<step>.fieldsPlacedAtActivation }} — boolean. Add a signer only: true with Smart Anchors, whose fields only exist once the request is activated.
  • {{ data.<step>.reminded }} — boolean. Remind a signer only: true when the reminder was sent, false in a test run.
  • {{ data.<step>.approver }} — { id, status, firstName, lastName, email }. Add an approver only: the approver created.
  • {{ data.<step>.approverId }} — string. Add an approver only: the id of the approver, empty in a test run.
  • {{ data.<step>.approvers }} — array of { id, status, firstName, lastName, email }. List approvers only: the approvers of the request.
  • {{ data.<step>.followers }} — array. Add followers: the addresses sent, as strings. List followers: the followers, as { id, email, locale }.
  • {{ data.<step>.templates }} — array of { id, name, email, description, status }. Template resource only: the active templates. templateId gives the first one.
  • {{ data.<step>.contacts }} — array of { id, name, email, description, status }. Contact resource only: the contacts of the address book. contactId gives the first one.
  • {{ data.<step>.users }} — array of { id, name, email, description, status }. User resource only: the members of the Yousign organisation. userId gives the first one.
  • {{ data.<step>.workspaces }} — array of { id, name, email, description, status }. Workspace resource only: the workspaces. workspaceId gives the first one.
  • {{ data.<step>.webhooks }} — array of { id, description, endpoint, enabled, sandbox }. List subscriptions only: the webhook subscriptions. Their signing key is never returned.
  • {{ data.<step>.webhookId }} — string. Webhook operations: the subscription concerned (for List subscriptions, the first one; empty in a test run after a creation).
  • {{ data.<step>.endpoint }} — string. Create a subscription only: the destination URL registered.
  • {{ data.<step>.description }} — string. Create a subscription only: the description of the subscription.
  • {{ data.<step>.events }} — array of string. Create a subscription only: the events subscribed, * for all of them.
  • {{ data.<step>.secretReturned }} — boolean. Create a subscription only: always false. The signing key Yousign returns is not put into the step data.
  • {{ data.<step>.created }} — boolean. Create a subscription only: true when the subscription was created, false in a test run.
  • {{ data.<step>.simulated }} — boolean. true when a write was described rather than performed (test run). Reads and downloads are never simulated.
  • {{ data.<step>.summary }} — string. A one-line summary in the member's language, for example 'Signature request “Engagement letter” created (draft).' (with summaryKey and summaryParams).

Operations ​

The node first asks for a Resource (resource), then for the operation of that resource, in a parameter named <resource>Operation. Most operations work inside one Signature request (signatureRequest), chosen from a list, by id ({{ data.<step>.signatureRequestId }}) or by URL.

Signature request (signatureRequestOperation) ​

  • Create a draft (create, the default). Creates a draft request named Request name (name, 128 characters at most). Options: Invitation delivery (deliveryMode: Yousign sends the emails, or No delivery — I relay the link), Sequential signing (orderedSigners), Allow signers to decline (signersAllowedToDecline), Expiry date (expirationDate, YYYY-MM-DD; six months when empty), External id (externalId), Time zone (timezone), Audit trail language (auditTrailLocale), Workspace (workspace), Automatic reminders (reminderInterval) and Reminder count (reminderMaxOccurrences), Invitation subject (emailSubject) and Invitation message (emailBody). Nothing is sent. The node first looks for a request with the same external id (GET /signature_requests) and returns it if there is one; otherwise it calls POST /signature_requests. Publishes signatureRequest, signatureRequestId, status, externalId, reused.
  • Create from a template (createFromTemplate). Same as Create a draft, from an active Template (template): Template signers (templateSigners, one row per template placeholder: label, first name, last name, email, language) and Template texts (templateTexts, the read-only text fields). Same output.
  • Get a request (get). Reads the request with its documents and signers. Publishes signatureRequest, signatureRequestId, status, externalId, documents, signers, signatureLink.
  • List requests (list). Lists requests filtered by Statuses (statuses), Where requests come from (sources, both API and application by default), Search (query) and Exact external id (externalIdFilter), up to Maximum count (limit, 1 to 200, default 50). Publishes signatureRequests, signatureRequestId, count, truncated.
  • Activate (activate). Sends the invitations and triggers billing (POST /signature_requests/{id}/activate), on behalf of Sender (sender, the key owner when empty). It requires I confirm this activation is billed (confirmBilling) to be checked. The node reads the request first: if it has already left the draft state, nothing is sent. Publishes signatureRequest, signatureRequestId, status, externalId, signers, signatureLink, activated, alreadyActive, billedSigners.
  • Cancel (cancel). Cancels a request under approval or in progress, with Cancellation reason (cancelReason) and Note (cancelNote, passed on to the recipients). Final: a cancelled request cannot be reactivated. Publishes signatureRequestId, cancelled.
  • Reactivate an expired request (reactivate). Gives an expired request a new Expiry date, which is then required. Publishes signatureRequest, signatureRequestId, status, externalId, reactivated, expirationDate.
  • Delete (delete). Deletes a request that is not under approval or in progress. It goes to the bin, or disappears for good with Permanent deletion (permanentDelete). Publishes signatureRequestId, deleted, permanent.

Document (documentOperation) ​

  • Upload an email attachment (upload, the default). Selects attachments of the run with Attachments to use (selection: all, the first one, by file type mime, by file name namePattern) and sends each one as a separate document (POST /signature_requests/{id}/documents, multipart), with Document nature (documentNature: Signable document, PDF or DOCX, or Informative attachment), Rename the document (documentName, applied only when one file is selected) and Detect Smart Anchors (parseAnchors). A file whose name is already on the request is not sent again. Publishes signatureRequestId, documents, documentId, anchors, reusedNames, count.
  • List documents (list). Publishes signatureRequestId, documents, documentId, count, truncated.
  • Download the signed document (downloadSigned). Downloads Version to download (downloadVersion): Signed (request done) (completed, the default, only available once the request is done) or As it stands (current). One signable document gives a PDF, several give a ZIP. The file is added to the run's attachments. Publishes signatureRequestId, document, filename, mime, size, attachmentPosition, deduplicated, and contentBase64 with Include the encoded content (includeContent).
  • Download the audit trail (downloadAuditTrail). Downloads the signers' audit trails, merged into one PDF with Merge the audit trails (mergeAuditTrails, on by default) or as a ZIP with one file per signer. Same output, with auditTrail instead of document.

Both downloads are bounded by Maximum size (MB) (maxDownloadMb).

Signer (signerOperation) ​

  • Add a signer (create, the default). Who signs? (signerSource): A person entered here (First name signerFirstName, Last name signerLastName, Email address signerEmail, Phone number signerPhone, Signer language signerLocale), A contact from the Yousign book (signerContact) or A member of the organisation (signerUser). Signature level (signatureLevel: simple, advanced or qualified) and Authentication (authenticationMode). Signature field (fieldMode): At given coordinates on Document to sign (fieldDocument), Page (fieldPage), X (fieldX), Y (fieldY, from the top), Width (fieldWidth, 85 minimum), Height (fieldHeight, 37 minimum); By Smart Anchors; or None for a request created from a template. Publishes signatureRequestId, signer, signerId, fieldsPlacedAtActivation.
  • Get a signer (get). Reads Signer (signer). Publishes signatureRequestId, signer, signerId, signatureLink.
  • List signers (list). Publishes signatureRequestId, signers, signerId, count, truncated.
  • Remind a signer (remind). Re-sends the invitation to Signer. No extra billing. Publishes signatureRequestId, signerId, reminded.

Approver (approverOperation) ​

  • Add an approver (create, the default). An Internal approver (approverUser), or the person in First name, Last name, Email address and Language (approverFirstName, approverLastName, approverEmail, approverLocale). Only while the request is a draft. Publishes signatureRequestId, approver, approverId.
  • List approvers (list). Publishes signatureRequestId, approvers, count, truncated.

Follower (followerOperation) ​

  • Add followers (create, the default). Follower addresses (followerEmails, separated by commas, semicolons or line breaks, 100 at most) receive a copy of the signed document, in Language (followerLocale). Publishes signatureRequestId, followers, count.
  • List followers (list). Publishes signatureRequestId, followers, count, truncated.

Template, Contact, User, Workspace ​

Each of these resources has a single operation that lists the items (GET /templates, /contacts, /users, /workspaces), up to Maximum count. Templates are limited to active ones. Publishes templates and templateId, contacts and contactId, users and userId, or workspaces and workspaceId, with count and truncated.

Webhook (webhookOperation) ​

  • List subscriptions (list, the default). Publishes webhooks, webhookId, count.
  • Create a subscription (create). Registers Destination URL (webhookEndpoint, public HTTPS: the URL shown on the Yousign — event trigger) with Description (webhookDescription), Listen to the sandbox (webhookSandbox), Subscribed events (webhookEvents, all when none is checked), Listened origins (webhookScopes) and Automatic retry (webhookAutoRetry). Publishes webhookId, endpoint, description, events, secretReturned, created.
  • Delete a subscription (delete). Deletes Subscription (webhook). Publishes webhookId, deleted.

Every operation also publishes simulated and summary.

Example ​

When an engagement letter is fully signed, the signed PDF and its audit trail must be filed in Google Drive. The workflow starts on the Yousign — event trigger, set to signature_request.done; the event lives under data.yousign. A first Yousign node, named "Signed document", fetches the signed file:

text
resource            document
documentOperation   downloadSigned
signatureRequest    (id mode) {{ data.yousign.data.signature_request.id }}
downloadVersion     completed
maxDownloadMb       10
includeContent      off

Its data reads:

json
{
  "signatureRequestId": "6f1d2c3b-…",
  "document": {
    "filename": "Engagement letter.pdf",
    "mime": "application/pdf",
    "size": 184320,
    "sha256": "9b1c…",
    "attachmentPosition": 1,
    "deduplicated": false
  },
  "filename": "Engagement letter.pdf",
  "mime": "application/pdf",
  "size": 184320,
  "attachmentPosition": 1,
  "deduplicated": false,
  "simulated": false
}

A second Yousign node, named "Audit trail", does the same with documentOperation: downloadAuditTrail and mergeAuditTrails: on. Then a Drive — upload a file node named "Archive" uploads them:

text
source      attachment
selection   all
folder      (list mode) Signed engagement letters
onConflict  rename

A workflow started by Yousign has no triggering email, so All attachments only covers the two files fetched by the previous steps. The Drive links are then available in {{ data.archive.files.0.webViewLink }} and {{ data.archive.files.1.webViewLink }}. To find the client case again, use {{ data.yousign.data.signature_request.external_id }}: it is the external id given when the request was created.

Tips ​

  • Activation is billed. Yousign counts one credit per invited signer at activation time, whether they sign or not. The node refuses to activate unless I confirm this activation is billed is checked (node_invalid_param otherwise); this box cannot be filled by an expression. Before activating, the node reads the request: a request already under approval, in progress, done, declined or rejected is not activated again (alreadyActive: true, billedSigners: 0), so a replay never bills twice.
  • No duplicate request. External id is the idempotency key. Left empty, the node derives one from the step key, which stays the same across replays; filled in, it is your own case reference and comes back in the webhooks (letters, digits and _ - @ . % +, other characters become -, 255 characters at most). Before creating, the node looks for a request with this external id and returns it with reused: true.
  • Uploads. Yousign accepts multipart only, never base64: the node sends the attachment itself, read from the run. A file whose name is already on the request is not sent again (reusedNames), which makes a replay safe. If no attachment matches the selection, the step fails with node_nothing_to_do. Each attachment is capped at 10 MiB, checked for all of them before the first upload (attachment.too_large), so a request is never left half-filled.
  • Every signer needs a field. Without at least one signature field per signer, activation fails. With coordinates, the origin is the top left corner of the page, in points (an A4 page is about 596 × 842). With Smart Anchors, the document must have been uploaded with Detect Smart Anchors, and the fields are only created at activation. Detection fails silently: check that anchors is not 0.
  • Signature levels. Advanced signature always uses an SMS code and Qualified uses none, whatever Authentication says. An SMS code requires Phone number in international format (+33612345678), otherwise the step fails with node_invalid_param. Advanced and qualified levels must be enabled by Yousign support; qualified also requires sequential signing.
  • Signature links. In No delivery mode, Yousign sends no email and signatureLink carries each signer's link after activation; it expires after 48 hours.
  • Downloads. The signed version is only available once the request is done. Maximum size (MB) goes from 1 to 10, the server's real limit per downloaded file; a larger file fails the step. Leave Include the encoded content off unless an HTTP request needs the base64: the file is already in the run's attachments, and the encoded copy weighs on every later step.
  • Listing requests. Yousign only returns API-created requests unless told otherwise: keep both origins in Where requests come from to see the ones prepared in the application too.
  • Webhook subscriptions. Webhooks are shared between the sandbox and production at Yousign: creating one through the API requires a production key, even to listen to the sandbox, and Listen to the sandbox decides what is listened to. The signing key Yousign returns is never put in the step data: copy it into the connection by hand.
  • Test runs. In test runs, reads and downloads run for real, including the search by external id before a creation. Creations, uploads, activation, cancellation, reactivation, deletion, reminders and subscription changes are only described: nothing is sent, nothing is billed, simulated is true and no new id is returned. For Activate, billedSigners tells how many signers would have been billed.
  • Trigger data. In a workflow started by the Yousign trigger, the event lives under data.yousign. Do not name this node "Yousign" there: its data would only be reachable through the node id.
  • Errors. integration.unauthorized: the key was refused or revoked. integration.not_found: the request, document or signer does not exist in this environment. integration.rejected: Yousign refused the request as invalid; the error details carry Yousign's own message. integration.rate_limited and integration.unavailable are retried automatically: requests are paced to 30 per minute per connection (the sandbox limit), and a 409, 429 or 5xx answer gets up to three attempts before the engine retries the step later. See Error handling.