---
title: "Lead rating added to new Google Sheets rows by OpenAI"
kind: "Kit"
category: "Business"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/5c2db790-cc31-43c1-a50d-c7e7f2c33c32"
updated: "2026-11-12"
---

# Lead rating added to new Google Sheets rows by OpenAI

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

An n8n workflow that rates new leads in a Google Sheet. Each new row goes to OpenAI with your rules for a good lead, and the answer, qualified or not qualified, is written into the row’s Rating column.

Lead rating added to new Google Sheets rows by OpenAI 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 rates each new lead in a Google Sheet. It checks the sheet every minute for a new row. When one appears, it sends the lead’s name, email, business area and team size to OpenAI with your rules for a good lead. The model replies with a rating, qualified or not qualified, and a short reason. The workflow writes the rating into the row’s Rating column and leaves the reason out. Five nodes do the work, and four sticky notes explain the steps.

### Who it suits

Sales and community teams that collect leads in a sheet or a Google Form and sort them by hand. Skip it if your leads live in a CRM, or if a wrong rating on a person would cost more than a slow manual pass.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Software | Founders | Sort sign-ups for a closed community | A founder reads the Rating column and invites the rows marked qualified. |
| Consulting | Solo consultants | Pick which form replies to answer first | A consultant calls the qualified rows first and leaves the rest for later. |
| Agencies | Account managers | Screen inbound enquiries | An account manager reads each rating next to the team size the lead gave. |
| Events | Organizers | Sort requests for a limited number of seats | An organizer filters the sheet to qualified rows before sending invites. |

You need a little n8n: import a file, add a Google and an OpenAI credential and edit one prompt.

### Where to use it

Any n8n that can reach Google Sheets and OpenAI will run it. It starts when a row is added, so the workflow has to be published before it checks the sheet by itself.

- n8n Cloud: import the file into a new workflow there
- Your own n8n server: the same file and steps
- Another model: replace the OpenAI step with another model node and point \`Extract JSON reply\` at its text

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. You need a Google account with a sheet of leads and an OpenAI key.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| Google | A sign-in that can read and edit your sheet |
| OpenAI | An API key |
| A sheet | A tab with the columns Timestamp, Email Address, Your name, Your business area, Your team size and Rating |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Add a Google Sheets credential and select it in `Check for new entries` and in `Update lead status`. The first is a trigger credential, so n8n asks for two.
3. In both of those nodes, pick your document and your tab.
4. Add an OpenAI credential and select it in `Qualify leads with GPT`.
5. Edit the system message there so it holds your own rules for a good lead.
6. Publish the workflow, add a row to the sheet and wait a minute or two.

### How to use it

Add leads to the sheet, or let your form add them, and read the Rating column. A row says “qualified” or “not qualified”. Change the rules, and the next rows follow them. The workflow rates rows that arrive after you publish it.

What to change for a different result

| To change | Where |
| --- | --- |
| The rules for a good lead | The system message in \`Qualify leads with GPT\` |
| The details the model sees | The user message in the same node |
| The sheet and the column | \`Check for new entries\` and \`Update lead status\` |
| How often it checks | The poll time in \`Check for new entries\` |
| The model | The Model field in \`Qualify leads with GPT\` |

### Example

A founder collects join requests for a closed community in a Google Form. A new row arrives with the name “Dana Reyes”, the business area “Logistics” and a team size of 40. The model replies with the rating “qualified” and a reason that the lead runs a team of 40. The row’s Rating cell then reads “qualified”, and the reason is not saved.

If the model answers with anything besides the JSON, the parse step stops the run for that row.

### 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. A trigger node starts a run, here a new row. A Merge node lines up two streams of items, and a Set node reshapes one item.

**For experts.** `Check for new entries` feeds both `Merge` and `Qualify leads with GPT`. `Extract JSON reply` runs `JSON.parse` on `message.content`, and `Merge` pairs each row with its reply by position. `Update lead status` matches on `Timestamp` and writes `Rating` only.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Check for new entries\` | Polls the sheet for added rows | Checks every minute |
| \`Qualify leads with GPT\` | Asks OpenAI to rate the lead | One call per row |
| \`Extract JSON reply\` | Reads the reply into fields | Needs clean JSON |
| \`Merge\` | Joins each row to its reply | Matches by position |
| \`Update lead status\` | Writes the rating back | Matches on \`Timestamp\` |

### Good to know

One model line needed a swap, and only the rating goes back to the sheet.

- Model: OpenAI’s page, read on 12 November 2026, shut \`gpt-4-turbo-preview\` down on 26 March 2026 and names \`gpt-5\` or \`gpt-4.1\`, which are on the shutdown list themselves. Mindket’s copy uses \`gpt-6-luna\`, the name OpenAI gives those. A rating is a plain reply with no tools, so that model fits. The temperature setting is gone, because its page lists none
- Rating only: the reason the model gives is not written to the sheet
- Not run: Mindket read this copy against n8n’s source and did not run it on a live n8n or against a real sheet
- A rating is a machine’s guess about a person, so read it as a first sort and check the rows you act on
- Your data: each lead’s name, email, business area and team size go to OpenAI
- Credentials: the JSON holds none

## README

```markdown
# Lead rating added to new Google Sheets rows by OpenAI

