---
title: "Customer feedback form scored for sentiment in a sheet"
kind: "Kit"
category: "Business"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/3f3e7215-679a-4d97-87e1-91ac4c65dff3"
updated: "2026-11-12"
---

# Customer feedback form scored for sentiment in a sheet

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow with a feedback form. An OpenAI chat model labels each answer Positive, Negative or Neutral, and Google Sheets gets one new row with the answers, the contact details and the label.

Customer feedback form scored for sentiment in a sheet is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow sorts customer feedback by mood and keeps it in a Google Sheet. A customer fills in a short form with a name, a topic (product, service or other), their feedback and a way to reach them. An OpenAI chat model reads the feedback and labels it Positive, Negative or Neutral. A Merge node joins that label to the form answers, and the sheet gets one new row. Five nodes do the work, beside five sticky notes.

### Who it suits

Small shops, cafes, clinics and software teams who collect feedback through a link and want it in a sheet they already use. Skip it if you need a score, an alert for angry customers or a reply to the sender. As imported, the form only confirms the send, and the `Urgent?` column stays empty.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Restaurants and cafes | Owners | Put the form’s link on receipts and table cards | A cafe owner sees at week’s end which comments mention slow service. |
| Software | Support leads | Link the form from a help page or an app menu | A support lead filters the sheet to Negative and reads those rows first. |
| Retail | Store managers | Ask online buyers about the product or the service | A shop owner counts Product against Service comments each month. |
| Health and wellness | Practice managers | Collect comments after a visit, with no medical details in them | A physiotherapy clinic reads the Negative rows at Monday’s staff meeting. |

You need a little n8n: import a file, add two credentials and make a sheet with eight headers.

### Where to use it

Any n8n that can reach OpenAI and Google Sheets will run it. Rows land in the sheet of the Google account you sign in with.

- n8n Cloud: import the file into a new workflow there
- Your own n8n server: the same file and steps
- Google Sheets: sort, filter or chart the rows there
- A help desk or team chat: add a node after the sheet node to pass a row on

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Make the sheet before you import the file.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key that can use \`gpt-5.6-terra\` |
| Google | An account for a Google Sheets OAuth2 credential |
| A sheet | A first tab named \`Sheet1\`, with eight headers in row 1 |

The sheet’s headers

| Column | What goes in it |
| --- | --- |
| \`Timestamp\` | The time the form was sent |
| \`Category\` | The topic the customer picked |
| \`Customer Feedback\` | Their words |
| \`Customer Name\` and \`Customer contact\` | The name and the contact detail they gave |
| \`Entered by\` | \`Form\`, always |
| \`Sentiment\` | The label from the model |
| \`Urgent?\` | Nothing. The workflow leaves it empty |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Copy your sheet’s ID: the long part of its address between `/d/` and `/edit`.
3. Add a Google Sheets OAuth2 credential and select it in `Add customer feedback to Google Sheets`. Replace `YOUR_SHEET_ID` in that node with the ID.
4. Add an OpenAI credential and select it in `OpenAI Chat Model`.
5. Save, open the form’s test address and send one answer. A new row should appear in the sheet.
6. Press Publish, then share the form’s production address.

### How to use it

Open the form’s address, fill in the fields and send. The form says the response has been recorded at once, and the row follows a few seconds later. Open the sheet to read it.

What to change for a different result

| To change | Where |
| --- | --- |
| The labels | The system message of \`Classify feedback with OpenAI\`, which asks for one of three words |
| The model | \`OpenAI Chat Model\`, \`gpt-5.6-terra\` in Mindket’s copy |
| The form | The title, description and topic choices in \`Submit form with customer feedback\` |
| Where rows go | \`Add customer feedback to Google Sheets\`, or a node you add after it |

### Example

A bike shop adds the form’s link to its order emails. A buyer named Mei picks Service and writes that the delivery came two days late, but the person on the phone was kind.

The sheet gets a row with the time, `Service`, Mei’s words, her name, her contact detail, `Form` in `Entered by` and a label in `Sentiment`. A mixed comment like hers can land on any of the three words, so read the text beside the label.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one is short. The form feeds two paths at once: one through the model, one straight to the Merge node. After a test, open `Merge sentiment with form content` to see the two halves joined.

**For experts.** Mindket’s copy swaps the older OpenAI text node for a Basic LLM Chain, so the reply still leaves as `text`.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Submit form with customer feedback\` | Form Trigger 1 with four fields | It answers when the form is sent, so the label never goes back to the sender |
| \`Classify feedback with OpenAI\` | Basic LLM Chain 1.5 with a fixed prompt, a system message and the chat model | The reply leaves as \`text\`, which the sheet node reads as \`Sentiment\` |
| \`Merge sentiment with form content\` | Merge 2.1, combine mode, multiplex | The model’s reply is its first input and the form its second |
| \`Add customer feedback to Google Sheets\` | Google Sheets 4.1, append, with each column set by hand | \`Urgent?\` is in the node’s schema, but no value is set for it |

### Good to know

The model in the original copy is gone, and the form is open once published.

- Model: the original copy used n8n’s older OpenAI node, whose default \`gpt-3.5-turbo-instruct\` OpenAI shut down on 28 September 2026. Mindket’s copy uses a Basic LLM Chain with \`gpt-5.6-terra\`, the replacement OpenAI’s deprecations page names, read on 12 November 2026. That page lists no shutdown date for it
- One word: the older node cut its answer at 16 tokens. A chain has no such cut, so Mindket’s copy asks for one word in a system message
- The label: the model writes it, and a mixed comment can land on any of the three words
- Billing: OpenAI bills one chat call for each answer
- Open form: once the workflow is published, anyone with the form’s address can add rows and spend your OpenAI key
- Your data: only the feedback text goes to OpenAI. The name and the contact detail go to your sheet alone
- Credentials: the JSON holds none

## README

```markdown
# Customer feedback form scored for sentiment in a sheet

