How Usage Is Charged
What consumes usage? Work performed inside Controller AI can add workflow, action, AI, and paid API charges. Usage is measured in usage cents, where 100 usage cents equals $1, and it draws on the organization’s shared balance. A development test consumes that balance whenever billable work executes.
Which work is being charged?
Section titled “Which work is being charged?”Reasoning in your connected assistant is accounted for separately from Controller AI usage. The in-product builder and Controller AI agent conversations run hosted reasoning that Controller AI meters. Their workflow and integration calls can add charges of their own.
For example, asking an external assistant to inspect Daily invoice digest is different from running that workflow. A run can read records, summarize them, and send a Slack message. Count the actions that actually execute. Built-in paid API usage costs provider cost × 1.2, alongside any applicable flat node fee. Built-in X actions have no flat fee, and record their operation usage at that 20% markup.
Estimate one digest run
Section titled “Estimate one digest run”Use the three invoice fixture rows, one of which needs review. Suppose a manual full-flow run reads the existing invoice collection, creates one prose summary with Ask AI, and sends one message to the chosen docs-digest-test channel. Assume the selected Slack action comes from Pipedream, and that Ask AI uses Controller AI’s supplied model access.
The following rates are from the code reviewed on September 7, 2026. Compare the estimate with your actual run cost before planning volume.
| Part of the example | Count | Estimated charge |
|---|---|---|
| Root flow run | 1 | $0.01 |
| Native record read and ordinary count/join logic | As needed | No per-node charge |
| Ask AI action’s flat node charge | 1 | $0.01 |
| Ask AI model usage | 1 call | Model cost × 1.1 |
| Pipedream Slack action | 1 | $0.05 |
If the model portion costs V dollars, the estimate is $0.07 + 1.1 × V. This is arithmetic for the stated example, not a measured run. A hypothetical model cost of $0.002 gives $0.0722 total.
For a digest that only needs a count and joined invoice IDs, omit Ask AI. The same assumed manual run and send total $0.06. Adding a Pipedream sheet-read action adds another $0.05 per execution. A different action source can change the fee, so do not price an action from its app’s name alone. A non-exempt native action that requires authentication or carries a connection has a $0.005 flat fee. Any other non-exempt native action has a $0.01 fee.
Ask AI costs depend on the model and on input and output tokens. Hosted reasoning also charges for cache creation and cache reads, and for OpenAI it charges web-search calls. When you estimate the model portion, keep the sample size and prompt length representative.
What changes with loops and tests?
Section titled “What changes with loops and tests?”The root base charge is applied once, not once per subflow or loop child. Each executed action inside a loop keeps its own charge, so a metered action repeated for 100 invoices contributes 100 action charges. When only some invoices need that action, filter before it. For one aggregate digest, use one final send.
Native flow-control and data nodes have no per-node charge. That exemption does not remove a full flow run’s base charge. The four native actions that create or update agent and conversation files also have no flat node fee. This is not an exemption for every agent action.
Test current flow and cai run flow on development are full flow runs, with the base charge and any applicable action charges. An isolated node test has no root base charge, but its action and AI work can still cost usage. Ordinary dispatch through a trigger canvas omits the base charge. Its executed actions remain billable.
A failed action can still cost usage, because usage is recorded even when action execution throws an error. When a failed root run records the error type platform_error, its base charge is skipped. That is not a promise to refund every earlier action or provider charge.
A cancelled but eligible manual root run still receives the $0.01 base charge. Cancellation does not remove charges already recorded.
Assistant node, development-flow, and discovery tests are also checked against a per-workflow daily cap, which is separate from the balance. The REST run endpoint applies that check to development requests made with CLI credentials. See Test a Workflow for the counter and the refusal behavior.
What happens at zero balance?
Section titled “What happens at zero balance?”Before an ordinary manual/test run, API run, or trigger dispatch starts, Controller AI checks that the organization balance is positive. It does not reserve the estimated cost, and it does not stop a run whose charges exceed that balance. The next run at zero fails with You have no remaining usage balance for this period.
Where do I see actual cost and balance?
Section titled “Where do I see actual cost and balance?”In the app: open Workflows → Daily invoice digest → Run history, choose a run, and read Run cost. On the entry flow, the total includes the root base charge and child workflow executions. On a subflow, Run cost includes node charges from that subflow and its nested subflows, but excludes the base charge and child workflow executions. These totals overlap, so do not add them together.
Displayed run totals round to the nearest usage cent, so the hypothetical $0.0722 run can display as $0.07.
For the balance, open Settings → Subscription plan → Resource usage. Organization admins see Usage balance. Members see Your usage / Available in plan. The panel separates included allowance, bonus allowance when present, purchased credits, and total remaining.
With an assistant: this page uses account-level commands, so no workflow is pinned or required. Check which account the CLI is using:
cai auth status --jsonMCP uses account_status with {}, and returns balances inside usage: remainingTotalCents, usedThisPeriodCents, purchasedCreditBalanceCents, planAllowanceCents, bonusAllowanceCents, includedRemainingCents, and period dates. The CLI command identifies the connected account but does not return the usage balance. When you work through the CLI, read costs in the app. Execution reads help verify which actions ran, but do not return a dollar total.
Purchased credits are used after the plan allowance and any bonus allowance. Limits such as the number of published workflows are separate from the usage balance. Read Manage Account Usage for the account controls, and Test a Workflow before measuring a new action with real data.