An n8n workflow that rates new leads in a Google Sheet. It checks the sheet every minute for a new row and sends the lead's name, email, business area and team size to OpenAI with your rules for a good lead. The answer, qualified or not qualified, is written into the row's Rating column.

## What is inside

- `workflow.json`: the workflow as n8n exports it, 9 nodes. Five run: a sheet trigger, the OpenAI step, a step that reads the reply, a Merge and the sheet update. Four are sticky notes. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- `Qualify leads with GPT` used `gpt-4-turbo-preview` with a temperature of 0.3. OpenAI's deprecation page, read on 12 November 2026, shut that model down on 26 March 2026 and names `gpt-5` or `gpt-4.1`. Both are on the same page's shutdown list, `gpt-5` on 11 December 2026 and `gpt-4.1` on 14 January 2027, with `gpt-5.6-sol` and `gpt-6-luna` as their replacements. The node now uses `gpt-6-luna`. A rating is a plain reply with no tools, so that model fits. The temperature is gone, because the model's page lists no temperature setting.
- The credential links are gone. The document and the tab in the two sheet nodes are empty, so you pick your own. The four sticky notes are written again without the link to the author's sheet.
- The file's name is ours.
- Nothing else. The rules for a good lead, the reply format, the merge and the update are as the file had them.

Mindket read this copy against n8n's source. It was not run on a live n8n and was not tried against a real sheet.

## Before you start

- An n8n instance, on n8n Cloud or your own server.
- A Google account that can read and edit your sheet.
- An OpenAI API key.
- A Google Sheet with a tab that has the columns Timestamp, Email Address, Your name, Your business area, Your team size and Rating. A Google Form that writes into a sheet makes the first five.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Add a Google Sheets credential and select it in `Check for new entries` and in `Update lead status`. The first is a trigger credential, so n8n asks for two.
3. In both of those nodes, pick your document and your tab.
4. Add an OpenAI credential and select it in `Qualify leads with GPT`.
5. Edit the system message in that node so it holds your own rules for a good lead.
6. Publish the workflow, add a row to the sheet and wait a minute or two. The row's Rating cell fills in.

## What happens in a run

1. `Check for new entries` looks at the sheet every minute and passes on each row added since the last look.
2. `Qualify leads with GPT` sends two messages to the model. The system message holds your rules: a decision maker with a team counts, the bigger the team the better, and an email on a company domain counts as a second reason. One reason is enough for `qualified`. The model is told to think step by step and to reply `qualified` or `not qualified` in a JSON with a `rating` and an `explanation`. The user message fills in the row's name, email, business area and team size.
3. `Extract JSON reply` reads the reply into a `reply` field.
4. `Merge` pairs each row with its reply by position.
5. `Update lead status` finds the row by its `Timestamp` and writes `reply.rating` into the `Rating` column. The `explanation` is not written.

## What to change

- The rules for a good lead: the system message in `Qualify leads with GPT`.
- The details the model sees: the user message in the same node.
- The sheet and the column: `Check for new entries` and `Update lead status`.
- How often it checks: the poll time in `Check for new entries`.
- The model: the Model field in `Qualify leads with GPT`.

## Good to know

- Only the rating goes back to the sheet. To keep the reason too, add an `Explanation` column and map `reply.explanation` to it in `Update lead status`.
- The model is told to reply with the JSON and nothing more. If it adds anything else, `Extract JSON reply` stops the run for that row.
- The update step finds a row by its `Timestamp`, so keep that column filled for every row, as a form does.
- A rating is a machine's guess about a person. Read it as a first sort, and check the rows you act on.
- Data: each lead's name, email, business area and team size go to OpenAI.
- Cost: one model call per row, billed by OpenAI.
```

## What is in it

3 files, 14 KB, downloaded as a zip.

```text
NOTICE.md  655 B
README.md  4 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: 5 steps, starting on a Google Sheets event
- AI: 1 step calls an AI model: Qualify leads with GPT
- Sign-ins: Signs in to: Google Sheets and Google service account
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 5 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/5c2db790-cc31-43c1-a50d-c7e7f2c33c32)
- [Its page on Mindket](https://mindket.com/p/5c2db790-cc31-43c1-a50d-c7e7f2c33c32)
