🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

OpenAI + Google Sheets: consistent interview scores

Lisa Granqvist Partner Workflow Automation Expert

Phone screens should be quick. But the follow-up turns into a messy mix of half-written notes, “gut feel” decisions, and someone trying to reconstruct what the candidate actually said.

Recruiters feel it when five calls land back-to-back. Hiring managers feel it when the “why” behind a score is missing. And founders doing their own hiring run straight into the same wall. This interview scoring automation gives you consistent pass/fail decisions, plus clear notes, without rewriting the same evaluation every day.

You’ll connect a transcript source to n8n, let OpenAI evaluate the transcript against your criteria, then log a clean row to Google Sheets so the pipeline stays readable.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: OpenAI + Google Sheets: consistent interview scores

Why This Matters: Inconsistent interview decisions

Most teams don’t struggle to do phone screens. They struggle to process them. Someone has to copy the transcript from a tool, skim it, decide if the candidate qualifies, then paste the summary somewhere the rest of the team will actually look. It’s tedious, so it gets rushed. Then the next person reviews the same candidate and comes to a different conclusion because the criteria weren’t applied the same way. Multiply that by a few roles and a busy week, and your “pipeline” becomes a pile of opinions.

It adds up fast. Here’s where the friction usually shows up.

  • Transcript reviews happen in batches, which means good candidates wait days for a clear next step.
  • Different reviewers emphasize different signals, so “pass” can mean three different things.
  • Manual copy-paste into a spreadsheet leads to missing fields like location, phone, or a usable reason for the decision.
  • When someone asks, “Why did we reject them?”, the answer is often buried in chat logs or not written down at all.

What You’ll Build: AI-scored transcripts logged to Sheets

This workflow listens for a phone interview transcript sent to n8n via a webhook (your interview system posts the final transcript when the call ends). n8n pulls the transcript text out of the incoming payload, then hands it to an OpenAI-powered evaluator built around a clear checklist. The AI agent returns structured fields like the candidate’s name, phone, city/state, a qualifies yes/no decision, and the reasoning behind it. Next, a formatting step makes sure the output is reliable and consistent, then the workflow appends a new row to Google Sheets so your team has one place to review and filter candidates. No more “where did that transcript go?” moments.

The workflow starts with a transcript webhook. OpenAI evaluates the transcript against your requirements and produces clean JSON. Finally, Google Sheets becomes the system of record for pass/fail outcomes and notes, ready for follow-up.

What You’re Building

Expected Results

Say you run 10 phone screens a week. Manually, it’s easy to spend about 15 minutes reading a transcript, then another 5 minutes copying details and writing a decision, so roughly 3 hours weekly. With this workflow, the only real human time is a quick skim of the AI’s notes and the occasional criteria tweak, maybe 2 minutes per candidate. That’s close to 2 hours back each week, while your spreadsheet stays uniform.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • OpenAI API for transcript scoring and extraction.
  • Google Sheets to store decisions, notes, and details.
  • OpenAI API key (get it from the OpenAI API dashboard)

Skill level: Beginner. You’ll connect accounts, paste in a webhook payload once, and edit evaluation criteria in plain English.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A transcript hits your webhook. Your phone interview tool sends the final transcript at the end of the call, and n8n receives it instantly through the Inbound Webhook Trigger.

The workflow extracts the actual transcript text. Many tools wrap transcripts inside a deeper JSON structure, so the “Extract Transcript” step pulls the right field and ignores everything else.

OpenAI evaluates the candidate against your criteria. The AI agent reads the transcript and produces structured outputs (name, phone, city/state, qualifies, reasoning) so you get consistency instead of freeform paragraphs.

Results are formatted and logged to Google Sheets. A JSON formatting/parsing layer keeps the output predictable, then “Append to Sheets” adds a new row you can sort, filter, and share.

You can easily modify the evaluation checklist to match a new role, then keep the same logging structure in Google Sheets based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Webhook Trigger

Set up the inbound webhook so external systems can send candidate transcripts to the workflow.

  1. Add the Inbound Webhook Trigger node and set HTTP Method to POST.
  2. Set the Path to 351ffe7c-69f2-4657-b593-c848d59205c0.
  3. Connect Inbound Webhook Trigger to Extract Transcript to start the execution flow.

Step 2: Set Up Transcript Extraction

