Appearance
AI Agents
AI tools are workforce now. Copilot, Cursor, Claude Code, the OpenAI API your platform team is leaning on — they all consume budget, deliver work, and need an owner. So we put them on the roster.
An AI agent in Flowstate is a cost line for an AI provider or seat-based tool. It sits next to employees, contractors and vacancies in the same plan, gets allocated to teams the same way, and rolls up into the same cost views. If GitHub Copilot is your fifth-most-expensive engineer, the headcount report should say so.
TIP
Spend telemetry — actual usage by person, team and project — lives in AI Governance. The AI agent record on the roster is for planned cost: how many seats, at what unit price, owned by whom. Use both together to reconcile invoice against attribution.
What an AI agent record represents
| Field | Description |
|---|---|
name | Display label (e.g. "Cursor — Eng", "Anthropic API — Platform"). |
provider | The vendor (anthropic, openai, cursor, github, etc.). |
monthlyPerSeatPrice | Per-seat cost when the agent is licensed by seat. |
inputTokenPricePer1M / outputTokenPricePer1M | Pricing for usage-based agents. |
monthlyIncludedInputTokens / monthlyIncludedOutputTokens | Free allowance bundled into a plan, if any. |
currencyCode | Currency the price is denominated in. Converted to your reporting currency on display. |
assignments | Which teams the agent is assigned to. Drives cost attribution. |
Live vs scenario, like everything else
AI agents are scenario-aware, like the rest of the workforce model. Editing an agent inside a scenario only changes the scenario's view of the world — your live agents stay untouched until the scenario is merged. Deleting an agent inside a scenario records the intent without destroying anything; the live agent is removed only when the scenario is merged.
The MCP write tools (add_ai_agent, update_ai_agent, delete_ai_agent) only ever mutate the scenario's view — see the Flowstate in Claude docs for how to drive this from an LLM.
Assigning to teams
An AI agent is allocated by creating an assignment with an assigneeType of team and a teamId. That assignment makes the agent's monthly cost flow into the team's cost roll-up — same path used by employee and contractor allocations described in cost attribution.
Per-person assignments and per-project allocations are on the roadmap. For now, attribute at the team level and use AI Governance attribution for finer-grained per-person spend signal.
Pricing the agent
Two pricing models are supported on the same record:
- Seat-based — set
monthlyPerSeatPrice. Multiply by the number of seats assigned. - Usage-based — set
inputTokenPricePer1MandoutputTokenPricePer1M. The plan cost is projected monthly token volume times those rates. Included token allowances are subtracted before billing.
If you set both, seat is treated as the floor and usage adds on top — useful for plans like ChatGPT Enterprise where you pay per seat and then for additional API.
WARNING
The plan cost on an AI agent is what you expect to spend. Actual spend comes from provider invoices and telemetry, surfaced in Spend reconciliation. When the two diverge, that is the signal you care about.
Where to go next
- AI Governance overview — telemetry, attribution and policy on top of agent spend.
- Cost attribution — how agent cost rolls up into team and project totals.
- Scenarios workflow — modelling new agent rollouts before committing.
- Integrations — wiring up Anthropic, OpenAI, Cursor, Copilot and friends.