This workflow follows the Execute Workflow Trigger → HTTP Request recipe pattern — see all workflows that pair these two integrations.
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": "Feedback Collection and Training Data",
"nodes": [
{
"parameters": {},
"id": "p6q7r8s9-t0u1-2345-pqrs-654234567805",
"name": "Execute Workflow Trigger",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"typeVersion": 1,
"position": [
240,
300
]
},
{
"parameters": {
"operation": "select",
"schema": {
"__rl": true,
"value": "public",
"mode": "list"
},
"table": {
"__rl": true,
"value": "voice_interactions",
"mode": "list"
},
"where": {
"conditions": [
{
"column": "interaction_id",
"condition": "equal",
"value": "={{ $json.interactionId }}"
}
]
}
},
"id": "q7r8s9t0-u1v2-3456-qrst-765234567806",
"name": "Get Interaction Data",
"type": "n8n-nodes-base.postgres",
"typeVersion": 2.5,
"position": [
460,
300
],
"credentials": {
"postgres": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"url": "{{ $vars.FEEDBACK_WEBHOOK_URL }}",
"sendBody": true,
"bodyContentType": "json",
"jsonBody": "={\n \"interactionId\": \"{{ $json.interaction_id }}\",\n \"userInput\": \"{{ $json.user_input }}\",\n \"aiResponse\": \"{{ $json.ai_response }}\",\n \"feedbackForm\": {\n \"rating\": null,\n \"correctedTranscription\": null,\n \"correctedResponse\": null,\n \"comments\": null\n },\n \"submissionUrl\": \"{{ $vars.N8N_WEBHOOK_URL }}/webhook/feedback-submit\"\n}"
},
"id": "r8s9t0u1-v2w3-4567-rstu-876234567807",
"name": "Send Feedback Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
680,
300
]
},
{
"parameters": {
"operation": "insert",
"schema": {
"__rl": true,
"value": "public",
"mode": "list"
},
"table": {
"__rl": true,
"value": "training_feedback",
"mode": "list"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"interaction_id": "={{ $json.interaction_id }}",
"feedback_requested_at": "={{ new Date().toISOString() }}",
"status": "pending"
}
}
},
"id": "s9t0u1v2-w3x4-5678-stuv-987234567808",
"name": "Log Feedback Request",
"type": "n8n-nodes-base.postgres",
"typeVersion": 2.5,
"position": [
900,
300
],
"credentials": {
"postgres": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Execute Workflow Trigger": {
"main": [
[
{
"node": "Get Interaction Data",
"type": "main",
"index": 0
}
]
]
},
"Get Interaction Data": {
"main": [
[
{
"node": "Send Feedback Request",
"type": "main",
"index": 0
}
]
]
},
"Send Feedback Request": {
"main": [
[
{
"node": "Log Feedback Request",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"staticData": null,
"tags": [],
"triggerCount": 1,
"updatedAt": "2025-06-25T00:00:00.000Z",
"versionId": "1"
}
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.
postgres
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Feedback Collection and Training Data. Uses executeWorkflowTrigger, postgres, httpRequest. Event-driven trigger; 4 nodes.
Source: https://github.com/161sam/n8n-voice-ai/blob/main/workflows/Feedback-Collection.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.
Agendamiento_v2. Uses n8n-nodes-evolution-api, redis, httpRequest, executeWorkflowTrigger. Event-driven trigger; 59 nodes.
Cancelacion_v2. Uses executeWorkflowTrigger, redis, httpRequest, n8n-nodes-evolution-api. Event-driven trigger; 46 nodes.
Youtube Searcher. Uses splitInBatches, httpRequest, manualTrigger, executeWorkflowTrigger. Event-driven trigger; 21 nodes.
bronze. Uses httpRequest, postgres, executeWorkflowTrigger. Event-driven trigger; 10 nodes.
MCP Tool: Request Tutor. Uses executeWorkflowTrigger, postgres, httpRequest. Event-driven trigger; 7 nodes.