Importer

n8n

n8n already stores every execution, with the token usage of each model call. Import the workflow file and its history; nothing in your workflows changes.

  1. In n8n, open the workflow and choose Download from the Workflow menu.
  2. Run import-n8n to turn the workflow into a draft blueprint and prompt files.
  3. Fetch the execution history with your own n8n API key (the curl loop below).
  4. Run import-n8n-runs, then build the console.

Import the workflow and its history

python harness.py import-n8n my-workflow.json --out-dir .harness

N8N_URL=https://your-n8n.example.com; WF=<workflow id>; mkdir -p n8n-history; cursor=""; page=1
while : ; do
  curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" \
    "$N8N_URL/api/v1/executions?workflowId=$WF&includeData=true&limit=100${cursor:+&cursor=$cursor}" > n8n-history/page-$page.json
  cursor=$(jq -r '.nextCursor // empty' n8n-history/page-$page.json); [ -z "$cursor" ] && break; page=$((page+1))
done

python harness.py import-n8n-runs n8n-history/*.json --blueprint .harness/harness.yaml --out .harness/runs/n8n.jsonl.gz

Where the log lands

In n8n's own execution history.

How it reaches the harness

You fetch it with the n8n API and your API key; the harness scripts never call the network.

If the instance does not save successful executions, or prunes them quickly, the history will look failure-heavy. Check the retention settings first.

Read the full guide on GitHub

Import what you already have

20 platform guides in total.