Get the 2 Make blueprints
Notes
Notes
- Yousign sandbox: every Yousign call targets
api-sandbox.yousign.app. Switch toapi.yousign.appfor production. - Signature level:
electronic_signature(simple electronic signature), withsignature_authentication_mode: no_otp, so signers get no SMS or email code. - Language and time zone: signers, emails and audit trail in English (
locale: en), time zoneEurope/Paris. - Delivery:
delivery_mode: email, Yousign sends the invitations and reminders to the signatories. - Signature zones: only Tomorro fields of type
signatureare sent,initialsare ignored. A signatory with no zone in Tomorro gets one at the bottom of the last page of the main document. - Webhook secrets: the Tomorro and Yousign webhook secrets are read from a Make data store.
Yousign Full Demo
Flow 1 - [Tomorro → Yousign] Signature is requested
Step 0 - Triggered by a user on Tomorro
Step 1 - Receive the signature.requested webhook
data.contractId, it is the key for every following call.Step 1.1 - Verify the Leeway signature
tomorro_webhook_secret. Inputs: the raw body, the request headers and the secret.Step 1.2 - Route the event
valid is true and test is not true. Route on eventType: signature.requested → this flow, signature.canceled → Flow 3.Step 2 - Retrieve the files and signature information
Step 3 - Retrieve more contract information (optional)
Step 4 - Work in Yousign
Step 4.1 - Build the Yousign signature request
contractId, contractName and signatureNote from the webhook, firstSigningParty from step 2. external_id = contractId is the link used by Flows 2, 3 and 4.Step 4.2 - Create the Yousign signature request
Step 4.3 - Download each file to sign
data.files from step 2, then download each downloadUrl (no auth header, valid 5 minutes).Step 4.4 - Upload each document to Yousign
Step 4.5 - Map each Tomorro file to its Yousign document
,:Step 4.6 - Build the Yousign signers
data from step 2 (files, signatories, firstSigningParty) and the mapping from step 4.5. Orders the signers, converts the Tomorro field positions into Yousign coordinates and cleans the names.Step 4.7 - Add each signer to Yousign
signers from step 4.6, one call per signer, in order:Step 4.8 - Activate the signature request
Flow 2 - [Yousign → Tomorro] Signature is completed
Step 0 - Receive the Yousign webhook
signature_request.done, and to the events of Flow 4.Step 0.1 - Verify the Yousign signature
yousign_webhook_secret. Inputs: the raw body, the request headers and the secret.Step 0.2 - Route the event
valid is true. This flow takes event_name = signature_request.done with a data.signature_request.external_id (the Tomorro contractId). The other events go to Flow 4.Step 0.3 - Download each signed document from Yousign
data.signature_request.documents, keep nature = signable_document:Step 1 - Get an upload URL, one per PDF
Step 2 - Upload the PDF to data.url
Step 3 - Push the contract to Tomorro
Step 3.1 - Collect the uploaded files
Step 3.2 - Build the signed-version body
data.signature_request.completed_at and event_time from the Yousign webhook.Step 3.3 - Push the signed version
Step 3.4 - Accept 409 ContractAlreadySigned
Flow 3 - [Tomorro → Yousign] Signature canceled in Tomorro
Step 0 - A user cancels the signature on Tomorro
Step 1 - Receive the signature.canceled webhook
eventType = signature.canceled.Step 2 - Cancel in Yousign
Step 2.1 - Find the Yousign signature request
external_id = contractId, among the requests still running:Step 2.2 - Build the Yousign cancel body
data.cancelReason from the webhook.Step 2.3 - Cancel each matching request
data from step 2.1:signature_request.canceled, which reaches Flow 4: its cancel-signatures call answers 400, accepted as expected.Flow 4 - [Yousign → Tomorro] Signature canceled in Yousign
Step 0 - Receive the Yousign webhook
event_name in signature_request.declined, .rejected, .expired, .canceled, .deleted, .permanently_deleted, with a data.signature_request.external_id.Step 1 - Cancel the signature in Tomorro
Step 1.1 - Build the cancel-signatures body
event_name from the Yousign webhook.Step 1.2 - Cancel the signature
Step 1.3 - Accept 400
400 means the contract is no longer in signing (echo of Flow 3, or already signed).Step 2 - Ignore the echo webhook
signature.canceled back, which reaches Flow 3. Step 2.1 there only searches the ongoing and approval requests, finds none, and the flow stops.