Agency OS
Agency dashboard
The Agency OS home screen, showing cash, closes, earnings and payment health across every client workspace your agency runs.
The Agency OS dashboard is the first screen you see at /agency. It rolls up every client workspace under your agency into one view.
Who can open it
Any member of an agency can open Agency OS, provided the agency is on the Pro plan. If you are signed in but belong to no agency, PYLO takes you to your own workspace instead. If the agency is not on Pro, you are taken to your workspace with a note that Agency OS needs an upgrade. See Getting started as an agency operator.
Using the dashboard
- Pick a range in the top right: 7 days, 30 days or All time. The dashboard opens on 30 days.
- Read North star and the four cards beside it.
- Scroll to Client roster and press Open on any card to switch into that workspace.
- Click a figure card to open the metric inspector, which lists the rules and the rows behind it. For Total cash and Total closes you can correct a source row from there, and PYLO asks you to confirm before it changes the record.
Reading the figures
What each figure counts, across your workspaces, is in What the figures mean, at the end of this page. Those explanations come from the same place as Ask PYLO's answers.
Active clients counts workspaces whose status is Active. The number still in Setup is shown underneath.
A rate with nothing to divide by shows a dash rather than 0%.
Agency earnings ignores the range filter and counts from 1 January 2026. A workspace with no agency member on its team is left out of the totals and says so, rather than counting as zero.
Payment health shows the same instalments whatever range you pick.
If your workspaces price in different currencies, PYLO never adds them together. The headline shows a dash and lists a subtotal for each currency underneath.
What the figures mean
Each explanation below is generated from PYLO's metric registry, the same source Ask PYLO and Claude quote from, so the docs and their answers always agree.
North star
Cash collected
Money actually received in this period, net of refunds issued in it.
- Period: Bucketed on the payment's paid_at date in Europe/London. A refund is netted out on its own refund date, so a past period is never rewritten.
Closed deals
Every call that closed or took a deposit in this period, whether or not a live call sat behind it.
- Period: Bucketed on the call's scheduled time, converted to Europe/London before the date is taken. Both ends of the period are included.
Monthly cash goal
What the workspace set out to collect this month, in its own pricing currency. Zero means no goal has been set, not a goal of nothing.
Leads
Leads created in the period and not voided, the denominator of source coverage.
Client roster
Period, unless a figure says otherwise: Bucketed on the call's scheduled time, converted to Europe/London before the date is taken. Both ends of the period are included.
Show rate
Live calls as a share of live calls plus no-shows. A cancelled or rescheduled call is in neither side.
- Counts: Live calls, out of Live calls plus no-shows.
- Leaves out: Cancelled calls are in neither side. Rescheduled calls are in neither side. A close written with no call behind it (was_a_call false) is not a live call. Voided calls (test, duplicate, spam or other) are left out of every count.
Close rate
Closes as a share of live calls. A cancelled or rescheduled call is in neither side.
- Counts: Closes on live calls, out of Live calls.
- Leaves out: Cancelled, rescheduled and no-show calls are in neither side. Closes made over DM or recorded as a payment only are in neither side. Voided calls (test, duplicate, spam or other) are left out of every count.
Cash collected
Money actually received in this period, net of refunds issued in it.
- Period: Bucketed on the payment's paid_at date in Europe/London. A refund is netted out on its own refund date, so a past period is never rewritten.
Closed deals
Every call that closed or took a deposit in this period, whether or not a live call sat behind it.
Progress to goal
Cash collected against the workspace's monthly goal. Null, never zero, when no goal is set, and above one when the goal was beaten.
- Counts: Cash collected, out of Monthly cash goal.
- Period: Bucketed on the payment's paid_at date in Europe/London. A refund is netted out on its own refund date, so a past period is never rewritten.
Agency earnings
Workspaces with a linked agency member
Client workspaces where at least one agency member resolves to a team member, by auth_user_id or, for an operator who has never signed in, by email. Only these contribute to an earnings total.
Workspaces
Client workspaces on this agency, linked or not.
Total earned
Commission the agency's own members have earned across the workspaces it is linked to, per currency, never combined across currencies. Unavailable, never zero, when no member is linked.
Total paid out
Of that, what has been settled: commission_payouts rows in status paid or partial. Money already paid is a fact rather than a win or a loss, so it carries no money semantic.
Outstanding
Earned less paid, floored at zero per workspace. Owed, not overdue, which is why design system §2.4 keeps it neutral.
Top performers
Closes by this pair
Calls that closed or took a deposit in this period, attributed to one closer and setter pair. No live-call filter, so it sums to deals.closed and not to calls.closes.
Cash on those closes
Succeeded payments joined to those calls. Joined on the call, so this is not netted against refunds the way cash.collected is.
Payment health
Overdue instalments
Pending payments whose expected date has passed.
Overdue balance
What those overdue payments are worth.
Instalments due this week
Pending payments expected within seven days from now.
Balance due this week
What those payments are worth.