AutomationFlowsData & Sheets › Collect Feedback via Postgres and HTTP Requests

Collect Feedback via Postgres and HTTP Requests

Original n8n title: Feedback Collection and Training Data

Feedback Collection and Training Data. Uses executeWorkflowTrigger, postgres, httpRequest. Event-driven trigger; 4 nodes.

Event trigger★★☆☆☆ complexity4 nodesExecute Workflow TriggerPostgresHTTP Request
Data & Sheets Trigger: Event Nodes: 4 Complexity: ★★☆☆☆ Added:

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 →

Download .json
{
  "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.

Pro

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 →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

Agendamiento_v2. Uses n8n-nodes-evolution-api, redis, httpRequest, executeWorkflowTrigger. Event-driven trigger; 59 nodes.

N8N Nodes Evolution Api, Redis, HTTP Request +3
Data & Sheets

Cancelacion_v2. Uses executeWorkflowTrigger, redis, httpRequest, n8n-nodes-evolution-api. Event-driven trigger; 46 nodes.

Execute Workflow Trigger, Redis, HTTP Request +3
Data & Sheets

Youtube Searcher. Uses splitInBatches, httpRequest, manualTrigger, executeWorkflowTrigger. Event-driven trigger; 21 nodes.

HTTP Request, Execute Workflow Trigger, Postgres +1
Data & Sheets

bronze. Uses httpRequest, postgres, executeWorkflowTrigger. Event-driven trigger; 10 nodes.

HTTP Request, Postgres, Execute Workflow Trigger
Data & Sheets

MCP Tool: Request Tutor. Uses executeWorkflowTrigger, postgres, httpRequest. Event-driven trigger; 7 nodes.

Execute Workflow Trigger, Postgres, HTTP Request