Agent setup guide
Estimate Chaser
Each weekday morning, finds open estimates due a follow-up in your sheet and drafts a tailored email for each.
What it does
Each weekday morning, finds open estimates due a follow-up in your sheet and drafts a tailored email for each.
- Runs each weekday morning and reads your estimates sheet and its follow-up log in Google Sheets.
- Dates are worked out in code, never by the AI: days until or since each date, the window and business days are computed in your workflow's time zone, and records outside the window are skipped before the AI sees them.
- AI picks the open estimates due their next touch under your cadence (3, 7 and 14 days after sending, at most 3 touches), skipping won, lost and recently chased ones.
- Drafts a short email per estimate that mentions the job and estimate number: a check-in, then a helpful nudge, then a polite close-out.
- A teammate approves or edits the batch in Reviews; each email is sent with Reply-to your office inbox and logged in the follow-up log.
- Up to 15 follow-ups per morning; everything is kept in the run history.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- Google Sheets, connected in Settings → Integrations.
- Your estimates in a Google Sheet with a status column you keep up to date (export, form or by hand), and an empty follow-up log tab.
What it doesn't do
- It doesn't read estimates from ServiceTitan, Jobber or Housecall Pro: those apps have no estimate list we can use yet, so estimates live in a sheet.
- It doesn't update the estimate's status when a customer replies or books: update the sheet.
- It never emails without a person approving the batch, and never invents discounts or deadlines.
- It sends emails, not texts.
Availability and plans
Available
Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.
Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.
Before you start
- A paid plan: agents run live, and the Free plan only runs Dry Runs.
- An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
- These apps, connected in Settings → Integrations: Google Sheets.
- Nothing to send: the agent runs on a schedule.
- About 15 minutes.
Set it up step by step
Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.
1. Connect your AI provider
The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.
2. Connect Google Sheets
Connect the Google account that can open and edit your estimates sheet.
3. Pick your estimates sheet
Open “Read your open estimates”, pick your Google account, paste the spreadsheet link and pick the tab.
| Setting | What to enter | In step |
|---|---|---|
| Google account (estimates) | The Google account that can open your estimates sheet. Pick your connected Google Sheets account. | “Read your open estimates” |
| Estimates spreadsheet | Paste the link of the sheet with one row per estimate. | “Read your open estimates” |
| Estimates tab | A tab with columns such as Estimate #, Customer, Email, Job, Amount, Date sent, Status. | “Read your open estimates” |
4. Pick the follow-up log tab
Add a tab with the header row Date, Estimate, Customer, Email, Touch. Then pick it in “Read the follow-up log” and “Log the follow-up”.
| Setting | What to enter | In step |
|---|---|---|
| Google account (log) | The Google account that can open your follow-up log. Pick your connected Google Sheets account. | “Read the follow-up log” |
| Follow-up log spreadsheet | Paste the link of the sheet that holds the follow-up log (can be the same spreadsheet). | “Read the follow-up log” |
| Follow-up log tab | An empty tab with the header row Date, Estimate, Customer, Email, Touch. | “Read the follow-up log” |
| Google account (write log) | The Google account that can edit your follow-up log. Pick your connected Google Sheets account. | “Log the follow-up” |
| Follow-up log spreadsheet (write) | The same spreadsheet as the follow-up log above. | “Log the follow-up” |
| Follow-up log tab (write) | The same follow-up log tab. | “Log the follow-up” |
5. Write your follow-up rules
Open “Pick who to follow up and draft each email” and replace the placeholder with your offers, phone number and signature. The cadence is set in “Check the estimate dates”.
| Setting | What to enter | In step |
|---|---|---|
| Your follow-up rules | Replace the placeholder with what you can mention (financing, warranty), your phone number and your email signature. The cadence (3, 7 and 14 days after sending) is set in “Check the estimate dates”. It starts as “[DESCRIBE YOUR FOLLOW-UP RULES, YOUR BUSINESS AND YOUR SIGNATURE]” until you replace it. | “Pick who to follow up and draft each email” |
6. Add your office inbox
Open “Email the customer” and enter the address customers should reply to.
| Setting | What to enter | In step |
|---|---|---|
| Office inbox (Reply-to) | Customers' replies come back to this address. | “Email the customer” |
7. Test it with Dry Run
Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.
8. Switch the trigger on
Open the trigger, check the time and time zone, and switch the schedule on. Assign the review step to your office manager.
How it works
The agent is a normal workflow with 13 steps (1 AI step, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.
- Weekdays at 8:00 — Runs on a schedule (cron 0 8 * * 1-5, America/New_York — change it in the trigger's settings). Runs each weekday morning (change the time and time zone on the trigger).
- Read your open estimates — Google Sheets: Read rows. Reads your estimates sheet: one row per estimate with the customer, email, date sent, amount, job and status.
- Read the follow-up log — Google Sheets: Read rows. Reads the follow-ups already sent (one row per email), so no estimate is chased too often.
- Check the estimate dates — Step. In code, not AI: works out the days since each estimate was sent in your time zone and its cadence tier — touch 1 due from day 3, touch 2 from day 7, touch 3 from day 14. Estimates sent less than 3 days ago, or with a date that can't be read, are left out. Change the cadence here (the buckets' min / max days).
- Check the follow-up log dates — Step. In code, not AI: works out how many days ago each logged follow-up was sent, so the AI never chases an estimate twice within 2 days. Nothing is filtered out.
- Pick who to follow up and draft each email — AI step (runs on your AI provider key). AI counts the follow-ups already logged, decides which open estimates are due their next touch from the cadence tier worked out in code, skips won, lost and recently chased ones, and drafts a short, tailored email for each.
- Anyone to follow up? — Decision: picks the branch to follow. Days with nothing due are just recorded; otherwise the batch goes to review.
- Nothing due — Kept in the run history. Branch: Nothing due. The run history keeps the check and the skipped estimates.
- Approve the follow-ups — A person approves or rejects it in Reviews (the run waits). Branch: Follow-ups drafted. A teammate reads the drafted emails in Reviews, removes or edits any (e.g. a customer who already called), and approves the batch.
- Each approved follow-up — Repeats the steps below for each item (up to 15 per run). Branch: Approved. Sends the approved emails one by one and logs each (up to 15).
- [For each item — “Each approved follow-up”] Email the customer — Sends an email from your workspace's sender. Sends the follow-up from your workspace's sender, with replies going to your office inbox.
- [For each item — “Each approved follow-up”] Log the follow-up — Google Sheets: Add a row. Adds a row (date, estimate, customer, email, touch) to your follow-up log, so tomorrow's run knows it was sent.
- Follow-ups sent — Kept in the run history. The run history keeps every email sent (and any that failed).
Test it with Dry Run
Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live.
- Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
- Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.
- For-each loops repeat only the first 3 items.
Go live
- Open the trigger, check the time and time zone, and switch the schedule on. Assign the review step to your office manager.
- Scheduled runs start only once the schedule is activated, and can't repeat faster than your plan's minimum interval.
- The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
- When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.
Questions
Can it read estimates from ServiceTitan, Jobber or Housecall Pro?
Not directly yet. Keep estimates in a Google Sheet (an export, a form, or by hand) with a status column you update when a job is won or lost.
Will it chase the same customer every day?
No. Each email sent is logged, and the agent follows your cadence and never chases an estimate twice within 2 days.
How is the cadence worked out?
In code, not by the AI: “Check the estimate dates” counts the days since each estimate was sent (in the trigger's time zone) and puts it in a tier — touch 1 from day 3, touch 2 from day 7, touch 3 from day 14. Change the days on that step's buckets. Estimates whose date sent can't be read are listed in the summary for you.
Troubleshooting
- “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
- A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
- An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
- It didn't run at the expected time: the schedule must be activated, and its time is in the trigger's timezone.
- A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
- A step failed: open the run in History and check that step in the Trace tab for the error and what it received.
Generated from the agent's own workflow, so it always matches what the agent does. Last updated .