Nightly Metaview interview archive to Google Sheets

By General Input

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

Integrations

  • Metaview
  • Google Sheets

Type

Deterministic Code

Categories

  • HR & People
  • Operations

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seatsBuild audience segments from product usage and push to LoopsTurn the people who engage with your posts into Pipedrive leads