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": "Performance Review Assistant with Verifiable Decision Receipts",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "performance-review",
"options": {},
"responseMode": "responseNode"
},
"id": "f18ff90b-ef0c-43ca-bd20-b25c45071409",
"name": "Performance Review Assistant",
"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 an HR performance-review AI assistant. Return JSON: {\"summary\":\"...\",\"rating_suggestion\":\"...\",\"reason\":\"...\"}."
},
{
"content": "=Return JSON only.\n\nInput:\n{{ JSON.stringify($json.body) }}"
}
]
},
"jsonOutput": true,
"options": {}
},
"id": "1dce327d-8a02-4159-9394-2404e722723d",
"name": "AI Decision",
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 2.1,
"position": [
220,
300
],
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "generateReceipt",
"agentName": "PerfReviewAgent",
"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": "performance_review",
"riskLevel": "high",
"humanReview": true,
"policies": "hr-fairness-v1",
"permissions": "review.assist",
"tags": "hr, performance, ai-act"
}
},
"id": "37c98c5c-7cf2-4d26-9fdc-abdaba84fb8e",
"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": "1df9e229-fed9-48b4-816b-090389aa5b8e",
"name": "Respond",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.1,
"position": [
660,
300
]
},
{
"parameters": {
"content": "## Performance Review Assistant 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": "39da5ea4-f957-41bc-92dd-dc50b247df0a",
"name": "Sticky Note 611b8f",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-40,
40
]
}
],
"connections": {
"Performance Review Assistant": {
"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": "Performance Review Assistant \u2014 hr"
},
{
"name": "Performance Review Assistant \u2014 performance"
},
{
"name": "Performance Review Assistant \u2014 ai-act"
},
{
"name": "Signatrust (15)"
}
],
"meta": {
"templateCredsSetupCompleted": false
},
"versionId": "e39d83fe-b6e5-441c-9796-e0ba25592db4"
}
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
Performance Review Assistant with Verifiable Decision Receipts. Uses openAi, n8n-nodes-signatrust. Webhook trigger; 5 nodes.
Source: https://github.com/abokenan444/n8n-signatrust-workflows/blob/main/workflows/15-performance-review-assist.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 Chatbot Obsługi Klienta | Portfolio aiautobusiness. Uses openAi, gmail, slack. Webhook trigger; 10 nodes.
The Ultimate Scraper for n8n uses Selenium and AI to retrieve any information displayed on a webpage. You can also use session cookies to log in to the targeted webpage for more advanced scraping need
z-Api. Uses httpRequest, openAi, redis, postgres. Webhook trigger; 61 nodes.
This demo workflow receives an SMS-style request through a webhook, routes common farmer commands while it uses OpenAI for unknown messages. It is designed for African SMS-first farming contexts but c