Nightly Metaview interview archive to Google Sheets

Every night at 11pm, log the day's Metaview interviews to a Google Sheet so recruiting ops has a filterable, permanent record.

Deterministic Code
MetaviewGoogle SheetsHR & PeopleOperationsData SyncDaily DigestsMeeting Workflows
PromptCreate

Build a code workflow that runs every night at 11pm on a cron trigger and archives the day's Metaview interviews into a Google Sheet for recruiting ops reporting and audit.

Inputs to expose on the workflow (so the user can configure without editing code): Google Sheet spreadsheet ID, tab name, and the lookback window in hours (default 24).

Step 1. Discover the Metaview tool schema. Call Metaview's List Available Tools once (this can happen at build time in the code) to identify the tool that lists completed interviews and the exact argument shape it expects (for example a completed-since / completed-until window). Hard-code the tool name and argument shape into the workflow after discovery. Do not re-list tools on every run.

Step 2. Pull the day's interviews. Use Metaview's Call a Tool with the discovered tool name to fetch every interview completed in the last N hours (default 24), computed relative to the run's start time in UTC. Page through all results if the tool paginates.

Step 3. Read existing IDs for dedupe. Use Google Sheets Get Values on the first column of the target tab (A2:A) to build a Set of interview_ids already archived.

Step 4. Map and filter. For each interview from Metaview, drop it if its id is already in the Set. Otherwise map the Metaview fields into this fixed column order: interview_id, completed_at (ISO 8601 UTC), candidate_name, role, interviewer, duration_minutes (integer), scorecard_status, ai_notes_summary (short, single line, truncate to ~500 chars), transcript_url. Missing values become empty strings, never null or the word "undefined".

Step 5. Write. If there is at least one new row, call Google Sheets Append Values on the configured spreadsheet and tab, one row per new interview, in the column order above. Use valueInputOption USER_ENTERED so the timestamp column renders as a date. If there are zero new rows, log "no new interviews" and exit cleanly.

Non-goals and constraints. This is a deterministic pipeline. There is no LLM reasoning step. Do not summarize, rank, or narrate the interviews. The workflow must be idempotent: a second run over the same window produces zero new rows. Handle a 429 from Google Sheets with exponential backoff. If Metaview returns an empty list, that is a successful run, not an error.

What does this prompt do?

  • Runs automatically every night at 11pm and captures every Metaview interview completed in the last 24 hours.
  • Writes one clean row per interview to a Google Sheet, with columns for candidate, role, interviewer, duration, scorecard status, AI notes summary, and transcript link.
  • Skips interviews that are already in the sheet, so overlapping or retried runs never create duplicate rows.
  • Gives recruiting ops a persistent, filterable record outside Metaview, ready for pivot tables, BI tools, or leadership reports.

What do I need to use this?

  • A Metaview account with an API key (generated in Metaview settings).
  • A Google account with edit access to the destination spreadsheet.
  • A Google Sheet with a tab prepared for the archive, or a blank tab the workflow can seed with column headers.

How can I customize it?

  • Change the run time from 11pm to any hour that fits your reporting cadence.
  • Point it at a different Google Sheet or tab, or split archives per role or per hiring team.
  • Adjust which fields land in the sheet, for example add stage, requisition ID, or interview type.

FAQs

Will it duplicate interviews if the workflow runs twice in the same night?
No. Before writing, it checks the first column of your sheet for existing interview IDs and only appends interviews that are not already there. It is safe to rerun.
Do I need to prepare the Google Sheet in advance?
Yes. Create a spreadsheet with a tab for the archive. The workflow will append rows in the column order it uses, so it helps to add matching headers on row 1.
Can I archive to Excel or Airtable instead?
Yes. You can swap the destination during setup. The same nightly capture pattern works with Microsoft Excel, Airtable, or any other spreadsheet or database we support.
What happens if Metaview is temporarily unavailable at 11pm?
The run will fail cleanly and no partial data lands in the sheet. The next night it picks up the last 24 hours as usual, so at most one day slips before you retry.
Does it record interview transcripts or AI notes?
It records a short AI notes summary and a link to the full transcript in Metaview, not the raw transcript text. That keeps rows compact and your sheet fast.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Local listing health board for every location you manage

See every Google Maps listing you manage on one screen, ranked worst first, with an audit button that writes the fix list for you.

Local Business Data
Google Sheets
App
Let support send one-off Loops emails without an engineer

Your team picks a template, finds the customer, checks they are safe to email, then sends it, with every send logged where the whole team can see it.

Loops.so
Stripe
Google Sheets
App
Stop cold emails to anyone with a live deal in Pipedrive

Every night at 2am, pull the contacts on your open and won deals and block them from your cold outreach before the next send goes out.

Mailshake
Pipedrive
Google Sheets
Deterministic Code
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App
LinkedIn Ads budget pacing dashboard for every client account

See every LinkedIn ad account's spend against the budget you committed to, catch overspend early, and rebalance without rebuilding a spreadsheet.

LinkedIn Ads
Google Sheets
Slack Bot
App

Stop losing interview history when Metaview data ages out.

Connect Metaview and Google Sheets once, and every completed interview lands in a clean, dedupe-safe row every night at 11pm.