Closing & Tracking
Managing clients
5 min read
Once a client signs up via your subdomain, they appear in your agency overview as a card. Each card is a window into their business — calls last 30 days, MRR, your cut, minutes used vs limit, last activity.
The overview page
/dashboard/agency shows every client as a card:
- Healthy / Near cap / At cap / Pending status pill in the corner
- Calls 30d — total inbound calls from
call_logs - MRR — what they pay Foan
- Your cut — 30% of MRR, what's accruing for you
- Minutes bar — turns amber at 85% so you can warn them before they hit a wall
- Last call relative time — "3h ago" / "2d ago" / "no calls yet"
Opening a client's dashboard
Click "Open" on any card. We set an active_workspace cookie and drop you into /dashboard rendered AS that client. Every tab — agents, contacts, calls, integrations — works as if you were them.
Critically: this is the same view the client sees. Edits you make stick. Use it for white-glove tweaks ("they want their greeting changed to..."), prompt updates after a tricky call, or to pull a transcript when the client phones you panicked.
Adding a new client
Three ways:
- Generic signup link — click "+ Add new business" → copy the link → send. Anyone who signs up there is yours.
- Build a demo — same modal, drop their domain. We scrape their site and generate a demo URL with a personalised agent. Email the URL. They call it. They sign up.
- Cold email — copy the playbook from the affiliate hub. Same patterns, the only difference is your follow-up.
Watching the numbers
The strongest signal is calls 30d. A healthy client trends up. A flat or falling client is at risk — call them.
The second strongest is last call. A client whose last call was a week ago either has no inbound traffic (won't pay long) or has the agent off (forgot to publish the number, didn't forward, deleted the agent). Either way, fix it.
Set yourself a calendar reminder once a month to scan the cards. Five minutes of looking at numbers prevents a third of churn.
When a client churns
- Stripe fires
customer.subscription.deleted→ Foan webhook updates the workspace → it stays in your overview as "Pending" or shows zero MRR. - Their workspace data isn't deleted; if they come back, it's all there.
- You stop accruing your cut from the next billing period.
The best save: call them before they cancel. The card shows you they're at-cap or cold. Reach out, offer a tweak (different prompt, different voice, more languages), and most of them stay.