Run daily outbound calls from Google Sheets with Retell AI

By General Input

Every weekday morning, Geni pulls pending leads from your Google Sheet, launches personalized Retell voice calls, and writes call IDs back.

Integrations

  • Retell AI
  • Google Sheets

Type

Deterministic Code

Categories

  • Sales
  • Operations

Build a code workflow that runs my daily outbound call queue from a Google Sheet, using Retell AI to place the calls. Every step should be deterministic. This is a fixed pipeline with no LLM reasoning.

Trigger: cron, every weekday (Monday through Friday) at 9am America/New_York.

Step 1. Read the Call Queue tab from my Google Sheet using Google Sheets' Get Values operation. The columns are Name, Phone, Company, Talking Points, Status, and an optional Timezone column.

Step 2. Filter to rows where Status is exactly 'Pending'. Skip everything else so already-dialed rows never get called twice.

Step 3. Apply a configurable daily call cap (default 50) so we stay comfortably under Retell's workspace concurrency limit. Trim the pending queue to that cap.

Step 4. For each remaining row: if a Timezone column is present and set, skip the row when it is not yet 9am in that timezone (the row stays Pending and will be picked up on a later run). Otherwise, call Retell AI's Create Outbound Phone Call operation using a configured from_number and override_agent_id, passing the row's Phone as to_number and passing Name, Company, and Talking Points as dynamic variables (retell_llm_dynamic_variables) so the agent script personalizes per lead. Capture the call_id returned by the create-call response.

Step 5. Write the results back to the same row using Google Sheets' Batch Update Values operation: the returned call_id, the launch timestamp in ISO 8601, and Status set to 'In Progress'.

Configuration inputs I want to be able to tweak: the Google Sheet ID and tab name, the Retell from_number in E.164 format, the Retell override_agent_id, the daily call cap (default 50), and the cron time and timezone.

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