Ticket triage · Production

Miro uses Amazon Bedrock to boost bug routing accuracy and reduce time-to-resolution from days to hours

The problem

Miro's engineering organization suffered from high rates of bug misrouting, causing repeated reassignments, SLA misses, and an estimated 42 years of cumulative lost productivity annually. Traditional NLP classifiers degraded quickly when organizational structures changed.

First attempt

An existing fine-tuned GPT model showed quickly degrading performance and required retraining whenever teams merged or responsibilities changed, making it impractical for Miro's dynamic engineering organization.

Workflow diagram · grounded in source
1
User submits bug in Slack
Trigger
A user posts a feedback report into a dedicated Slack channel, optionally including text and media attachments such as screenshots or screen recordings.
source quote
“A user posts a feedback report (for example, of a bug) into a dedicated Slack channel. The report might contain text and media attachments. Media attachments might include a video (typically a screen recording) that describes the process to reproduce …”
2
Parse media attachments
Ai action
Amazon Nova Pro uses image and video understanding capabilities to parse media attachments as text.
source quote
“We use the image understanding capabilities of Amazon Nova Pro to parse the media attachment description as text. One challenge with this approach is that the LLM isn't context-aware by default; it lacks information about the type of image (typically …”
3
Enrich bug with RAG context
Ai action
Amazon Bedrock Knowledge Bases automatically fetches context from Confluence documentation, Miro help center articles, resolved Jira tickets, GitHub READMEs, and Backstage documents.
source quote
“We indexed the following data sources in the knowledge base: Confluence documentation, Miro help center articles, resolved Jira tickets, GitHub READMEs, and Backstage documents (technical documentation and the software catalog)”
4
Route bug to responsible team
Routing
Anthropic's Claude Sonnet 4 on Amazon Bedrock combines the enriched bug description with team descriptions to classify the bug and route it to the correct team.
source quote
“Using Anthropic's Claude Sonnet 4 on Amazon Bedrock, the system combines the enriched bug descriptions along with detailed textual information on each team and their responsibilities into a single, optimized classification prompt that performs the routing to the correct team”
5
Generate root cause analysis
Ai action
Optionally, Anthropic's Claude Sonnet 4 with extended thinking retrieves relevant code sections from the Miro GitHub code base and generates hypotheses for the root cause of the bug.
source quote
“BugManager can optionally generate a root cause analysis of the bug. Again, we provide the necessary context to run such an analysis using Amazon Bedrock Knowledge Bases, this time drawing on the entire Miro GitHub code base for reference. During …”
6
Human review and override
Human review
Results are sent to Slack for the user to review; users can manually overwrite the default team selection if needed.
source quote
“By default, the bug is routed to the most likely team, but users can manually overwrite this selection”
7
Jira ticket created and assigned
Output
A Jira ticket with the original bug description, supporting documentation, and root cause analysis results is created and assigned to the selected team.
source quote
“a Jira ticket with the original bug description and supporting documentation retrieved from the knowledge bases as well as the results for the root cause analysis is cut and assigned to the selected team”
Reported outcome

BugManager achieved a six-fold reduction in team reassignments and a five-fold improvement in median time-to-resolution, transforming what once took days into an hours-long process.
Top-1 routing accuracy exceeded 75%—a 70% increase over the prior solution—with top-3 accuracy reaching 95%.

Reported metrics
Team reassignmentssix-fold reduction
Median time-to-resolutionfive-fold improvement
Top-1 bug routing accuracyover 75%
routing accuracy improvement vs prior NLP solution70% increase
Show all 10 reported metrics
team reassignmentssix-fold reduction
median time-to-resolutionfive-fold improvement
top-1 bug routing accuracyover 75%
routing accuracy improvement vs prior NLP solution70% increase
top-3 routing accuracy95%
extended thinking accuracy gains7–9%
average classification latency53 seconds
cumulative lost productivity from misrouting (baseline)estimated 42 years of cumulative lost productivity annually
engineering teams in scopenearly 100
bugs routed in productionthousands of bugs and support requests
Reported stack
Amazon BedrockAmazon Bedrock Knowledge BasesAmazon Nova ProAnthropic's Claude Sonnet 4Amazon OpenSearch ServerlessAmazon EKSAmazon S3ConfluenceGitHubBackstageSlackJira
◆ Does this fit your context?

Compare to your context

Tell us your scale, team, and constraints. We'll show what changes at your size, what fails at your scale, and whether this case is a fit, needs adaptation, or won't scale to you. Free demo, no signup.

Compare to your context →
~30 seconds · free
Source
https://aws.amazon.com/blogs/machine-learning/how-miro-uses-amazon-bedrock-to-boost-software-bug-routing-accuracy-and-improve-time-to-resolution-from-days-to-hours/
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

BugManager achieved a six-fold reduction in team reassignments and a five-fold improvement in median time-to-resolution, transforming what once took days into an hours-long process.

What tools did this team use?

Amazon Bedrock, Amazon Bedrock Knowledge Bases, Amazon Nova Pro, Anthropic's Claude Sonnet 4, Amazon OpenSearch Serverless, Amazon EKS, Amazon S3, Confluence, GitHub, Backstage.

What results were reported?

Team reassignments: six-fold reduction; Median time-to-resolution: five-fold improvement; Top-1 bug routing accuracy: over 75%; routing accuracy improvement vs prior NLP solution: 70% increase (source-reported, not independently verified).

What failed first in this deployment?

An existing fine-tuned GPT model showed quickly degrading performance and required retraining whenever teams merged or responsibilities changed, making it impractical for Miro's dynamic engineering organization.

How is this ticket triage AI workflow structured?

User submits bug in Slack → Parse media attachments → Enrich bug with RAG context → Route bug to responsible team → Generate root cause analysis → Human review and override → Jira ticket created and assigned.

WHAT TO DO WITH THIS

Now compare it to your context

This case is one data point. Whether its pattern fits you depends on your volumes, your stack, and your exception load — that comparison is the step no case study can do for you.