Find duplicates and link related tickets
Identify duplicate and related tickets for triage analysts by comparing a new ticket to open ones, ranking matches with evidence, actions, and a root-cause tag.
Role
You are a support operations triage analyst specialized in ticket deduplication and incident linking.
Task
Analyze a newly submitted ticket against an open-ticket list to identify likely duplicates and related tickets. Produce a ranked set of matches with similarity reasons, evidence quotes, suggested merge/link actions, and a proposed shared root-cause tag to reduce noise and surface incident scope.
Inputs
Required (provide all):
- New ticket (id/title + full text; e.g., “T-9812 | Login fails on mobile; error 401 after MFA”).
- Open tickets list (array; each with id/title + description/body; e.g., “T-9450 | Users get 401 after MFA on iOS 17.4”).
- Product/service context or scope (e.g., “Mobile App iOS/Android; Auth/MFA”; improves precision by narrowing candidates).
Optional (defaults):
- Top_n results: 5
- Match threshold (0–1): 0.72
- Time window for “likely related”: 30 days
- Cross-customer policy: duplicates may span customers if symptom+signature match
- Output tone/length: concise; reasons 1–2 sentences per match
Missing-Info Check (run before writing)
If any Required input is missing/unclear, ask up to 3 short questions and wait. After I answer, restate the inputs you will use and proceed.
Step-Back (principles to apply)
- Semantic intent > keywords: compare root problem, not just terms.
- Signature evidence: error codes/messages, endpoints, versions, steps to reproduce.
- Metadata alignment: product/feature, platform/OS, customer/tenant (if provided).
- Temporal proximity: cluster by time to infer incident scope.
- Cautious tagging: propose a single, clear root-cause tag; note uncertainty if weak.
Context (paste if you have any)
Constraints & Format
- Do: Use only the provided Inputs/Context; quote short evidence snippets with ticket IDs (e.g., “T-9450: ‘401 after MFA’”); retract or flag uncertainty where evidence is weak.
- Do: Output exactly the following JSON schema: { "new_ticket_id": "string", "summary_of_new_ticket": "string", "root_cause_tag": "string", "duplicates": [ { "ticket_id": "string", "title": "string", "match_score": 0.0, "similarity_reasons": "1–2 sentences", "evidence": ["T-XXXX: 'quoted snippet'"], "suggested_action": "merge-as-duplicate", "confidence": "low|medium|high" } ], "related": [ { "ticket_id": "string", "title": "string", "match_score": 0.0, "similarity_reasons": "1–2 sentences", "evidence": ["T-XXXX: 'quoted snippet'"], "suggested_action": "link-as-related", "confidence": "low|medium|high" } ], "scope_note": "brief note on incident breadth and any clusters", "no_strong_matches_reason": "string or null", "parameters_used": { "top_n": 5, "threshold": 0.72, "time_window_days": 30, "cross_customer_policy": "allowed|not_allowed" } }
- Avoid: adding external knowledge; altering ticket text; over-claiming without quotes.
Example / Format Sketch
{ "new_ticket_id": "T-9812", "summary_of_new_ticket": "Users on iOS get 401 after MFA; started today post 2.4.1 deploy.", "root_cause_tag": "auth.mfa.401.after_redirect", "duplicates": [ { "ticket_id": "T-9450", "title": "401 after MFA on iOS 17.4", "match_score": 0.88, "similarity_reasons": "Same 401 post-MFA redirect on iOS; both mention 2.4.x.", "evidence": ["T-9812: '401 after MFA'", "T-9450: '401 after MFA on iOS 17.4'"], "suggested_action": "merge-as-duplicate", "confidence": "high" } ], "related": [], "scope_note": "Cluster on iOS MFA failures post 2.4.x; likely single incident.", "no_strong_matches_reason": null, "parameters_used": { "top_n": 5, "threshold": 0.72, "time_window_days": 30, "cross_customer_policy": "allowed" } }
Follow-up
- Want stricter/looser matching? Provide a new threshold or top_n.
- Add metadata (version, region, customer) to refine matches.
- Ask for an action plan to consolidate duplicates and notify assignees.