runbookify
← All plans
Customer Support & Service / Ticket Intake & Triage

Duplicate Ticket Detector & Merger: Stop Solving the Same Ticket Twice

Cluster open tickets that are really the same issue — one customer writing twice, or a crowd hitting one bug — and let AI propose merges that a human confirms before anything combines.

IntermediateA weekendBuilds onNext.jsSupabaseResend
What you'll build

A web tool where you load a batch of open tickets, AI clusters the likely duplicates and related issues with a confidence score and a plain reason, you review each group side by side and pick the primary, and approved merges are written or exported as a clean 'merge into primary' mapping with a full audit trail.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.

Before you start

  • A Supabase account (free)
  • A Vercel account (free)
  • A Resend account (free)
  • A CSV or Sheet of open tickets with customer, subject, body, and created-at (or a helpdesk export)
  • Claude Code or any AI coding agent

The problem this kills

A customer emails about a broken checkout, hears nothing fast enough, and opens a second ticket. A new release breaks one feature, and forty people write in about it over an hour. Two agents pick up two of those tickets and, without knowing it, start writing the same answer at the same time. The customer gets two replies. The bug gets investigated twice. Your queue looks twice as scary as it actually is.

On a high-volume queue, duplicates and near-duplicates are a constant, invisible tax. They inflate your backlog, split conversations across threads, and let the same root cause get "solved" again and again while the real fix waits. The clues are all sitting in the tickets themselves — same customer, same subject, same symptom described five slightly different ways. You just need something that reads the whole open batch at once, groups the tickets that are really one issue, and shows a person enough to confirm the call. You do not need to be a developer to build that.

What you'll build

A simple internal web tool for your triage team. You load a batch of open tickets — from a CSV, a Google Sheet, or a helpdesk export — with the customer, subject, body, and created-at. The tool uses AI to cluster the tickets that are likely duplicates or closely related, and presents each group with a confidence score and a plain-English reason for why it grouped them. Because similar is not identical, the review screen shows the full text of both tickets side by side, so a human can actually judge.

Your triage lead reviews each proposed group, picks which ticket is the primary (the one everything else folds into), un-checks any ticket that doesn't belong, and approves. Only then does the tool act: it writes the merge (if you've wired up your helpdesk) or — the always-available path — exports a clean "merge into primary" mapping in the exact columns your helpdesk import expects, plus a full audit trail of who approved which merge and when. It never auto-merges across different customers without an explicit confirmation.

What's inside the Implementation Plan

The downloadable plan is a step-by-step file you paste into an AI coding agent. It opens by interviewing you about your business — your current triage process and who runs it, the helpdesk and spreadsheets you use, the real field names in your ticket export, your typical and peak ticket volumes, what your team counts as a true duplicate versus a merely related ticket, and the messy edge cases (shared inboxes, one person with two email addresses, bot-generated tickets, a bug spike that should be linked but not merged). It reads a short spec back to you for a thumbs-up, then builds the tool around your answers instead of a generic template.

From there it walks the agent through the data model, the ticket import, the clustering-and-scoring engine, the side-by-side review screen, the human approval gate with primary selection, and the merge-write plus "merge into primary" CSV export. Every step ends with a ready-to-copy prompt.

The governance it includes (this is the point)

This is not a script that quietly mashes your tickets together. The plan bakes in the controls a real support operation needs:

  • Login, so only your team can open the tool.
  • Row-level security, so people only ever see their own organization's tickets.
  • A human-in-the-loop gate: AI only ever proposes merge groups. A person reviews both ticket texts, confirms the primary, and approves — nothing is combined until they do.
  • A complete audit trail: who approved which merge, which ticket became the primary, and when.
  • Duplicate guards: the chosen primary ticket ID is the dedupe key, so the same group can't be merged twice and a ticket can't be folded into two different primaries.
  • A cross-customer safety rule: tickets from different customers are never merged without an explicit confirmation, because that's how you accidentally leak one customer's reply to another.

Who it's for

Triage agents and queue leads on high-volume support teams — anyone who watches the same issue land five times before lunch and wants the backlog to reflect reality. If you can use a spreadsheet and a helpdesk, you can build and run this. No coding background required.

You've got this — paste the first prompt and let the interview tailor it to your queue.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.