Mindket

Lead rating added to new Google Sheets rows by OpenAI

Newversion 1 · updated

Overview

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 . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • 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

Platform

Connects 2 apps

How it works

Trigger

New row in Google Sheets

It starts when a row is added to your sheet, checked every minute, and it needs:

  • A Google Sheet with the columns Timestamp, Email Address, Your name, Your business area and Your team size
  • An empty column headed Rating

Actions

  1. The new row is picked up from the sheet
  2. The lead’s name, email, business area and team size go to OpenAI with your rules for a good lead
  3. The reply, a small JSON with a rating and a reason, is read into fields
  4. The row and its reply are joined by position
  5. The row with the same Timestamp gets the rating in its Rating column

Result

The word “qualified” or “not qualified” in the Rating column of the lead’s row

Integrations

What you need before you start.

Google Sheets

Lead list

Supplies each new row and takes the rating back.

NeedsGoogle account sign-in

OpenAI

Lead rater

Rates each lead against your rules and gives a reason.

NeedsOpenAI API key

Workflow check

Checked by Mindket on 13 Nov 2026

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

Read from the workflow’s file, not from a run.

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
IndustryWho uses itHow they use itExample
SoftwareFoundersSort sign-ups for a closed communityA founder reads the Rating column and invites the rows marked qualified.
ConsultingSolo consultantsPick which form replies to answer firstA consultant calls the qualified rows first and leaves the rest for later.
AgenciesAccount managersScreen inbound enquiriesAn account manager reads each rating next to the team size the lead gave.
EventsOrganizersSort requests for a limited number of seatsAn 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

Setup

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
NeedDetail
n8nOn n8n Cloud or on a server of your own
GoogleA sign-in that can read and edit your sheet
OpenAIAn API key
A sheetA 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 changeWhere
The rules for a good leadThe system message in Qualify leads with GPT
The details the model seesThe user message in the same node
The sheet and the columnCheck for new entries and Update lead status
How often it checksThe poll time in Check for new entries
The modelThe 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
NodeWhat it doesWhat to know
Check for new entriesPolls the sheet for added rowsChecks every minute
Qualify leads with GPTAsks OpenAI to rate the leadOne call per row
Extract JSON replyReads the reply into fieldsNeeds clean JSON
MergeJoins each row to its replyMatches by position
Update lead statusWrites the rating backMatches 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 and files

README

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.
Files
NOTICE.md  655 B
README.md  4 KB
workflow.json  9 KB

3 files, 14 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Business

See all in Business

pplx-decider-v1.1-27b

perplexity-ai · Kit

Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…

New

NuExtract3

numind · Kit

Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…

New

Drex DLM

nace-ai · Kit

Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…

New