Package Information
Available Nodes
Documentation generating…
Documentation
n8n-nodes-skopon-end
Skopon End node for n8n — builds the task completion payload at the end of a Skopon workflow.
Node: Skopon End
Formats workflow output into:
{
"taskId": "<execution id>",
"status": "SUCCESS",
"errorCode": "",
"errorMessage": "",
"results": [
{
"content": "",
"url": "",
"data": {},
"mime": "json",
"type": "data"
}
],
"clientId": "<request_id from trigger>"
}
Parameters
| Field | Default | Notes |
|---|---|---|
| Task ID | ={{ $execution.id }} |
Matches Begin webhook taskId |
| Results | Structured JSON array | Override with expressions as needed |
| Client ID | ={{ $('start').item.json.request_id }} |
From the start node (Begin or Mock trigger) request_id |
| Status | SUCCESS | Set FAILED on error paths |
| Error Code / Message | empty | Required (at least one) when status is FAILED; cleared on SUCCESS |
| Mock Completion URL | empty | Optional; only set for a manual Mock Trigger execution that owns a held mission |
| Mock Mission ID | 0 | Ignored unless Mock Completion URL is non-empty and the ID is positive |
| Mock Authorization | empty | Bearer token returned by Mock Trigger; used only by the mock completion request |
Typical workflow
Skopon Begin Trigger (or Mock Trigger) → … → Skopon End
Ensure the node named start still exposes request_id (or update the Client ID expression to match your trigger node name).
When all Mock Completion fields keep their defaults, End performs no HTTP request. Production Begin
executions therefore keep the normal Skopon execution polling path. The mock completion callback is only
for editor-started runs whose Mock Trigger created a non-dispatched held mission.
Output panel vs actual payload
n8n shows every node output as an items list, so the Output panel may look like:
[
{ "taskId": "...", "status": "SUCCESS", "results": [ ... ], "clientId": "..." }
]
That outer [ ] is normal n8n item wrapping, not a Skopon payload shape error. The completion object is item.json.
In downstream nodes or expressions, use $json (or $('Skopon End').item.json) to get the single object without the outer array:
={{ $json }}
={{ $json.taskId }}
={{ $json.results[0].data }}
When posting to Skopon or another HTTP endpoint, set the request body to ={{ $json }}. Do not serialize $input.all() unless you intentionally need the items array.
Development
cd n8n/skopon-end
npm install --legacy-peer-deps --ignore-scripts
npm run dev:local
Open http://localhost:5678 and search for Skopon End.
Test
npm test
Runs TypeScript compile and scripts/test-end.mjs.
Publish
./pulish.sh
Install in n8n: Settings → Community nodes → Install → n8n-nodes-skopon-end