{"slug":"langgraph-ticket-router","title":"Route a support ticket in LangGraph and pause before reply","summary":"A small LangGraph app classifies a ticket, drafts a reply, and interrupts for a person before anything is sent.","agent":"LangGraph","agentSlug":"langgraph","category":"Support","categorySlug":"support","roles":["Support lead"],"roleSlugs":["support-lead"],"industries":["Software"],"industrySlugs":["software"],"jobs":["support","workflow-automation"],"topic":"Support","topicSlug":"support","score":16,"difficulty":"hard","estCost":"Open-source library. Model calls are the cost. LangSmith is optional and not required here.","costTier":"free","timeSaved":"Sorting a repetitive queue, after the graph is built. Building it is real engineering.","prompt":"Classify the ticket as billing, bug, or how-to.\n\nDraft a reply using only the help-center excerpts in the prompt. If the excerpts do not cover it, draft a handoff note to a human instead of an answer.\n\nThen interrupt and wait. Do not call a send tool. The graph may continue only when the state field approved is true.\n\nTICKET:\nEXCERPTS:","steps":[{"title":"Start from the LangGraph overview and quickstart","detail":"The docs cover persistence, interrupts, and human-in-the-loop. Use an interrupt for the approval rather than a comment in the prompt alone."},{"title":"Model three nodes: classify, draft, wait","detail":"The wait node does not have a send tool. That is the product decision."},{"title":"Feed it ten old tickets with known labels","detail":"Write down disagreements. Fix the excerpts before you tune adjectives in the prompt."},{"title":"Only then consider a send tool","detail":"Add it behind the approved flag, in a separate change, with a log of who approved."}],"sourceUrl":"https://docs.langchain.com/oss/javascript/langgraph/overview","sourceNote":"Official documentation URL, checked when this seed was written. The prompt and steps are an original AI Playbook Gems playbook, not a quotation of a customer story, and have not been re-run.","date":"2026-09-26","verified":false,"status":"unverified","sponsorUrl":"","metrics":[{"label":"Hands-on time","value":"Engineering time to build the graph, then seconds per ticket"},{"label":"You still approve","value":"The reply, via the interrupt"},{"label":"Cost bucket","value":"Free library, model extra"}],"faq":[{"question":"Has this LangGraph playbook been re-run for the catalog?","answer":"No. Status is unverified. Paste the prompt, keep the version that worked, and do not treat the time or cost lines as measurements."},{"question":"Why is this a library playbook and not a chatbot?","answer":"LangGraph is a runtime. The playbook is the shape of the graph: classify, draft, stop. There is no hosted 'LangGraph agent' to click through in this catalog."}],"url":"https://aiplaybookgems.com/usecases/langgraph-ticket-router","jsonUrl":"https://aiplaybookgems.com/api/usecases/langgraph-ticket-router"}