Agent Academy

Agent Academy is a free, source-linked library of skills, prompts, MCP servers and bot templates, organised into courses by profession, for people who hand real work to AI agents: 1,467 live resources, each with its original link, license and safety tags.

Tutorial

3_1_customer_support_ticket_agent

A tutorial demonstrating how to implement a structured customer support ticketing system using Google's ADK (Agent Development Kit) framework. This example shows how to create type-safe, structured support tickets with priority levels, categories, and resolution estimates using Pydantic schemas and

No credentialsDoes not send

https://github.com/Shubhamsaboo/awesome-llm-apps/tree/main/ai_agent_framework_crash_course/google_adk_crash_course/3_structured_output_agent/3_1_customer_support_ticket_agent

Original content

Full originalApache-2.0Source

Republished in full under its license, with attribution. The source is authoritative.

🎫 Customer Support Ticketing Agent with Structured Output

A tutorial demonstrating how to implement a structured customer support ticketing system using Google's ADK (Agent Development Kit) framework. This example shows how to create type-safe, structured support tickets with priority levels, categories, and resolution estimates using Pydantic schemas and Gemini 3 Flash model.

Tutorial Features

  • 🎫 Structured Support Tickets:
  • Learn how to create comprehensive support ticket schemas
  • Understand priority levels and categorization
  • See how to estimate resolution times
  • 🔧 Advanced Schema Design:
  • Complex Pydantic models with enums and optional fields
  • Proper field validation and descriptions
  • Type-safe structured responses
  • 🎯 Real-World Application:
  • Practical customer support use case
  • Shows how to handle different types of support requests
  • Demonstrates structured output for business processes
  • 📊 Priority Management:
  • Four-tier priority system (Low, Medium, High, Critical)
  • Automatic priority assignment based on issue description
  • Category-based routing for different departments

🚀 Getting Started

  1. Set up your environment:

```bash

cd 3_1_customer_support_ticket_agent

# Copy the environment template

cp env.example .env

# Edit .env and add your Google AI API key

# Get your API key from: https://aistudio.google.com/

```

  1. Install dependencies:

```bash

# Navigate back to the directory

cd ..

# Install required packages

pip install -r requirements.txt

```

  1. Run the Agent

```bash

# Start the ADK web interface

adk web

```

Then:

  1. Open the web interface in your browser
  2. Select the "support_ticket_creator" agent
  3. Enter your support request (e.g., "I can't log into my account and I have an important meeting in 2 hours")
  4. The response will be a structured JSON with all ticket details

Tutorial Overview

This tutorial demonstrates advanced structured output implementation in Google ADK:

  1. Complex Schema Design: Learn how to create sophisticated Pydantic models
  2. Enum Usage: Understand how to use enums for constrained values
  3. Optional Fields: See how to handle optional data with proper defaults
  4. Business Logic: Learn how to implement real-world business processes

Code Structure

  • customer_support_agent/agent.py: Contains the main agent definition and SupportTicket schema
  • customer_support_agent/__init__.py: Module initialization for easy imports

Support Ticket Schema

The agent creates structured tickets with the following fields:

  • title: Concise summary of the issue
  • description: Detailed problem description
  • priority: Priority level (low, medium, high, critical)
  • category: Department (Technical, Billing, Account, Product)
  • steps_to_reproduce: Optional list of steps for technical issues
  • estimated_resolution_time: Estimated time to resolve

Example Usage

Input: "My payment failed and I'm getting charged twice for the same service"

Output:

{
  "title": "Duplicate payment charge issue",
  "description": "Customer reports payment failure followed by duplicate charges for the same service",
  "priority": "high",
  "category": "Billing",
  "steps_to_reproduce": null,
  "estimated_resolution_time": "4-6 hours"
}

Dependencies

  • google-adk: Google's Agent Development Kit
  • pydantic: Data validation and settings management

How Structured Output Works

This tutorial shows how Google ADK handles complex structured output:

  1. Input Processing: Takes natural language support requests
  2. Context Analysis: Analyzes the issue severity and type
  3. Structured Generation: Creates comprehensive tickets with all required fields
  4. Validation: Ensures output matches the defined schema and business rules

This approach demonstrates how to create reliable, business-ready structured responses in Google ADK applications.

Related

TutorialCustomer service

2_1_support_ticket_agent

A structured output agent demonstrating Pydantic schema-based responses for customer support ticket creation.

Sourcegithub.com/Shubhamsaboo/awesome-llm-apps/tree/main/ai_agent_framework_crash_course/openai_sdk_crash_course/2_structured_output_agent/2_1_support_ticket_agent

No credentialsDoes not sendApache-2.0
CaseCustomer service

ai_customer_support_agent

This Streamlit app implements an AI-powered customer support agent for synthetic data generated using GPT-4o. The agent uses OpenAI's GPT-4o model and maintains a memory of past interactions using the Mem0 library with Qdrant as the vector store.

Sourcegithub.com/Shubhamsaboo/awesome-llm-apps/tree/main/advanced_ai_agents/single_agent_apps/ai_customer_support_agent

No credentialsDoes not sendApache-2.0
TutorialCustomer service

Using tool_choice=required for customer service (OpenAI cookbook)

Using Tool Required for Customer Service The ChatCompletion endpoint now includes the ability to specify whether a tool must be called every time, by adding tool_choice='required' as a parameter. This adds an element of determinism to how you build your wrapping application, as you can count on a to

Sourcegithub.com/openai/openai-cookbook/blob/main/examples/Using_tool_required_for_customer_service.ipynb

No credentialsDoes not sendMIT
TutorialCustomer service

Customer service agent with tool use (Claude cookbook)

Creating a Customer Service Agent with Client-Side Tools In this recipe, we'll demonstrate how to create a customer service chatbot using Claude 3 plus client-side tools. The chatbot will be able to look up customer information, retrieve order details, and cancel orders on behalf of the customer. We

Sourcegithub.com/anthropics/claude-cookbooks/blob/main/tool_use/customer_service_agent.ipynb

No credentialsDoes not sendMIT
Awesome listCustomer service

500 AI Agents Projects (includes customer service use cases)

Curated collection of AI agent use cases across industries (incl. Customer Service, E-commerce) with links to open-source implementations, e.g. a LangGraph customer-support agent tutorial.

Sourcegithub.com/ashishpatel26/500-AI-Agents-Projects

No credentialsDoes not sendMIT
PluginCustomer service

Customer Support plugin (Anthropic knowledge-work-plugins)

A customer support plugin primarily designed for [Cowork](https://claude.com/product/cowork), Anthropic's agentic desktop application — though it also works in Claude Code. Provides ticket triage, escalation management, response drafting, customer research, and knowledge base authoring for support t

Sourcegithub.com/anthropics/knowledge-work-plugins/tree/main/customer-support

No credentialsDoes not sendApache-2.0