The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "AI Support Agent with Verifiable Decision Receipts",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "support-agent",
"options": {},
"responseMode": "responseNode"
},
"id": "f26cecf4-61fb-4523-83d9-26be3404c38a",
"name": "AI Support Agent",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
0,
300
]
},
{
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4O"
},
"messages": {
"values": [
{
"role": "system",
"content": "=You are a customer support AI. Answer and return JSON: {\"answer\":\"...\",\"action\":\"RESOLVE|ESCALATE\",\"confidence\":0}."
},
{
"content": "=Return JSON only.\n\nInput:\n{{ JSON.stringify($json.body) }}"
}
]
},
"jsonOutput": true,
"options": {}
},
"id": "e2b329f2-f2df-4273-844c-6911f895c384",
"name": "AI Decision",
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 2.1,
"position": [
220,
300
],
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "generateReceipt",
"agentName": "SupportAgent",
"workflowName": "={{ $workflow.name }}",
"action": "={{ 'AI decision: ' + ($json.message.content.decision || $json.message.content.recommendation || 'completed') }}",
"decision": "={{ JSON.stringify($json.message.content) }}",
"additionalFields": {
"modelProvider": "openai",
"modelUsed": "gpt-4o",
"decisionType": "support_response",
"riskLevel": "low",
"humanReview": false,
"policies": "support-sla-v2",
"permissions": "ticket.respond",
"tags": "support, cx, ai"
}
},
"id": "03f08564-228e-4971-87ea-bbf700898c21",
"name": "Signatrust: Receipt",
"type": "n8n-nodes-signatrust.signatrust",
"typeVersion": 1,
"position": [
440,
300
],
"credentials": {
"signatrustApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={{ { status:\"OK\", receipt_id:$json.id, decision:$('AI Decision').item.json.message.content } }}",
"options": {}
},
"id": "366806a2-7708-4bb7-8dbc-34f889e618fb",
"name": "Respond",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.1,
"position": [
660,
300
]
},
{
"parameters": {
"content": "## AI Support Agent with Verifiable Decision Receipts\n**Why Signatrust?** Every AI decision here becomes a tamper-evident, Ed25519-signed receipt \u2014 verifiable for audits and disputes.",
"height": 170,
"width": 420,
"color": 5
},
"id": "c4a7daa4-1cd3-40f9-940a-54e06a1b507f",
"name": "Sticky Note 73cedf",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-40,
40
]
}
],
"connections": {
"AI Support Agent": {
"main": [
[
{
"node": "AI Decision",
"type": "main",
"index": 0
}
]
]
},
"AI Decision": {
"main": [
[
{
"node": "Signatrust: Receipt",
"type": "main",
"index": 0
}
]
]
},
"Signatrust: Receipt": {
"main": [
[
{
"node": "Respond",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"tags": [
{
"name": "AI Support Agent \u2014 support"
},
{
"name": "AI Support Agent \u2014 cx"
},
{
"name": "AI Support Agent \u2014 ai"
},
{
"name": "Signatrust (11)"
}
],
"meta": {
"templateCredsSetupCompleted": false
},
"versionId": "983f77a5-4241-4ce9-b6b3-233f718f060f"
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApisignatrustApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
AI Support Agent with Verifiable Decision Receipts. Uses openAi, n8n-nodes-signatrust. Webhook trigger; 5 nodes.
Source: https://github.com/abokenan444/n8n-signatrust-workflows/blob/main/workflows/11-ai-support-agent.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
AI Agent Chain of Custody (Signatrust flagship demo). Uses openAi, n8n-nodes-signatrust, httpRequest. Webhook trigger; 13 nodes.
Mario Speaker. Uses openAi, agent, lmChatOpenAi, memoryBufferWindow. Webhook trigger; 7 nodes.
Thunder Planning Agent (Basic). Uses openAi, respondToWebhook. Webhook trigger; 3 nodes.
VEP WAPP. Uses openAi, lmChatOpenAi, toolCalculator, agent. Webhook trigger; 100 nodes.
LLMS_Query_Links_stabilisation. Uses mySql, lmChatOpenAi, executeCommand, chainLlm. Webhook trigger; 95 nodes.