AI usage providers
Connect each AI tool or model API your company pays for, so its bill appears in Flowstate. Where the provider says who used it, the cost lands on that person.
You need access to connect AI providers — ask your Flowstate admin. You’ll also need someone with admin access at the provider.
Connect a provider
- Open Settings → Integrations → Integrations and select Browse catalog.
- Under Filter by capability, choose AI spend, then select the provider.
- Under How to connect, select Use this route on the route marked Recommended.
- Follow the steps to create a credential at the provider.
- Enter it in Flowstate and select Verify and connect.
Flowstate checks the credential before saving anything, then imports your history. You can follow the import on the provider’s page.
Each provider’s own page has the detailed steps — see the table below.
Follow the first import
A first import isn’t instant. Flowstate has to fetch your history, match the provider’s users to your people, and work out who spent what. While that happens, the provider’s page shows Importing your history with a percentage and these stages:
| Stage | Done when |
|---|---|
| Key verified | The provider has accepted the key. |
| Importing spend history | Spend up to the end of yesterday has arrived. Providers publish a day’s usage after the day ends, so today’s spend is never there yet. |
| Matching provider users to your people | At least one person at the provider has been matched to someone in Flowstate. For a provider that only reports a total, this says Not applicable — this provider reports totals only and is skipped. |
| Attributing spend to teams | Some spend has arrived and been attributed. |
| Ready to report on | Everything above is done. |
Each stage only ticks when the data is really there, not after a set time. When every stage is done, the import is complete and the progress panel is removed from the provider’s page.
If the import stops
Import stopped means the provider is refusing the key for every connection you have with it, so nothing is arriving. The bar turns red. Create a new key at the provider and select Replace key on the connection. The import starts again.
What each provider brings
| Provider | What you get | Guide |
|---|---|---|
| Anthropic API (Console) | Cost and token usage, per person | Claude |
| Claude Enterprise | Cost and token usage, per person | Claude |
| OpenAI Platform API | Cost and token usage, per person and per project | OpenAI Platform API |
| GitHub Copilot (Business / Enterprise) | Cost per person | GitHub Copilot |
| Cursor (Pro / Business / Enterprise) | Cost per person | Cursor |
| Windsurf (Pro / Enterprise) | Estimated cost for the billing cycle, per person | Windsurf |
| Gemini API (AI Studio) | Cost by product, by day | Google Cloud |
| Vertex AI (GCP) | Cost by product, by day | Google Cloud |
| Azure OpenAI Service | Total cost | Azure OpenAI |
| Amazon Bedrock | Total cost | Amazon Bedrock |
| Mistral (Enterprise) | Cost by month and category | Mistral |
| Fireworks AI | Total cost | Fireworks AI |
| ElevenLabs | Cost for the current subscription period | ElevenLabs |
| Intercom Fin | Estimated cost, from resolutions and the cost per resolution you enter | Intercom Fin |
Providers that only give a total can’t say who used them, so that cost stays with the organisation.
Keep a connection working
On the provider’s page, each connection shows how far its data reaches — Data through a date, or No data yet — with these actions:
- Sync now — fetch the latest data.
- Replace key — swap in a new credential and keep the history. Use it when a key expires or the person who made it leaves.
- Rename connection — helpful if you connect several accounts at one provider.
- Disconnect — stop fetching. Data already imported stays.
If something’s not right
“That key was refused. Check you copied the whole thing, and that it is the key type this route asks for.” — Select Show what the provider said for the reason, and check you created the key type the route asks for.
The import says Import stopped — The provider is refusing the key. Create a new one and select Replace key.
The import is stuck on Matching provider users to your people — Nobody at the provider matches a person in Flowstate by email yet. Add your people with the email they use at the provider.
The import is stuck on Attributing spend to teams — No spend has arrived yet, for example because nobody has used the provider recently.
Spend shows, but not against people — Either the provider only gives a total, or the email someone uses at the provider doesn’t match their email in Flowstate. Add or correct the person in Flowstate; they’re matched on the next import.
Spend has stopped arriving — Check the Data through date. If the key has expired, use Replace key.