Weekly Warmly account log to Google Sheets

Every Monday morning, append last week's warm accounts from Warmly to a Google Sheet so revops has a clean longitudinal log.

Deterministic Code
WarmlyGoogle SheetsSalesOperationsData SyncAI ReportsResearch & Monitoring
PromptCreate

Build a code workflow that runs every Monday at 7am America/New_York and logs the prior seven days of warm accounts from Warmly into a Google Sheet, one row per account. This is a deterministic ETL: list, transform, append. No judgement steps, no LLM nodes.

Trigger: cron, every Monday at 07:00 America/New_York.

Install-time inputs that the installer fills in once: the destination Google Sheet (spreadsheet id or URL) and the tab name to append to. Assume the tab already exists with a header row.

Step 1. Page through Warmly list_warm_accounts for the prior 7 days. Use take=500 and offset starting at 0. After each page, advance offset by take and stop when the returned array length is less than take. Collect all accounts into a single array. Scope the time window to the last 7 days ending at the run start. Reference the Warmly common_docs (call get_service for warmly) for the agent-tools execute gateway shape and pagination rules.

Step 2. For each account, build a row with these columns in this order: account name, domain, total sessions, distinct identified visitors, distinct pages visited, top page viewed, first-seen timestamp (ISO 8601), last-seen timestamp (ISO 8601), CRM intersection field (the Warmly indicator of whether the account is already in the connected CRM).

Step 3. Append the rows to the configured Google Sheet tab using Append Values with valueInputOption=USER_ENTERED so dates render naturally. Send the rows in a single batch where possible. If there are zero accounts for the week, write nothing and exit cleanly.

Error handling: if Warmly returns 429, back off ~60 seconds and retry the same page. If Google Sheets returns 429 or 503, retry the append with exponential backoff (start 1s, cap 64s, add jitter). Surface a clear failure if the configured tab does not exist.

The same tab should grow week over week as a longitudinal record of warm-account intent. Do not deduplicate against prior weeks. Each Monday adds one batch of fresh rows for the trailing seven days.

Additional information

What does this prompt do?
  • Runs every Monday at 7am Eastern and pulls every warm account Warmly surfaced in the prior seven days.
  • Appends one row per account to your chosen Google Sheet tab, with company name, domain, sessions, identified visitors, distinct pages, top page, first-seen and last-seen timestamps, and whether the account is already in your CRM.
  • Grows the same tab week after week so you can sort, filter, and pivot in Sheets or pipe the log into a BI tool.
  • Skips judgement and AI work entirely. It is a clean, deterministic export you can trust to run unattended.
What do I need to use this?
  • A Warmly workspace with API access enabled (you'll paste your API key and Organization ID into General Input once).
  • A Google account that can edit the destination spreadsheet.
  • The spreadsheet link and tab name where you want rows to land. The tab should already exist with a header row.
How can I customize it?
  • Change the schedule. Many teams move it to Friday afternoon so the log is ready for Monday planning, or run it daily.
  • Swap which columns get written. Drop the CRM-intersection column, add a Warmly score, or split first-seen and last-seen into separate date and time columns.
  • Filter the rows before they land. For example, only log accounts with three or more sessions, or skip accounts already in your CRM so the sheet stays focused on net-new pipeline candidates.

Frequently asked questions

Does this overwrite my sheet each week?
No. New rows are appended below the existing data, so the tab becomes a rolling log you can sort and pivot. Header rows stay untouched.
What if Warmly returned hundreds of accounts in one week?
The workflow pages through Warmly until it has every account from the past seven days, then writes them in one batch. You don't need to think about pagination.
Can I send this to a different destination instead of Google Sheets?
Yes. Swap the final step for Airtable, Notion, BigQuery, or any other destination General Input supports. The Warmly pull stays the same.
Will it duplicate accounts that showed up two weeks in a row?
Yes by design. Each run logs the prior seven days, so an account that warmed up in two consecutive weeks will appear once per week. That is what makes the sheet a true longitudinal record of intent.
Do I need a paid Warmly plan?
List reads are free of credits in Warmly, so this workflow does not burn your monthly identification credits. You do need API access enabled on your Warmly workspace.

Turn Warmly's signal into a sortable history.

Connect Warmly and Google Sheets once, and Geni appends last week's warm accounts to your sheet every Monday at 7am.