Daily Warmforge deliverability log to Google Sheets

Every morning at 6am, log yesterday's warmup and inbox placement numbers for every mailbox into a Google Sheet you can chart forever.

Deterministic Code
WarmforgeGoogle SheetsOperationsMarketingDaily DigestsData SyncResearch & Monitoring
PromptCreate

Build a code workflow that runs on a cron every day at 6am and snapshots yesterday's Warmforge deliverability numbers into a Google Sheet, so we have a chartable long-term history outside the Warmforge dashboard.

Trigger: cron, daily at 06:00 in the user's local timezone. Compute the report date once at the start of the run as yesterday in YYYY-MM-DD (Warmforge uses date strings, not ISO timestamps).

Pipeline (deterministic, no reasoning needed):

1. Call warmforge.List Workspaces to enumerate every workspace the API key can see. Iterate pages until currentPage equals totalPages.

2. For each workspace, call warmforge.List Mailboxes with status=all and paginate through every mailbox. Keep the workspace id and name alongside each mailbox.

3. For each mailbox, call warmforge.Get Warmup Stats with from and to both set to yesterday's YYYY-MM-DD. Pull warmup sends, warmup replies, spam count, and reply rate for that single day. If the mailbox has no stats for that day, emit zeros rather than skipping the row.

4. For each workspace, call warmforge.Get Latest Placement Results for Mailboxes in batches keyed by mailbox address. Map the integer result enum to a human label (Inbox, Spam, Promotions, Pending, Missing) and capture the placement test id. Mailboxes with no placement test get Missing and a blank id.

5. Assemble one row per mailbox with these columns in this exact order: date, workspace, mailbox address, status, warmup sends, warmup replies, spam count, reply rate, latest placement result, placement test id.

6. Append all rows in a single google-sheets.Append Values call to a spreadsheet and tab the user configures (default range like Deliverability!A:J), with valueInputOption=USER_ENTERED so numbers and dates are parsed correctly. Assume the header row already exists in row 1.

Design goals: same schema lands every morning so downstream Sheets charts and Looker Studio dashboards stay stable. No AI reasoning steps. Handle Warmforge 429s with backoff. URL-encode the @ in mailbox addresses when they appear in path segments. Log a short run summary at the end: number of workspaces, mailboxes, and rows appended.

Inputs to expose as workflow config: the Google Sheet spreadsheet id, the target tab name (default Deliverability), and an optional list of workspace ids to include (empty means all).

What does this prompt do?

  • Runs automatically every day at 6am and captures yesterday's deliverability numbers from Warmforge.
  • Walks every workspace and every mailbox you have, so no inbox gets left out.
  • Appends one row per mailbox to a Google Sheet with the date, workspace, mailbox, warmup sends and replies, spam count, reply rate, and latest inbox placement result.
  • Builds a permanent, chartable history so you can track deliverability trends far beyond what the Warmforge dashboard keeps visible.

What do I need to use this?

  • A Warmforge account with an API key from Settings, API.
  • A connected Google account with access to the Google Sheet you want to write into.
  • A destination spreadsheet with a tab that has the column headers already in row 1.

How can I customize it?

  • Change the run time or timezone if 6am does not fit your team's morning.
  • Point it at a different spreadsheet or tab, or split each workspace into its own tab.
  • Add or drop columns, for example a heat score column or filtering to only warm mailboxes.

FAQs

Why write to a Google Sheet instead of using the Warmforge dashboard?
The Warmforge dashboard only shows a rolling window of recent data. Appending one row per mailbox per day into a Sheet gives you an unlimited history you can chart, pivot, or push into Looker Studio.
Will this work if I have multiple Warmforge workspaces?
Yes. It automatically walks every workspace your API key can see, then every mailbox inside each workspace, and writes one row per mailbox per day.
What columns end up in the sheet?
Date, workspace, mailbox address, status, warmup sends, warmup replies, spam count, reply rate, latest placement result (Inbox, Spam, Promotions, Pending, or Missing), and the placement test id.
What if a mailbox has no placement test yet?
The placement columns are left blank or marked Missing for that row. The rest of the warmup numbers still land, so you never get a gap in the daily log.
Can I change the schedule or send it somewhere else?
Yes. After you create the workflow you can change the time, the destination spreadsheet, the tab, or add filters like only including warm mailboxes.

Related templates

Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Flag VIP client emails in Zoho Mail and alert your team

Keep a spreadsheet of your most important senders, and every email from one gets labeled, posted to your team channel, and logged automatically.

Zoho Mail
Google Sheets
Slack Bot
Deterministic Code
Send Yotpo review requests when Shopify orders ship

The moment an order is fulfilled, we register it with Yotpo so the review request is timed off real delivery, and we log every sync so failures never go unnoticed.

Shopify
Yotpo
Google Sheets
Deterministic Code
Reconcile Shopify sales against Zoho Books every night

Every night at 11pm we compare the day's Shopify orders with your Zoho Books invoices and payments, and flag only what does not match.

Zoho Books
Shopify
Google Sheets
+1
Agentic Task

Stop losing your deliverability history to a rolling dashboard.

Connect Warmforge and Google Sheets once, and every morning at 6am you get a fresh row per mailbox in a sheet you can chart forever.