Normalize the incoming payload so downstream AI nodes can reference the transcript reliably.

  1. Open Extract Transcript and add an assignment with Name set to body.message.artifact.transcript.
  2. Set the Value to {{ $json.body.message.artifact.transcript }}.
  3. Connect Extract Transcript to Evaluate Applicant.

Step 3: Set Up AI Evaluation and JSON Formatting

Use the AI agent to score the candidate and then normalize the output into a structured JSON format.

  1. In Evaluate Applicant, set Text to =Transcript: {{ $json.body.message.artifact.transcript }} and keep Prompt Type as define.
  2. Open OpenAI Chat Engine A and select the model gpt-4o-mini. Credential Required: Connect your openAiApi credentials.
  3. Verify the AI connection: OpenAI Chat Engine A is linked as the language model for Evaluate Applicant.
  4. In JSON Formatter, set Text to ={{ $json.output }} and ensure Has Output Parser is enabled.
  5. Open OpenAI Chat Engine B and select the model gpt-4o-mini. Credential Required: Connect your openAiApi credentials.
  6. Confirm Schema Output Parser is connected as the output parser for JSON Formatter and its schema example matches the desired JSON structure.

For AI sub-nodes like Schema Output Parser, credentials are added on the parent node (JSON Formatter), not the parser itself.

Step 4: Configure Google Sheets Output

Append the structured candidate data into your spreadsheet.

  1. Open Append to Sheets and set Operation to append.
  2. Set Document to [YOUR_ID] and Sheet to Sheet1 (value gid=0).
  3. Map columns to values: name{{ $json.output.name }}, phone{{ $json.output.phone }}, cityState{{ $json.output.cityState }}, qualifies{{ $json.output.qualifies }}, reasoning{{ $json.output.reasoning }}.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials.

⚠️ Common Pitfall: The Google Sheet must already contain columns that match the schema keys (name, phone, cityState, qualifies, reasoning) or the append may fail.

Step 5: Test and Activate Your Workflow

Validate the end-to-end flow from webhook to AI evaluation and Google Sheets logging.

  1. Click Execute Workflow and send a POST request to the Inbound Webhook Trigger URL with a payload containing body.message.artifact.transcript.
  2. Confirm that Evaluate Applicant produces a JSON object and JSON Formatter outputs valid JSON.
  3. Verify a new row is appended in the target Google Sheet by Append to Sheets.
  4. Once validated, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Google Sheets credentials can expire or need specific permissions. If things break, check the Google connection inside n8n’s Credentials tab and confirm the spreadsheet is shared with the connected account.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Quick Answers

What’s the setup time for this interview scoring automation?

About 30 minutes if your transcript source can send webhooks.

Is coding required for this interview scoring automation?

No. You’ll paste in credentials, point the Google Sheets node to your spreadsheet, and adjust the evaluation checklist text.

Is n8n free to use for this interview scoring automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs, which are usually a few cents per transcript depending on length.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I modify this interview scoring automation workflow for different use cases?

Yes, and you should. Update the criteria inside the “Evaluate Applicant” AI Agent instructions, then keep the same structured output fields (or add new ones) in the Schema Output Parser. Common tweaks include changing the checklist for a new role, adding a numeric score alongside qualifies, or capturing extra fields like availability, salary expectations, or license type. If you change output fields, also update the “Append to Sheets” column mapping so your sheet stays aligned.

Why is my OpenAI connection failing in this workflow?

Most of the time it’s an invalid or expired API key, or billing isn’t enabled on the OpenAI account. Update the OpenAI credentials in n8n, then re-run a single test execution. If it fails only on longer transcripts, you may also be hitting model or token limits, which means trimming the transcript or switching models can help.

What volume can this interview scoring automation workflow process?

Quite a lot—most small teams can run it daily without thinking about limits.

Is this interview scoring automation better than using Zapier or Make?

Often, yes, because this kind of workflow benefits from structured parsing and a bit of logic around “what counts as qualified.” n8n is strong there, and you can self-host for unlimited executions if volume grows. It also handles richer AI chains (agent + structured output parsing) without feeling bolted on. Zapier and Make are still solid if you want a quick webhook-to-sheet prototype, but you may spend more time fighting formatting issues and task limits. If you want help picking the simplest path, Talk to an automation expert.

Once this is running, every phone screen ends the same way: a clear decision, a written reason, and a row your team can act on. Honestly, that consistency is what makes hiring move faster.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal