Skip to content

Instantly share code, notes, and snippets.

@alnutile
Last active September 29, 2025 14:58
Show Gist options
  • Select an option

  • Save alnutile/815a50c5b113799b9b5cd860e12a47e9 to your computer and use it in GitHub Desktop.

Select an option

Save alnutile/815a50c5b113799b9b5cd860e12a47e9 to your computer and use it in GitHub Desktop.
Two powerful open-source tools you can host yourself or pay to use. DocuSeal makes digital signatures simple, and when you connect it with n8n, the automation possibilities really open up.
{
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
-272,
16
],
"id": "5289e2cf-2d19-4ffd-b940-ebe4c61a625a",
"name": "When clicking ‘Execute workflow’"
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4",
"mode": "list",
"cachedResultName": "Projects",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 122947562,
"mode": "list",
"cachedResultName": "Sheet2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit#gid=122947562"
},
"filtersUI": {
"values": [
{
"lookupColumn": "Status",
"lookupValue": "Ready to Sign Contract"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
-80,
16
],
"id": "b7ed5688-f09d-49ef-beb0-9919e5458af1",
"name": "Get row(s) in sheet1",
"credentials": {
"googleSheetsOAuth2Api": {
"id": "rWb3copWsrXALz2Z",
"name": "Google Sheets account 2"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "da7b69d3-161b-41bb-acae-424cd362286b",
"name": "payload",
"value": "={\n \"template_id\": 1,\n \"submitters\": [\n {\n \"name\": \"{{ $json['Client Name'] }}\",\n \"email\": \"{{ $json.Email }}\",\n \"role\": \"First Party\",\n \"values\": \n {\n \"CustomerName\": \"{{ $json['Client Name'] }}\",\n \"StartDate\": \"{{ $json['Start Date'] }}\",\n \"EndDate\": \"{{ $json['End Date'] }}\"\n }\n }\n ]\n}",
"type": "object"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
128,
16
],
"id": "d699b6e5-487a-4ee9-92a0-0e57e585acf7",
"name": "vars"
},
{
"parameters": {
"method": "POST",
"url": "https://docuseal.apps.thedailyaistudio.com/api/submissions/emails",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"contentType": "raw",
"rawContentType": "application/json",
"body": "={{ $json.payload.toJsonString() }}",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
288,
16
],
"id": "2442f649-e087-48b7-997a-725d9a225602",
"name": "Send",
"credentials": {
"httpHeaderAuth": {
"id": "IUMk9gyGedKPAGOA",
"name": "DocusealAuthToken"
}
}
},
{
"parameters": {
"operation": "update",
"documentId": {
"__rl": true,
"value": "11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4",
"mode": "list",
"cachedResultName": "Projects",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 122947562,
"mode": "list",
"cachedResultName": "Sheet2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit#gid=122947562"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"row_number": "={{ $('Get row(s) in sheet1').item.json.row_number }}",
"Status": "Contract Sent",
"Sent At": "={{ $now }}",
"Send ID": "={{ $json.id }}"
},
"matchingColumns": [
"row_number"
],
"schema": [
{
"id": "Client Name",
"displayName": "Client Name",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Email",
"displayName": "Email",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Start Date",
"displayName": "Start Date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "End Date",
"displayName": "End Date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Status",
"displayName": "Status",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Sent At",
"displayName": "Sent At",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Signed At",
"displayName": "Signed At",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Send ID",
"displayName": "Send ID",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "row_number",
"displayName": "row_number",
"required": false,
"defaultMatch": false,
"display": true,
"type": "number",
"canBeUsedToMatch": true,
"readOnly": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
464,
16
],
"id": "62da6813-7c4f-468d-ac9f-92272b73594b",
"name": "Update row in sheet",
"credentials": {
"googleSheetsOAuth2Api": {
"id": "rWb3copWsrXALz2Z",
"name": "Google Sheets account 2"
}
}
},
{
"parameters": {
"httpMethod": "POST",
"path": "2868b014-4f4c-46df-9bec-fa378a713aa0v2",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
-272,
240
],
"id": "b1b309ba-509b-4a4e-b28f-4e07e96eacf5",
"name": "Webhook",
"webhookId": "2868b014-4f4c-46df-9bec-fa378a713aa0"
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4",
"mode": "list",
"cachedResultName": "Projects",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 122947562,
"mode": "list",
"cachedResultName": "Sheet2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit#gid=122947562"
},
"filtersUI": {
"values": [
{
"lookupColumn": "Send ID",
"lookupValue": "={{ $json.body.data.submission_id }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
-64,
240
],
"id": "7d24cb6c-8a20-48f3-b2b2-8314cac55896",
"name": "Get row(s) in sheet",
"credentials": {
"googleSheetsOAuth2Api": {
"id": "rWb3copWsrXALz2Z",
"name": "Google Sheets account 2"
}
}
},
{
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"leftValue": "={{ $('Webhook').item.json.body.data.status }}",
"rightValue": "completed",
"operator": {
"type": "string",
"operation": "equals"
},
"id": "60e60a58-aa63-4ea5-9736-d4064d9517af"
}
],
"combinator": "and"
},
"renameOutput": true,
"outputKey": "completed"
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"type": "n8n-nodes-base.switch",
"typeVersion": 3.2,
"position": [
112,
240
],
"id": "82172e4f-201f-43be-a0f9-4c3fff6a08b8",
"name": "Switch1"
},
{
"parameters": {
"operation": "update",
"documentId": {
"__rl": true,
"value": "11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4",
"mode": "list",
"cachedResultName": "Projects",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 122947562,
"mode": "list",
"cachedResultName": "Sheet2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit#gid=122947562"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"row_number": "={{ $json.row_number }}",
"Status": "Contract Signed",
"Signed At": "={{ $('Webhook').item.json.body.data.completed_at }}"
},
"matchingColumns": [
"row_number"
],
"schema": [
{
"id": "Client Name",
"displayName": "Client Name",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Email",
"displayName": "Email",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Start Date",
"displayName": "Start Date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "End Date",
"displayName": "End Date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Status",
"displayName": "Status",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Sent At",
"displayName": "Sent At",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Signed At",
"displayName": "Signed At",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Send ID",
"displayName": "Send ID",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "row_number",
"displayName": "row_number",
"required": false,
"defaultMatch": false,
"display": true,
"type": "number",
"canBeUsedToMatch": true,
"readOnly": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
400,
208
],
"id": "2967544d-00c5-459a-82e2-0811db644cd3",
"name": "Update row in sheet1",
"credentials": {
"googleSheetsOAuth2Api": {
"id": "rWb3copWsrXALz2Z",
"name": "Google Sheets account 2"
}
}
}
],
"connections": {
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "Get row(s) in sheet1",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet1": {
"main": [
[
{
"node": "vars",
"type": "main",
"index": 0
}
]
]
},
"vars": {
"main": [
[
{
"node": "Send",
"type": "main",
"index": 0
}
]
]
},
"Send": {
"main": [
[
{
"node": "Update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Get row(s) in sheet",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet": {
"main": [
[
{
"node": "Switch1",
"type": "main",
"index": 0
}
]
]
},
"Switch1": {
"main": [
[
{
"node": "Update row in sheet1",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {
"Webhook": [
{
"headers": {
"connection": "upgrade",
"host": "n8n-do.dailyai.studio",
"x-real-ip": "5.161.113.186",
"x-forwarded-for": "5.161.113.186",
"x-forwarded-proto": "https",
"content-length": "2327",
"user-agent": "DocuSeal.com Webhook",
"content-type": "application/json",
"accept-encoding": "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
"accept": "*/*"
},
"params": {},
"query": {},
"body": {
"event_type": "form.completed",
"timestamp": "2025-08-20T02:48:22.855Z",
"data": {
"id": 15,
"submission_id": 15,
"email": "bob+013@emailautomations.cloud",
"phone": null,
"name": "Test Test013",
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36",
"ip": "24.60.183.124",
"sent_at": "2025-08-20T02:47:50.430Z",
"opened_at": "2025-08-20T02:48:15.552Z",
"completed_at": "2025-08-20T02:48:20.968Z",
"declined_at": null,
"created_at": "2025-08-20T02:47:50.439Z",
"updated_at": "2025-08-20T02:48:20.978Z",
"external_id": null,
"metadata": {},
"status": "completed",
"application_key": null,
"decline_reason": null,
"role": "First Party",
"preferences": {
"send_email": true,
"send_sms": false
},
"values": [
{
"field": "CustomerName",
"value": "Test Test013"
},
{
"field": "StartDate",
"value": "2025-03-09"
},
{
"field": "EndDate",
"value": "2025-01-10"
},
{
"field": "CustomerSignature",
"value": "https://docuseal.apps.thedailyaistudio.com/file/WyIzYzJlNTExZC01YWIxLTQxOWMtYWJlOC04OGZhMTUwMzU5NjAiLCJibG9iIl0--83a55e58bb692ca88f6fd15c34bbe7fd725aab47e690864d4d0f30c93cecedf5/signature.png"
},
{
"field": "SignedOn",
"value": "2025-08-19"
}
],
"documents": [
{
"name": "fake_contract",
"url": "https://docuseal.apps.thedailyaistudio.com/file/WyI2ZGE5ZDlkOC05MWM0LTQ3NTktYTVmNS00ZTExZjRhMzJkZDgiLCJibG9iIl0--8a5a1b8d673d3a69f1bbccb387e4bf035e496c448039e28f2c3651539a7a614f/fake_contract.pdf"
}
],
"audit_log_url": "https://docuseal.apps.thedailyaistudio.com/file/WyJhNTE1MjBmNi1hMjcyLTQ2NGMtYTMyYS1jYjRlMGQ0YjRkM2MiLCJibG9iIl0--438121b1f10ef6d01283f2620e6ca303581fe617785b72c6340c6eee94744cb9/Audit%20Log%20-%20Sign%20a%20Contract%20with%20DailyAi.pdf",
"submission_url": "https://docuseal.apps.thedailyaistudio.com/e/DYAV7t2WQyQsxz",
"template": {
"id": 1,
"name": "Sign a Contract with DailyAi",
"external_id": null,
"created_at": "2025-08-20T00:21:34.933Z",
"updated_at": "2025-08-20T02:31:41.355Z",
"folder_name": "Default"
},
"submission": {
"id": 10,
"audit_log_url": "https://docuseal.apps.thedailyaistudio.com/file/WyJhNTE1MjBmNi1hMjcyLTQ2NGMtYTMyYS1jYjRlMGQ0YjRkM2MiLCJibG9iIl0--438121b1f10ef6d01283f2620e6ca303581fe617785b72c6340c6eee94744cb9/Audit%20Log%20-%20Sign%20a%20Contract%20with%20DailyAi.pdf",
"combined_document_url": null,
"created_at": "2025-08-20T02:47:50.437Z",
"status": "completed",
"url": "https://docuseal.apps.thedailyaistudio.com/e/DYAV7t2WQyQsxz"
}
}
},
"webhookUrl": "https://n8n-do.dailyai.studio/webhook/document/updates",
"executionMode": "production"
}
]
},
"meta": {
"instanceId": "b77b374d91a001765a8bf2832badc1f8fcc5407c99c4c6f3f68d6413d663ef83"
}
}
{
"nodes": [
{
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"leftValue": "={{ $json.current.Status }}",
"rightValue": "Ready to Sign Contract",
"operator": {
"type": "string",
"operation": "equals"
},
"id": "1d11033a-d62c-4232-a187-30f2fd81d097"
}
],
"combinator": "and"
},
"renameOutput": true,
"outputKey": "Ready to Sign Contract"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.switch",
"typeVersion": 3.2,
"position": [
208,
-192
],
"id": "469eb445-a6df-4267-b111-733955323f24",
"name": "Switch"
},
{
"parameters": {
"content": "Two powerful open-source tools you can host yourself or pay to use. DocuSeal makes digital signatures simple, and when you connect it with n8n, the automation possibilities really open up.\n![](https://media.cleanshot.cloud/media/81698/Mt5JRCklI3JxtDQ21aRmwxw1abm4VNgJPOfmXAeF.jpeg?Expires=1755800843&Signature=mNDgp3FsvvGDaEpnQfNfmBodMwAGBuqC8XDWJEtIBEfklAfju9t8uAIqzLs33ZdqennHhGsCJE0GQY3936dmLfFFueiEO1xbrKzAlTum2YMRztRWR47Cql1vAez83yw9itpRkksEJWcuwDtnBh3DyFq1ycdn6bV08zDfTyD5-u3Nc-A4EGM1iwNZSqO-M7EkL4DQPvSSpDD1oTt9Bh5~JjqMpkcTHG9HBrF2aEhQ4poi9ZxcgSaOOEQs~lPS5zdF0P8jL1mVyi3btVgCx2i-kr48l9yWeCGDd5DKyRbuzZTqu~m2NrDh6Bi~KCWfrsdz95PIpQcDjJgAJLAUZfEvRg__&Key-Pair-Id=K269JMAT9ZF4GZ)\n\n\nThe substack is [here](https://dailyaistudio.substack.com/p/automating-digital-signatures-with)",
"height": 832,
"width": 992
},
"type": "n8n-nodes-base.stickyNote",
"position": [
-1040,
-336
],
"typeVersion": 1,
"id": "bc1b80ff-5d3c-4bae-832c-3774730ea1f3",
"name": "Sticky Note"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "da7b69d3-161b-41bb-acae-424cd362286b",
"name": "payload",
"value": "={\n \"template_id\": 1,\n \"submitters\": [\n {\n \"name\": \"{{ $json['Client Name'] }}\",\n \"email\": \"{{ $json.Email }}\",\n \"role\": \"First Party\",\n \"values\": \n {\n \"CustomerName\": \"{{ $json['Client Name'] }}\",\n \"StartDate\": \"{{ $json['Start Date'] }}\",\n \"EndDate\": \"{{ $json['End Date'] }}\"\n }\n }\n ]\n}",
"type": "object"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
512,
-144
],
"id": "29a09dee-183f-4946-bbbb-3acba3bbb57b",
"name": "vars"
},
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"documentId": {
"__rl": true,
"value": "11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4",
"mode": "list",
"cachedResultName": "Projects",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 122947562,
"mode": "list",
"cachedResultName": "Sheet2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit#gid=122947562"
},
"event": "rowUpdate",
"includeInOutput": "both",
"options": {}
},
"type": "n8n-nodes-base.googleSheetsTrigger",
"typeVersion": 1,
"position": [
32,
-192
],
"id": "cf84296d-3658-4a47-9d2e-6b872cd231f9",
"name": "Google Sheets Trigger",
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"id": "0T3rvvmj24tUxn01",
"name": "Google Sheets Trigger account"
}
}
},
{
"parameters": {
"operation": "update",
"documentId": {
"__rl": true,
"value": "11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4",
"mode": "list",
"cachedResultName": "Projects",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 122947562,
"mode": "list",
"cachedResultName": "Sheet2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit#gid=122947562"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"row_number": "={{ $('Get row(s) in sheet1').item.json.row_number }}",
"Status": "Contract Sent",
"Sent At": "={{ $now }}",
"Send ID": "={{ $json.id }}"
},
"matchingColumns": [
"row_number"
],
"schema": [
{
"id": "Client Name",
"displayName": "Client Name",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Email",
"displayName": "Email",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Start Date",
"displayName": "Start Date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "End Date",
"displayName": "End Date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Status",
"displayName": "Status",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Sent At",
"displayName": "Sent At",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Signed At",
"displayName": "Signed At",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Send ID",
"displayName": "Send ID",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "row_number",
"displayName": "row_number",
"required": false,
"defaultMatch": false,
"display": true,
"type": "number",
"canBeUsedToMatch": true,
"readOnly": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
912,
-144
],
"id": "752ead51-93d9-48b2-925c-ab76e38349ab",
"name": "Update row in sheet",
"credentials": {
"googleSheetsOAuth2Api": {
"id": "rWb3copWsrXALz2Z",
"name": "Google Sheets account 2"
}
}
},
{
"parameters": {
"httpMethod": "POST",
"path": "document/updatesv2",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
16,
304
],
"id": "4687341d-96df-4998-a3b8-797714ed0771",
"name": "Webhook",
"webhookId": "d426545c-cd4c-4796-9b9a-e7faa720dd21"
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4",
"mode": "list",
"cachedResultName": "Projects",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 122947562,
"mode": "list",
"cachedResultName": "Sheet2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit#gid=122947562"
},
"filtersUI": {
"values": [
{
"lookupColumn": "Send ID",
"lookupValue": "={{ $json.body.data.submission_id }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
320,
304
],
"id": "076fd589-cb89-47c8-9680-daf86e466fbf",
"name": "Get row(s) in sheet",
"credentials": {
"googleSheetsOAuth2Api": {
"id": "rWb3copWsrXALz2Z",
"name": "Google Sheets account 2"
}
}
},
{
"parameters": {
"method": "POST",
"url": "https://docuseal.apps.thedailyaistudio.com/api/submissions/emails",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"contentType": "raw",
"rawContentType": "application/json",
"body": "={{ $json.payload.toJsonString() }}",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
704,
-144
],
"id": "b745af6c-ce7d-480b-9db8-f4a4cd8902dd",
"name": "Send",
"credentials": {
"httpHeaderAuth": {
"id": "IUMk9gyGedKPAGOA",
"name": "DocusealAuthToken"
}
}
},
{
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"leftValue": "={{ $('Webhook').item.json.body.data.status }}",
"rightValue": "completed",
"operator": {
"type": "string",
"operation": "equals"
},
"id": "60e60a58-aa63-4ea5-9736-d4064d9517af"
}
],
"combinator": "and"
},
"renameOutput": true,
"outputKey": "completed"
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"type": "n8n-nodes-base.switch",
"typeVersion": 3.2,
"position": [
528,
304
],
"id": "072eb402-1ea4-4205-87fe-c31aa425813c",
"name": "Switch1"
},
{
"parameters": {
"operation": "update",
"documentId": {
"__rl": true,
"value": "11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4",
"mode": "list",
"cachedResultName": "Projects",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 122947562,
"mode": "list",
"cachedResultName": "Sheet2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit#gid=122947562"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"row_number": "={{ $json.row_number }}",
"Status": "Contract Signed",
"Signed At": "={{ $('Webhook').item.json.body.data.completed_at }}"
},
"matchingColumns": [
"row_number"
],
"schema": [
{
"id": "Client Name",
"displayName": "Client Name",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Email",
"displayName": "Email",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Start Date",
"displayName": "Start Date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "End Date",
"displayName": "End Date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Status",
"displayName": "Status",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Sent At",
"displayName": "Sent At",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Signed At",
"displayName": "Signed At",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Send ID",
"displayName": "Send ID",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "row_number",
"displayName": "row_number",
"required": false,
"defaultMatch": false,
"display": true,
"type": "number",
"canBeUsedToMatch": true,
"readOnly": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
784,
256
],
"id": "9c389a56-f8f8-4482-b9d9-a2db87148493",
"name": "Update row in sheet1",
"credentials": {
"googleSheetsOAuth2Api": {
"id": "rWb3copWsrXALz2Z",
"name": "Google Sheets account 2"
}
}
},
{
"parameters": {
"operation": "update",
"documentId": {
"__rl": true,
"value": "11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4",
"mode": "list",
"cachedResultName": "Projects",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 122947562,
"mode": "list",
"cachedResultName": "Sheet2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit#gid=122947562"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"row_number": "={{ $json.row_number }}",
"Status": "Somethings Wrong"
},
"matchingColumns": [
"row_number"
],
"schema": [
{
"id": "Client Name",
"displayName": "Client Name",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Email",
"displayName": "Email",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Start Date",
"displayName": "Start Date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "End Date",
"displayName": "End Date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Status",
"displayName": "Status",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Sent At",
"displayName": "Sent At",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Signed At",
"displayName": "Signed At",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Send ID",
"displayName": "Send ID",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "row_number",
"displayName": "row_number",
"required": false,
"defaultMatch": false,
"display": true,
"type": "number",
"canBeUsedToMatch": true,
"readOnly": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
784,
400
],
"id": "9efb9347-1e4f-4160-bbd3-10a2374de53d",
"name": "Update row in sheet2",
"credentials": {
"googleSheetsOAuth2Api": {
"id": "rWb3copWsrXALz2Z",
"name": "Google Sheets account 2"
}
}
},
{
"parameters": {
"content": "Here we listen to a webhook from DocuSeal to get the updates when / if signed",
"height": 80,
"width": 976,
"color": 4
},
"type": "n8n-nodes-base.stickyNote",
"position": [
32,
144
],
"typeVersion": 1,
"id": "6563d93d-f146-48da-90f6-7acc1b1ada5a",
"name": "Sticky Note1"
},
{
"parameters": {
"content": "We can use any data source/ui to trigger sending the document with prefilled data",
"height": 80,
"width": 976
},
"type": "n8n-nodes-base.stickyNote",
"position": [
48,
-320
],
"typeVersion": 1,
"id": "84754e28-0eae-4fbe-9fc2-9a669fd8a53b",
"name": "Sticky Note2"
},
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
16,
-16
],
"id": "0cd6495a-00c6-4dc4-b50a-aa0c4151df62",
"name": "When clicking ‘Execute workflow’"
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4",
"mode": "list",
"cachedResultName": "Projects",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 122947562,
"mode": "list",
"cachedResultName": "Sheet2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11HGTt9N7uIFA-wdvMjTLHyXSFPjnYhgR6LF0tNtylx4/edit#gid=122947562"
},
"filtersUI": {
"values": [
{
"lookupColumn": "Status",
"lookupValue": "Ready to Sign Contract"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
224,
-16
],
"id": "db2ee010-76c0-4489-8460-723608ba1f81",
"name": "Get row(s) in sheet1",
"credentials": {
"googleSheetsOAuth2Api": {
"id": "rWb3copWsrXALz2Z",
"name": "Google Sheets account 2"
}
}
}
],
"connections": {
"Switch": {
"main": [
[]
]
},
"vars": {
"main": [
[
{
"node": "Send",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets Trigger": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Get row(s) in sheet",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet": {
"main": [
[
{
"node": "Switch1",
"type": "main",
"index": 0
}
]
]
},
"Send": {
"main": [
[
{
"node": "Update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Switch1": {
"main": [
[
{
"node": "Update row in sheet1",
"type": "main",
"index": 0
}
],
[
{
"node": "Update row in sheet2",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "Get row(s) in sheet1",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet1": {
"main": [
[
{
"node": "vars",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {
"Google Sheets Trigger": [
{
"previous": {
"row_number": 4,
"Client Name": "Test Test013",
"Email": "bob+013@emailautomations.cloud",
"Start Date": "9/3/2025",
"End Date": "10/1/2025",
"Status": "Pending",
"Sent At": "",
"Signed At": "",
"Send ID": ""
},
"current": {
"row_number": 4,
"Client Name": "Test Test013",
"Email": "bob+013@emailautomations.cloud",
"Start Date": "9/3/2025",
"End Date": "10/1/2025",
"Status": "Ready to Sign Contract",
"Sent At": "",
"Signed At": "",
"Send ID": ""
},
"differences": {
"row_number": 4,
"Status": {
"previous": "Pending",
"current": "Ready to Sign Contract"
}
}
}
],
"Webhook": [
{
"headers": {
"connection": "upgrade",
"host": "n8n-do.dailyai.studio",
"x-real-ip": "5.161.113.186",
"x-forwarded-for": "5.161.113.186",
"x-forwarded-proto": "https",
"content-length": "2327",
"user-agent": "DocuSeal.com Webhook",
"content-type": "application/json",
"accept-encoding": "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
"accept": "*/*"
},
"params": {},
"query": {},
"body": {
"event_type": "form.completed",
"timestamp": "2025-08-20T02:48:22.855Z",
"data": {
"id": 10,
"submission_id": 10,
"email": "bob+013@emailautomations.cloud",
"phone": null,
"name": "Test Test013",
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36",
"ip": "24.60.183.124",
"sent_at": "2025-08-20T02:47:50.430Z",
"opened_at": "2025-08-20T02:48:15.552Z",
"completed_at": "2025-08-20T02:48:20.968Z",
"declined_at": null,
"created_at": "2025-08-20T02:47:50.439Z",
"updated_at": "2025-08-20T02:48:20.978Z",
"external_id": null,
"metadata": {},
"status": "completed",
"application_key": null,
"decline_reason": null,
"role": "First Party",
"preferences": {
"send_email": true,
"send_sms": false
},
"values": [
{
"field": "CustomerName",
"value": "Test Test013"
},
{
"field": "StartDate",
"value": "2025-03-09"
},
{
"field": "EndDate",
"value": "2025-01-10"
},
{
"field": "CustomerSignature",
"value": "https://docuseal.apps.thedailyaistudio.com/file/WyIzYzJlNTExZC01YWIxLTQxOWMtYWJlOC04OGZhMTUwMzU5NjAiLCJibG9iIl0--83a55e58bb692ca88f6fd15c34bbe7fd725aab47e690864d4d0f30c93cecedf5/signature.png"
},
{
"field": "SignedOn",
"value": "2025-08-19"
}
],
"documents": [
{
"name": "fake_contract",
"url": "https://docuseal.apps.thedailyaistudio.com/file/WyI2ZGE5ZDlkOC05MWM0LTQ3NTktYTVmNS00ZTExZjRhMzJkZDgiLCJibG9iIl0--8a5a1b8d673d3a69f1bbccb387e4bf035e496c448039e28f2c3651539a7a614f/fake_contract.pdf"
}
],
"audit_log_url": "https://docuseal.apps.thedailyaistudio.com/file/WyJhNTE1MjBmNi1hMjcyLTQ2NGMtYTMyYS1jYjRlMGQ0YjRkM2MiLCJibG9iIl0--438121b1f10ef6d01283f2620e6ca303581fe617785b72c6340c6eee94744cb9/Audit%20Log%20-%20Sign%20a%20Contract%20with%20DailyAi.pdf",
"submission_url": "https://docuseal.apps.thedailyaistudio.com/e/DYAV7t2WQyQsxz",
"template": {
"id": 1,
"name": "Sign a Contract with DailyAi",
"external_id": null,
"created_at": "2025-08-20T00:21:34.933Z",
"updated_at": "2025-08-20T02:31:41.355Z",
"folder_name": "Default"
},
"submission": {
"id": 10,
"audit_log_url": "https://docuseal.apps.thedailyaistudio.com/file/WyJhNTE1MjBmNi1hMjcyLTQ2NGMtYTMyYS1jYjRlMGQ0YjRkM2MiLCJibG9iIl0--438121b1f10ef6d01283f2620e6ca303581fe617785b72c6340c6eee94744cb9/Audit%20Log%20-%20Sign%20a%20Contract%20with%20DailyAi.pdf",
"combined_document_url": null,
"created_at": "2025-08-20T02:47:50.437Z",
"status": "completed",
"url": "https://docuseal.apps.thedailyaistudio.com/e/DYAV7t2WQyQsxz"
}
}
},
"webhookUrl": "https://n8n-do.dailyai.studio/webhook/document/updates",
"executionMode": "production"
}
]
},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "b77b374d91a001765a8bf2832badc1f8fcc5407c99c4c6f3f68d6413d663ef83"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment