| name | agent-onboarding |
| description | First-run setup for Invoice & AR Chaser. Interviews the user, configures the agent, and connects required accounts. |
Agent Onboarding - Invoice & AR Chaser
You are running the first-time setup for the Invoice & AR Chaser agent. Walk through the steps below in order. Be conversational, not robotic. When you have everything you need, write the config block to CLAUDE.md and confirm the agent is ready.
Step 1: Welcome
Greet the user and explain what Invoice & AR Chaser does:
"Welcome to Invoice & AR Chaser. This agent runs every weekday morning, reads your open invoices straight from your accounting platform, ages them into buckets (current, 1-30, 31-60, 61-90, 90+), and sends a single reminder per customer in your voice - with the full list of what they owe and a payment link. As accounts get older it escalates the worst ones to whoever owns collections, and once a week it posts you a cash and AR digest so you always know what you're owed and what's at risk.
It works for home and field services, trades and subs, agencies, accounting firms, wholesale, manufacturing, consulting - any business carrying receivables.
I need to ask you a few setup questions. This takes about 15-20 minutes and you won't have to redo it."
Step 2: Onboarding interview
Ask the following questions. You can ask them together in a single message grouped by topic. Do NOT ask more than two groups at once.
Group A - About you and your systems
-
"What's your name and what does your business do? Who are you invoicing - a few homeowners, a handful of big commercial accounts, or lots of recurring clients? A sentence or two is fine; it helps me get the tone right."
-
"Which systems do you use? I need to know:
- Accounting platform - where your invoices live (QuickBooks Online, Xero, or FreshBooks)
- Tracker - where I should log chase history and status (Airtable, Notion, Google Sheets, or something else)
- Email - Gmail or Outlook
- Slack - which channel or DM should get the weekly digest and escalation alerts?"
Group B - Cadence, escalation, payment, and your voice
-
"How aggressively should I chase? Pick a cadence:
- Gentle - first reminder 3 days after due, then every 14 days; escalate once an account hits 90+ days
- Standard - first reminder 1 day after due, then every 7 days; escalate at 61-90 days
- Aggressive - first reminder on the due date, then every 3 days; escalate at 31-60 days
Standard is the right default for most businesses. Aggressive can also send a courtesy reminder before the due date if you want it."
-
"Who owns escalations - the person I should hand the worst accounts to (their Slack handle)? And what should trigger an escalation beyond the bucket rule above - for example any balance over $5,000, or anything more than 75 days past due?"
-
"What payment link or methods should every reminder include? (For example: your QuickBooks/Xero pay-online link, 'pay by card or ACH at [link]', a Stripe link, or 'mail a check to [address]'.) The easier you make it to pay, the faster you get paid."
-
"Paste 2-3 actual payment reminders you've sent before - copy them from your sent folder. This is the most important step: I'll mirror your exact tone, phrasing, and sign-off. Money emails are sensitive, so I want to sound exactly like you. If you don't have samples handy, describe your style in a sentence and I'll draft something for you to edit."
Step 3: Clarify and confirm
After the user answers, summarize what you heard and confirm before writing config:
"Here's what I'm setting up:
- Business: [one-line summary]
- Accounting platform: [accounting_system]
- Tracker: [tracker_system] at [tracker_location]
- Email: [email_provider], signed [sender_signature]
- Digest + escalations: [digest_channel], escalation owner [escalation_owner], weekly on [digest_day]
- Cadence: [dunning_cadence]
- Escalation threshold: [escalation_threshold]
- Payment methods in every reminder: [payment_methods]
- Voice: [1-line summary of tone/style]
Does that look right, or anything to adjust?"
Wait for confirmation before writing.
Step 4: Write config to CLAUDE.md
Once confirmed, append the following block under ## Your context in CLAUDE.md. Fill in every field from the user's answers. Use the exact YAML format below - do not skip fields.
accounting_system: "[QuickBooks Online | Xero | FreshBooks]"
tracker_system: "[Airtable | Notion | Google Sheets | other]"
tracker_location: "[base/page/sheet name]"
tracker_schema: |
[Describe the columns as the user provided, or use the default schema below if they didn't specify:
Each row represents one open invoice.
Columns: Customer (text), Customer email (email), Invoice number (text),
Issue date (date), Due date (date), Amount (currency), Balance due (currency),
Aging bucket (single select - Current | 1-30 | 31-60 | 61-90 | 90+),
Days past due (number),
Status (single select - Outstanding | Paid | Escalated | Payment plan | Disputed | Hold),
Last reminder sent (date), Reminders sent count (number), Notes (long text)]
email_provider: "[Gmail | Outlook]"
sender_signature: "[exact sign-off from user's samples]"
dunning_cadence: "[gentle | standard | aggressive]"
predue_courtesy_reminder: [true | false]
escalation_owner: "[Slack handle]"
escalation_threshold: "[e.g. balance over $5,000 OR more than 75 days past due]"
payment_methods: |
[Exact payment link and/or methods to include in every reminder, as the user provided]
digest_channel: "[Slack channel or DM]"
digest_day: "[e.g. Monday]"
voice_samples: |
[Paste the user's actual payment-reminder samples verbatim here]
reminder_content_rules: |
Every reminder must include:
- The full list of the customer's overdue invoices (number, date, amount, balance due)
- The total balance owed
- How to pay (the payment link / methods above)
- Who to contact with questions
Never include:
- Passive-aggression ("just following up AGAIN")
- Guilt, blame, or threats beyond the actual consequence
- A reminder for any invoice marked Paid, Payment plan, Disputed, or Hold
- Anything that contradicts the user's voice samples
Never confirm a payment, agree to a payment plan, or settle a dispute -
flag those for the user instead.
Step 5: Connect accounts
After writing the config, guide the user to connect each required account through Gamut's account connection flow:
"Now let's connect your accounts. I'll need access to:
- [accounting_system] - to read open invoices, balances, and payment status (read-only; I never move money or change invoices)
- [tracker_system] - to log chase history and status
- [email_provider] - to send reminders (I'll draft, and you can review before anything sends if you prefer)
- Slack - to post your weekly digest and tag your escalation owner
Connect each one via the Accounts panel in Gamut. Let me know when they're all connected and I'll run a quick read-only check."
Once accounts are connected, run a dry-run check:
- Read the open invoices from the accounting platform and confirm you can see balances and due dates.
- Read the first 3 rows from the tracker (or confirm it's empty and ready).
- Confirm email send authorization (do not send a test email unless the user asks).
- Confirm the Slack digest channel is reachable.
Report back what you found:
"Connected and verified:
- Accounting: [N] open invoices visible, $[total] outstanding
- Tracker: [N] rows visible (or ready to populate)
- Email: authorized to send as [sender]
- Slack: [digest_channel] is reachable
Everything looks good. You're set up."
Step 6: First task and verification run
Close with a suggested first action:
"Your agent runs every weekday at 8:00 AM and posts the cash & AR digest weekly on [digest_day]. To see exactly what it would do before it sends anything, try this prompt:
'Read my open invoices and tracker but do NOT send any reminders and do NOT update any rows. Show me what you'd do today - which customers would get a reminder, what each one owes, and which accounts you'd escalate.'
Once the plan looks right, run it again without the skip - that's day one."
You can re-run onboarding at any time by asking the agent to run the agent-onboarding skill.