An n8n workflow with a four-field feedback form. A visitor gives a name, a topic, their feedback and a way to reach them.
An OpenAI chat model labels the sentiment of the feedback, and a Google Sheet gets one row with the answers and the label.

## What is inside

- `workflow.json`: the workflow as n8n exports it, ten nodes, five of them sticky notes. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- `Classify feedback with OpenAI` was n8n's older OpenAI node, which sends a text-completion request. Its default model,
  `gpt-3.5-turbo-instruct`, was shut down by OpenAI on 28 September 2026, and the replacement it names, `gpt-5.6-terra`,
  does not take completion requests. The node is now a Basic LLM Chain with an `OpenAI Chat Model` node set to
  `gpt-5.6-terra`. It keeps its name and its prompt, and its answer still leaves as `text`.
- The chain also has a short system message that asks for one word: Positive, Negative or Neutral. The older node stopped
  its answer after 16 tokens by default, which kept it short. A chain has no such stop.
- The Google Sheets node pointed at the author's own sheet. Its ID is now `YOUR_SHEET_ID` and its tab is named `Sheet1`.
- The note with the instructions linked to the author's example sheet. It now lists the eight column headers instead.
- The form's description read `orproducts`. It now reads `or products`.
- The credential links and the form's webhook ID are gone, so you select your own.
- Nothing else. The file has no Code node, and its expressions needed no repair.

## Before you start

- An n8n instance, on n8n Cloud or your own server.
- An OpenAI API key that can use `gpt-5.6-terra`.
- A Google account for a Google Sheets OAuth2 credential.
- A Google Sheet with a first tab named `Sheet1` and these headers in row 1: `Timestamp`, `Category`, `Customer Feedback`,
  `Customer Name`, `Customer contact`, `Entered by`, `Urgent?` and `Sentiment`.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Copy your sheet's ID: the long part of its address between `/d/` and `/edit`.
3. Add a Google Sheets OAuth2 credential and select it in `Add customer feedback to Google Sheets`. Replace
   `YOUR_SHEET_ID` in that node with the ID. You can also pick the sheet from the node's list.
4. Add an OpenAI credential and select it in `OpenAI Chat Model`.
5. Save, open the form's test address and send one answer. A new row should appear in the sheet.
6. Press Publish, then share the form's production address.

The form confirms with "Your response has been recorded" at once, and the run goes on behind it.

## How a run goes

1. `Submit form with customer feedback` (Form Trigger 1) takes four fields: `Name`, `What is your feedback about?` (a
   dropdown of Product, Service and Other), `Your feedback` and `How do we get in touch with you?` (the only optional one).
2. Two lines leave the form. One goes to `Classify feedback with OpenAI`, and one goes straight to the Merge node.
3. The chain puts the feedback into its prompt and sends it to `OpenAI Chat Model`. The reply leaves as `text`.
4. `Merge sentiment with form content` (Merge 2.1, combine, multiplex) joins the reply and the form answers into one item.
5. `Add customer feedback to Google Sheets` (Google Sheets 4.1, append) writes the row: `Timestamp` from `submittedAt`,
   the topic, the feedback, the name, the contact, `Sentiment` from `text` and `Form` in `Entered by`.

## Change the look

- The labels: the system message of `Classify feedback with OpenAI`. Ask for a score or for your own categories there.
- The model: `OpenAI Chat Model`.
- The form: the title, the description, the dropdown choices and the labels in `Submit form with customer feedback`. A new
  field needs a column header in the sheet and a line in the columns of `Add customer feedback to Google Sheets`.
- Where the rows go: swap the Google Sheets node for Airtable, Slack or a database, or add a node after it.

## Good to know

- `Urgent?` is one of the columns in the node, but nothing sets a value for it, so it stays empty.
- The model writes the label. A mixed comment can land on any of the three words, so keep the feedback beside it.
- OpenAI's deprecations page, read on 12 November 2026, lists no shutdown date for `gpt-5.6-terra`.
- Each answer is one chat call. Only the feedback text goes to OpenAI. The name and the contact go to your sheet alone.
- Once the workflow is published, anyone with the form's address can add rows and spend your OpenAI key.
```

## What is in it

3 files, 14 KB, downloaded as a zip.

```text
NOTICE.md  604 B
README.md  5 KB
workflow.json  9 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 4 steps, starting on a form
- AI: 1 step calls an AI model: Classify feedback with OpenAI
- Sign-ins: Signs in to: Google Sheets and OpenAI
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 4 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/3f3e7215-679a-4d97-87e1-91ac4c65dff3)
- [Its page on Mindket](https://mindket.com/p/3f3e7215-679a-4d97-87e1-91ac4c65dff3)
