Every alert and report answers the same questions, then raises new ones: why did it spike, which team, what changed? MCP helps, but it needs you at the keyboard. Costory already holds your cost data and your business and technical metrics. What it was missing was memory and orchestration.
Scouts add both. Assign a Scout to your reports and alerts. It reads each one, prepares the follow-up questions you would likely ask, and answers them directly in Slack, Teams or email.

Shape it to your needs. Talk to a Scout in Slack or through MCP to adjust its tone, choose what it shows you, or schedule recurring work. You can now talk to Costory from Slack: reinstall the app and then use @costory to ask any cost questions.
It learns from you. When a Scout finishes an investigation, it saves the result in a memory or creates events. Reply in Slack and tag @costory to refine the description or add missing context.

Scouts are free during Beta.
Customize alerts with reports
You can now build any alert’s content using reports: add a graph, a breakdown, whatever helps you understand it. Anything you add is also read by your Scout, so its explanation reflects exactly what you see.

Enrichments (Beta): map your catalog onto the bill
Virtual dimensions are still the quickest way to allocate costs when tagging is patchy. But some of you have outgrown long rule lists. When two rules match the same row, their order decides the result, and explaining why a cost landed in a bucket takes real time. Many of you also already know who owns what, and keep it in Backstage, a CMDB or a spreadsheet.
Enrichments sit between virtual tags and full tagging. You tag one stable key on your resources, such as a component. A dated mapping then turns that key into team, cost centre and business capability.
One key in, several columns out. One file can hold thousands of keys. Generate it from your catalog with a script, keep it in git, and publish it through the API or the Costory Terraform provider.
Reorgs don’t rewrite the past. Entries can carry dates, and every published change is backfilled over your full billing history. When a team is renamed this month, last quarter’s numbers stay the same.
Usage-based splits for shared resources. Split a shared database each day based on usage metrics. The split row stays one row and shares must add up to 1, so totals still match the invoice.

We designed this with two customers who already tagged one component key and wanted their catalog to stay the source of truth. If that sounds like your setup, the enrichments docs cover the file format, testing and Terraform publishing. The full story is on the blog: Why we built enrichments.
Understand and optimize your BigQuery costs
Data ingestion is our biggest cost, so we’ve wanted deep BigQuery visibility inside Costory for months. Selling software at €250 a month forces us to be careful with FinOps. 😅
You can now ingest the information schema of your BigQuery jobs and storage directly inside Costory. This lets you:
Fill the tagging gap. Enrich each job with the user who triggered it, the destination table, referenced tables and more.
See compute metrics, duration and cost metrics in a single tool. Compare autoscaling slots against on-demand to optimize your spend and reduce your bill.

Enable it here: BigQuery jobs setup.
Take your billing data anywhere
Every company already has a dashboarding tool: Looker, Metabase, Dust. You can now export your homogenized billing data back to your analytical engine:
BigQuery through table sharing (EU region only for now).
Any Apache Iceberg reader, such as Snowflake, DuckDB, ClickHouse or Polars (private beta, contact us).
The table is exported as is, in Iceberg with consolidated, compressed Parquet files. During the private beta, we provide it as a GCS bucket in europe-west1 where we grant you IAM read access. Network egress costs fall under fair use.

What’s next: LLM cost enrichment
We plan to work in November and December on LLM Cost Enrichment. Unfortunately providers don’t seem to give us much depth on LLM visibility: today the most viable option is to use a gateway to centralize calls and enforce a tagging policy. What is your experience? What do you expect from us for this new cost category? Here is our take based on our experience migrating to OpenRouter: OpenRouter cost visibility.
Contact us
A few small improvements you might not have noticed
For accounts with hourly visibility you can now change the timezone of the app to use your local tz instead of UTC.
On dashboards, you can now apply custom pivots on table widgets.

You can switch the color palette of your charts easily.
and many more…

Put this into practice with your own cost data
30-day free trial. Plans from €250/month, billed annually. We recommend Team (€600/month) once more than one team uses Costory.
First optimization recommendation
The next day
ROI
Pays for itself with the first recommendation you act on
Setup
Under 30 minutes
Data residency
EU
Access
Read-only on your cloud
