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
    }