Monday AR aging digest in Slack from QuickBooks
Every Monday at 8am, post a risk ranked list of overdue accounts to your collections Slack channel so the team knows exactly who to chase that week.
Build me an agent workflow that posts a weekly risk ranked AR aging digest into our collections Slack channel every Monday at 8am in my local timezone. Trigger: cron, weekly, Monday 08:00 in the user's timezone.
Integrations to use:
- QuickBooks Online for the source data. Use Run Reports to pull the AR Aging Detail report. Use Query Entities to look up Customer records and recent Invoice and Payment entities for the top overdue accounts.
- Slack Bot (slackbot, not the user-token slack integration) for delivery. Use Send a Message to post a single message to the collections channel as the bot. The user will tell you which channel.
What the agent should do each run:
1. Run the AR Aging Detail report in QuickBooks Online for today. Capture each overdue line: customer, invoice, amount, due date, and which aging bucket it sits in (Current, 1-30, 31-60, 61-90, 90+).
2. For the top overdue accounts by total exposure (say the top 15-20), pull the Customer record and recent Invoice and Payment history via Query Entities. This is what lets the agent understand whether a customer normally pays late or is acting out of character.
3. Rank accounts by a blend of total overdue balance and days past due, with heavier weight on the 61-90 and 90+ buckets. Older money is riskier money.
4. Identify two special groups and tag them in the message:
a. Customers whose total overdue balance grew week over week. If we do not yet have a prior week snapshot, infer the direction from very recent invoice and payment activity and add a note that the comparison will sharpen next week as history builds.
b. First time late customers, meaning customers with a clean recent payment history who have now slipped overdue. These get a softer suggested action.
5. Compose a single Slack message and send it via Slack Bot Send a Message. Structure:
- One short headline line ('Top 5 accounts to chase this week').
- The top 5 accounts as a numbered list. Each item shows customer name, total overdue amount, the oldest bucket they sit in (for example '90+'), any tag like 'first time late' or 'balance grew this week', and one short suggested action ('call CFO directly', 'send second reminder', 'escalate to legal', 'gentle nudge, clean payer'). Tone is specific, calm, actionable, no fluff.
- A compact total by bucket summary at the bottom: Current, 1-30, 31-60, 61-90, 90+, with dollar totals and account counts. Keep it on a few lines.
Formatting rules: use Slack mrkdwn (bold for customer names and dollar amounts, bullets, line breaks). Do not paste the raw report. Keep the whole message scannable in under a minute. Do not use em dashes. Use the company's currency as it appears in QuickBooks.
Edge cases:
- If AR is clean (no overdue accounts), post a one line 'All clear, nothing overdue this week' message instead of the full digest.
- If the Run Reports call fails or returns no data, post a brief message in the channel saying the digest could not be generated this week and include the reason.
- Skip customers marked inactive in QuickBooks.
Ranking and tone calls are open ended on purpose. This is an agent workflow, not a deterministic script. The point is that finance reads one curated message, not the raw report.
Additional information
What does this prompt do?
- Pulls your AR Aging Detail report from QuickBooks Online every Monday morning so you start the week with fresh data.
- Ranks overdue customers by total exposure and how late they are, weighting the 60+ and 90+ buckets more heavily.
- Flags customers whose overdue balance grew since last week, and customers who have never paid late before so they get softer outreach.
- Posts a single Slack message with your top five accounts to chase plus a one sentence suggested action for each, followed by a compact total by bucket summary.
What do I need to use this?
- A QuickBooks Online account with permission to view financial reports and customer records.
- A Slack workspace and a collections channel where the Geni bot is invited to post.
- A rough idea of your collections playbook (for example, what 'second reminder' or 'escalate to legal' means at your company) so the suggested actions sound right.
How can I customize it?
- Change the schedule. Move the digest to Tuesday, run it twice a week, or shift to a non 8am send time in your timezone.
- Change who sees it. Post to a different Slack channel, send a DM to the head of finance, or copy a second channel.
- Tune the focus. Raise the days past due threshold, change how many accounts get featured, or rewrite the suggested action phrasing to match your collections playbook.
Frequently asked questions
Does this work with QuickBooks Desktop?
What if my AR aging report has hundreds of accounts?
Can it post to a private collections channel?
How does it know which customers usually pay on time?
Can I change the suggested actions it writes?
Will it spot accounts that are getting worse week over week?
Stop reading the same overdue names every Monday.
Connect QuickBooks and Slack once. Every Monday at 8am, Geni posts the five accounts your team needs to chase that week, with a suggested action for each.