Client Handoff Settings and Change Log Template
A free companion workflow for n8n builders handing automations to clients. It adds safe client settings, a change log entry, and a final checklist for triggers, credentials, owner-safe edits, failure tests, and handoff evidence.
Shared 5/11/2026
1 views
Visual Workflow
JSON Code
{
"name": "Client handoff settings and change log template",
"tags": [
{
"name": "handoff"
},
{
"name": "documentation"
},
{
"name": "client-delivery"
}
],
"nodes": [
{
"id": "manual-trigger",
"name": "Manual Trigger",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-620,
40
],
"parameters": {},
"typeVersion": 1
},
{
"id": "handoff-note",
"name": "How To Use This Template",
"type": "n8n-nodes-base.stickyNote",
"position": [
-820,
-280
],
"parameters": {
"width": 380,
"height": 260,
"content": "## Client handoff settings\n\nUse this starter structure before handing a workflow to a client.\n\n1. Put safe editable values in the Client Settings node.\n2. Keep a change log entry whenever the workflow is modified.\n3. Run the handoff checklist before delivery.\n4. Copy these values into your client handoff doc."
},
"typeVersion": 1
},
{
"id": "client-settings",
"name": "Client Settings - Safe To Edit",
"type": "n8n-nodes-base.set",
"position": [
-360,
40
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "client-name",
"name": "client_name",
"type": "string",
"value": "Replace with client or internal owner"
},
{
"id": "workflow-owner",
"name": "workflow_owner",
"type": "string",
"value": "Replace with accountable person"
},
{
"id": "safe-email",
"name": "safe_notification_email",
"type": "string",
"value": "owner@example.com"
},
{
"id": "safe-threshold",
"name": "safe_edit_threshold",
"type": "string",
"value": "Only edit notification copy, recipients, wait times, and labels without testing."
},
{
"id": "last-tested",
"name": "last_tested_at",
"type": "string",
"value": "YYYY-MM-DD HH:MM timezone"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "change-log-entry",
"name": "Change Log Entry",
"type": "n8n-nodes-base.set",
"position": [
-80,
40
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "change-date",
"name": "change_date",
"type": "string",
"value": "YYYY-MM-DD"
},
{
"id": "modified-by",
"name": "modified_by",
"type": "string",
"value": "Name of person making the change"
},
{
"id": "change-reason",
"name": "reason",
"type": "string",
"value": "[CLIENT] Explain why this change was made"
},
{
"id": "risk-level",
"name": "risk_level",
"type": "string",
"value": "none | low | breaking"
},
{
"id": "test-evidence",
"name": "test_evidence",
"type": "string",
"value": "Known-good input produced expected output at timestamp"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "handoff-checklist",
"name": "Handoff Checklist",
"type": "n8n-nodes-base.set",
"position": [
200,
40
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "trigger-check",
"name": "trigger_confirmed",
"type": "string",
"value": "What starts this workflow?"
},
{
"id": "input-check",
"name": "required_inputs_confirmed",
"type": "string",
"value": "Which fields are required and what happens when one is missing?"
},
{
"id": "credentials-check",
"name": "credentials_confirmed",
"type": "string",
"value": "Which account owns each credential?"
},
{
"id": "failure-check",
"name": "failure_test_confirmed",
"type": "string",
"value": "What deliberate failure test was run?"
},
{
"id": "owner-check",
"name": "owner_safe_edits_confirmed",
"type": "string",
"value": "Which fields can the client edit without touching logic?"
}
]
}
},
"typeVersion": 3.4
}
],
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"updatedAt": "2026-05-10T17:20:00.000Z",
"versionId": "n8n-client-handoff-template-v1",
"staticData": null,
"connections": {
"Manual Trigger": {
"main": [
[
{
"node": "Client Settings - Safe To Edit",
"type": "main",
"index": 0
}
]
]
},
"Change Log Entry": {
"main": [
[
{
"node": "Handoff Checklist",
"type": "main",
"index": 0
}
]
]
},
"Client Settings - Safe To Edit": {
"main": [
[
{
"node": "Change Log Entry",
"type": "main",
"index": 0
}
]
]
}
},
"triggerCount": 0
}