Agent setup guide
AR Follow-Up Drafts for Microsoft Excel
Weekly: reads your AR aging table in Excel and drafts friendly, firm or final reminders, sent only after you approve the batch.
What it does
Weekly: reads your AR aging table in Excel and drafts friendly, firm or final reminders, sent only after you approve the batch.
- Every Monday, reads the AR aging table in your Excel workbook on OneDrive or SharePoint (up to 150 customer rows).
- For each customer, AI copies the past-due amounts from the table exactly and skips anyone not overdue, disputed, on a payment plan, marked do-not-contact or without an email.
- Each past-due total (and the amount in the weekly summary) is added up in code before anyone sees it — never by the AI; anything the AI got wrong is corrected and flagged to the reviewer.
- Picks a friendly, firm or final tone by the oldest overdue bucket (or your own thresholds) and drafts the email with your payment instructions; late fees or holds are mentioned only if your policy states them.
- The whole batch waits in Reviews; you edit any email or hold any customer, then approve.
- Each approved email is checked in code (drafted to send, still marked to send, a recipient, no placeholders left) and by an AI wording check that only stops amounts that don't match the aging row and mentions of AI — it must quote the sentence. Then it is sent with replies to your AR inbox and logged as a row in your reminders table.
- Your AR owner gets a summary of who was emailed, held (with the reason) or skipped, and the amount sent, added up in code.
- The summary is counted in code from what each step really did (sent, held, skipped, failed), so it never reports a held message as sent.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- Microsoft Excel, connected in Settings → Integrations. Microsoft Excel is waiting for Microsoft's approval, so this agent switches on once it's live.
- The AR aging as an Excel table (Insert → Table) with an email per customer, and a second table for the log.
What it doesn't do
- It never emails a customer before you approve the batch.
- It needs the aging as an Excel table, not loose cells.
- It doesn't mark rows “reminded” in the aging table (Excel's update needs a cell address); it adds a row to your log table instead.
- It doesn't re-check payments live in your accounting system: refresh the table before each run.
- It never invents amounts, invoice numbers, fees or consequences; it reads up to 150 customer rows per run.
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: Microsoft Excel.
- Nothing to send: the agent runs on a schedule.
- About 20 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 Microsoft Excel
Connect the Microsoft 365 account that can open your AR workbook (Settings → Integrations → Microsoft Excel).
3. Paste your collection policy
Open “Draft the reminder (or skip)” and replace the placeholder with your tiers, payment instructions, late-fee policy and sign-off.
| Setting | What to enter | In step |
|---|---|---|
| Your collection policy | Replace the placeholder with your business name, reminder tiers (e.g. friendly 1–30 days, firm 31–60, final 61+), minimum amount to chase, payment link or bank details, any late-fee or service-hold policy (exact wording), who never gets reminders, and the sign-off. It starts as “[PASTE YOUR BUSINESS NAME, REMINDER TIERS, PAYMENT INSTRUCTIONS, LATE-FEE POLICY AND SIGN-OFF HERE]” until you replace it. | “Draft the reminder (or skip)” |
4. Pick your aging table
Open “Read your AR aging table” and pick the account, drive, workbook and table (one row per customer, with an Email column).
| Setting | What to enter | In step |
|---|---|---|
| Microsoft Excel account (aging table) | The Microsoft 365 account that can open the workbook. Pick your connected Microsoft Excel account. | “Read your AR aging table” |
| Drive (aging table) | Your OneDrive, or the SharePoint document library's drive id. | “Read your AR aging table” |
| Workbook (aging table) | The .xlsx file in that drive. | “Read your AR aging table” |
| Table (aging table) | The Excel table with one row per customer and an Email column, e.g. ARAging. | “Read your AR aging table” |
5. Pick your reminders log table
Open “Log it in the reminders table” and pick the account, drive, workbook and the log table (Date, Customer, Tier, Amount, Sent to, Status).
| Setting | What to enter | In step |
|---|---|---|
| Microsoft Excel account (reminders log) | The Microsoft 365 account that can open the workbook. Pick your connected Microsoft Excel account. | “Log it in the reminders table” |
| Drive (reminders log) | Your OneDrive, or the SharePoint document library's drive id. | “Log it in the reminders table” |
| Workbook (reminders log) | The .xlsx file in that drive. | “Log it in the reminders table” |
| Table (reminders log) | A second table with six columns (Date, Customer, Tier, Amount, Sent to, Status), e.g. RemindersLog. | “Log it in the reminders table” |
6. Add your AR inbox and AR owner
Open “Email the reminder” and enter the Reply-to address, then “Email the summary to your AR owner” and enter who gets the summary.
| Setting | What to enter | In step |
|---|---|---|
| Your AR inbox (replies) | Customers' replies to the reminders come back to this address (Reply-to). | “Email the reminder” |
| AR owner's email (summary) | Replace the example address with who gets the summary of what was sent, held and skipped after each batch (up to 5, comma-separated). It starts as “ar-owner@your-company.example” until you replace it. | “Email the summary to your AR owner” |
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, set your time zone and switch the schedule on. It runs every Monday at 8:00 — refresh the aging table before then.
How it works
The agent is a normal workflow with 17 steps (3 AI steps, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.
- Mondays at 8:00 — Runs on a schedule (cron 0 8 * * 1, UTC — change it in the trigger's settings). Runs every Monday morning, after you've refreshed the AR aging table in the workbook. Set your time zone on the trigger.
- Read your AR aging table — Microsoft Excel: Read table rows. Reads the AR aging table in your Excel workbook (OneDrive or SharePoint): one row per customer with the overdue buckets.
- Each customer — Repeats the steps below for each item (up to 150 per run). Repeats the draft step for every customer row in the aging table (up to 150 per run).
- [For each item — “Each customer”] Draft the reminder (or skip) — AI step (runs on your AI provider key). AI copies the overdue amounts from the row, skips customers who shouldn't get a reminder, picks friendly, firm or final by age, and drafts the email with the exact amounts.
- [For each item — “Each customer”] Check the math — Step. Adds up each customer's past-due buckets in code — not by AI — writes the correct past-due total into the draft and the email, and flags any total the AI got wrong for your AR owner.
- Approve this week's batch — A person approves or rejects it in Reviews (the run waits). All of this week's drafts wait in Reviews together. Your AR owner edits any email, sets send to false on any that shouldn't go out, and approves the batch; nothing is sent before that.
- Each approved reminder — Repeats the steps below for each item (up to 150 per run). Branch: Approved. Repeats the wording check, the code checks, the send and the log for every draft in the approved batch.
- [For each item — “Each approved reminder”] Final check on the wording — AI step (runs on your AI provider key). AI makes a last pass on each approved email for amounts that don't match the aging row (typos made while editing) and mentions of AI only — greetings, payment instructions and your policy's own wording are fine. It must quote the exact sentence it objects to.
- [For each item — “Each approved reminder”] Check before sending — Step. In code: drafted to send (not skipped), still marked to send after review, a recipient, a past-due total, and a subject and body with no placeholders left — plus the wording check's verdict. Anything that fails is held, with the reason.
- [For each item — “Each approved reminder”] Send it? — Decision: picks the branch to follow. Drafts that pass every check are emailed and logged; the rest are held and listed in the summary with the reason.
- [For each item — “Each approved reminder”] Email the reminder — Sends an email from your workspace's sender. Branch: Passes. Sends the approved reminder to the customer from your workspace's sender, with replies going to your AR inbox.
- [For each item — “Each approved reminder”] Log it in the reminders table — Microsoft Excel: Add a row to a table. Adds a row to your reminders log table: date, customer, tier, amount, recipient and “Sent”.
- [For each item — “Each approved reminder”] Held — Kept in the run history. Branch: Held. Skipped, set to not send by your AR owner, or stopped by a check; the reason is in the run history and the summary.
- Count what happened — Step. In code, not AI: sorts every approved draft by what really happened — sent (email went out), skipped, held (with the reason) or failed.
- Prepare the amount sent — AI step (runs on your AI provider key). AI only copies each sent reminder's past-due total from the code-counted results, so the amount sent can be added up in code; it never sorts or counts the reminders.
- Check the math — Step. Adds up the past-due totals of the reminders that were sent in code — not by AI — and writes that amount into the summary.
- Email the summary to your AR owner — Sends an email from your workspace's sender. Sends the run summary (sent, held, skipped, failed — counted in code — and the amount sent, added up in code) to the person who owns collections.
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, set your time zone and switch the schedule on. It runs every Monday at 8:00 — refresh the aging table before then.
- 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
What should the workbook look like?
An Excel table (Insert → Table) with one row per customer: Customer, Email, Current, 1-30, 31-60, 61-90, 91+ and Total columns, plus Notes for disputes or payment plans. A second table logs the reminders sent, with six columns: Date, Customer, Tier, Amount, Sent to, Status.
Why a second table instead of marking the row?
Excel's update action needs an exact cell address, which moves when the aging export is refreshed, so each sent reminder is added as a row to a log table instead.
Is anything sent without approval?
No. Every week's drafts wait in Reviews; nothing is emailed until you approve the batch, and you can hold any single reminder by setting send to false.
Can the AI get the totals wrong?
Not in what your customers see: the AI only copies the bucket amounts from the row, and each past-due total is added up in code and written into the email and the log. If the AI's sum was off, the review shows what was corrected (e.g. “past-due total 1830.00 → 1730.00”).
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 .