Prerequisites
- The AI Spend Agent must be enabled on your Dash.fi account. See Overview.
- You need an admin key (not a regular API key) from each provider you want to connect. Only an account owner or admin on the provider side can generate one.
Open the Configure modal
- Sign in to app.dash.fi.
- Open AI Spend Agent from the agents list on your dashboard.
- Click Configure in the top bar of the agent.
Connect Anthropic
Create an admin key in Anthropic
Paste the key into Dash.fi
Wait for the first sync
Connect OpenAI
Create an admin key in OpenAI
Paste the key into Dash.fi
Wait for the first sync
Upload invoices (optional)
The third step of the Configure modal lets you upload recent provider invoices so the agent can reconcile them against the usage it pulls from the admin key. This step is optional — the agent activates as soon as a provider is connected, and clicking Next through the invoice step effectively skips it. You can return to Configure at any time to add invoices later. Uploading invoices tightens the accuracy of the reconciliation summary and refund claims in Recovery, because the agent can compare the provider’s actual line-item charges (not just the usage feed) against expected pricing.Supported providers and formats
- Providers: Anthropic and OpenAI.
- File types: PDF or CSV.
- Recommended scope: your last 3 months of invoices for each provider.
Upload an invoice
Open the Upload invoices step
Choose a provider
Pick a file
Wait for it to finish
Add more or continue
- Stored (green check) — The file reached storage and has been recorded against your account.
- Pending — Upload is still being verified.
- Error (red) — The upload didn’t complete. Click Try again to re-select the file.
What happens after upload
Uploaded invoices feed the AI Spend Agent’s billing reconciliation pipeline. The next audit compares each invoice’s line items against the expected pricing derived from your usage. Any additional discrepancies surface in the Violations view — specifically under Billing — and back new or refined refund claims in Recovery. You don’t need to do anything else to the uploaded files. There’s no parsing job to poll and no manual mapping step.Set spend targets (optional)
The fourth step of the Configure modal lets you declare what you expect to spend across your connected providers. Targets are measured against aggregated spend across all providers, not per-provider. This step is optional, and setting a target on one window doesn’t require setting one on the others. You can set three independent targets:- Daily — cost you expect per day.
- Weekly — cost you expect per week.
- Monthly — cost you expect per month.
Set or update a target
Open the Set spend targets step
Enter an amount
Save it
$X/day, $X/week, or $X/month.What targets do today
Targets tell the AI Spend Agent what “normal” spend looks like for your team. When aggregate spend in a window runs over its target, the agent surfaces a spend alert under Anomalies. Windows without a target are excluded from that alerting entirely. Editing targets requires theagent:write permission. Team members with read-only access see the current amounts but not the inputs.
Sync now
Usage refreshes automatically on the agent’s own schedule. To pull the latest data on demand — for example, after a large spike or before opening a claim — click Sync now next to the connected provider in the Configure modal. The sync runs in the background; usage-based views refetch once it finishes.Connection sync health
Each connection in the Configure modal shows a chip next to the provider name that tells you the state of the last background sync. Use it to tell at a glance whether the numbers in the dashboard are current.- Connected (green) — The last sync succeeded. Below the key preview, the connection shows Last synced <timestamp> so you know how fresh the data is.
- Sync issue (amber) — The last sync failed on something transient (for example, a provider timeout or upstream 5xx). Dash.fi keeps retrying automatically on the normal schedule. No action is required unless the state persists.
- Action needed (red) — The stored admin key permanently fails, either because the provider rejected it (revoked or expired) or because it can no longer be decrypted. Syncing is paused for that connection and its data is frozen at the last successful sync until you rotate the key.
· action needed to make the state visible without opening Configure.
Rotating the key clears the state as soon as the next sync succeeds: the chip returns to Connected, the banner disappears, and the top-bar status goes back to its normal live label. Follow Rotate a key below to paste the new key.
Refresh insights
Sync now brings in fresh usage data, but a separate audit pass produces findings and claims. Use Refresh insights (in the agent’s top bar) to re-run the audit against the current usage and produce updated findings. The button shows an Auditing… state while the job runs, and refreshes the Action Plan and Recovery views the moment it finishes.Rotate a key
Rotate a key when the provider-side key is regenerated, revoked, or scheduled to expire. Rotating replaces the stored key without losing any historical data.Create a new admin key
Open Configure in Dash.fi
Rotate
Disconnect a provider
Disconnecting stops the agent from pulling new usage from that provider. Historical usage and findings already synced remain visible in the dashboard.Open Configure
Disconnect
Troubleshooting
'A live connection already exists' when connecting
'A live connection already exists' when connecting
Usage or findings look empty after connecting
Usage or findings look empty after connecting
Connection shows a Sync issue chip
Connection shows a Sync issue chip