FULLSTACK DEVELOPER · AI / AUTOMATION

Built a duplicate ticket detection and merging workflow using grouping keys, error categories, and category-aware search heuristics

THE TEAM

AI Engineering, Support Operations

ROLE

Fullstack / Workflow Engineer

STACK

AWS Step Functions, Lambda, DynamoDB, Zendesk API, Anthropic Claude, decision-tree heuristics

IMPACT

Eliminated manual duplicate-merging work previously done by support engineers

Merge Workflow Diagram

OVERVIEW

A workflow agent that decides whether a freshly opened support ticket is a duplicate of an existing open one — and if so, merges it cleanly, preserving the business identifiers (PO numbers, invoice numbers, error messages) that engineers actually need to action the parent ticket.

The agent removes a constant stream of low-value manual work for engineers and prevents the same incident from being worked twice by two different people. Without it, duplicate tickets pile up silently and get resolved out of order.

The whole decision flow is orchestrated as an AWS Step Functionsstate machine: grouping-key lookups identify candidate matches, error-category branching decides which merge rules apply, and category-aware search heuristics confirm whether two tickets actually describe the same incident before anything is merged. Tickets that don't clear that bar are routed, fail-safe, to the First Response Agent instead of being forced into a bad merge.

MY ROLE

I designed the full merge decision flow in collaboration with support engineering — including which categories should merge automatically, which should never merge, and what context the surviving ticket must carry forward.

I built the Step Functions state machine end-to-end, including the AI-assisted error-message deconstruction step, the logic that preserves PO/invoice numbers and cleaned error messages on the surviving ticket, and the fail-safe routing that hands off non-mergeable tickets to the First Response Agent.

The result eliminated a category of manual work that support engineers previously did by hand — cross-checking open tickets for duplicates — replacing it with a fully automated workflow running against every incoming ticket.

You've reached the end,

thank you for stopping by