How to Build an AI Support Agent with Gemini (and Google's ADK)
Gemini is a strong, cost-effective model for support, and Google now has a proper framework to build agents on it: the Agent Development Kit (ADK), a code-first, open-source toolkit with real multi-agent orchestration. If you want an agent that reads a ticket, pulls the customer's order, answers from your help center, and escalates the tricky ones, Gemini + ADK will get the brain built quickly. This guide shows how — honestly — including the deploy, integration, and evaluation work that stands between an ADK script and something you'd let answer a customer, and where a platform ships that faster.
What a support agent has to do
The job is a loop: understand the ticket, fetch context (customer, orders, the right help-center article) via function calls, act (reply, tag, escalate), and know when to hand off. Gemini handles the reasoning; ADK gives you the loop and tools; the rest is yours or a platform's. (Weighing build-vs-buy first? See our AI agents for customer service overview.)
Option 1: Build it with the Agent Development Kit
Google's ADK is the code-first way to build on Gemini — Python (also Go, Java, TypeScript), with a tool ecosystem and graph-based multi-agent orchestration. Install (pip install google-adk) and a support agent is compact:
from google.adk.agents import Agent
def get_customer(email: str) -> dict:
"""Look up a customer by email."""
return db.get_customer(email)
def search_kb(query: str) -> list[str]:
"""Return the top help-center passages for a query."""
return kb.search(query, k=3)
def reply_to_ticket(ticket_id: str, body: str) -> dict:
"""Post a public reply on a ticket."""
return zendesk.reply(ticket_id, body)
support_agent = Agent(
name="support",
model="gemini-2.5-pro",
instruction=("You are Acme's support agent. Answer from the help center; "
"escalate refunds over $100 to a human."),
tools=[get_customer, search_kb, reply_to_ticket],
)
ADK wraps your plain Python functions as tools automatically, runs the Gemini function-calling loop, and — its real strength — lets you compose a team of agents (a triage agent delegating to billing/shipping specialists) as a graph. The ADK docs and Gemini function calling are the primary references. To run it on live tickets you still wrap it in a trigger — a webhook your help desk calls per new ticket.
Where Claude Code and Codex help
Both coding agents write ADK fluently — the tools, the agent graph, the help-desk client — from a description, then you refine. They compress the code; they don't decide your tools, guardrails, or escalation, or run it in production.
What Gemini + ADK still leaves you to own
ADK gives you the loop, tools, and multi-agent orchestration. The honest remainder:
- Connect your help desk. ADK has tools, but a production agent needs a real Zendesk/Freshdesk/Intercom client — OAuth, pagination, rate limits — and a webhook to trigger per ticket, with signature verification and idempotency. Yours to build.
- Host and run it 24/7. You can self-host the ADK app, or go managed on Google's Agent Engine / GKE — but that's an all-in Google Cloud commitment (Agent Engine, IAM, the GCP bill and learning curve). Either way it's real infra.
- Evaluate it. ADK has eval hooks, but you still assemble the test set of real tickets and decide what "good" means, and run it before every change.
- Maintain it. Model updates, help-desk API changes, KB re-indexing — and Google renames and reshapes this stack fast (Vertex AI Agent Builder just became the Gemini Enterprise Agent Platform), so you track that too.
Option 2: Bring Gemini, skip the plumbing
You've built the brain with ADK. Macha is the infrastructure layer — and because it's model-agnostic, you can run Gemini on it without adopting Google Cloud wholesale:
- Help-desk-native + any API — connect your help desk as a native connector (Zendesk, Freshdesk, Front, Intercom, HubSpot, Help Scout, Salesforce, Jira Service Management, Pylon); Custom Tools turn any REST API into a capability from a sentence — no client, no webhook to host.
- Run + observe — agents run in the cloud triggered by tickets; agent analytics show every run and tool call.
- Grade it — Studies run the agent against a batch of real historical tickets and score outcomes, so a change is measured, not guessed.
Gemini + ADK vs. a platform
| Concern | Gemini + ADK from scratch | Gemini + Macha |
|---|---|---|
| Model | Gemini | Gemini (or any model) |
| Agent loop + multi-agent | ADK (yours to build with) | Built in |
| Help-desk + API tools | You build the client + webhook | Native connector or Custom Tools |
| Hosting 24/7 | Self-host or Agent Engine (GCP) | Runs in the cloud, no GCP needed |
| Observability + eval | You wire + run it | Agent Analytics + Studies |
| Time to production | Weeks + ongoing | Days |
So which should you build?
Build with ADK if you want code-first control, sophisticated multi-agent graphs, or you're already committed to Google Cloud and want agents governed on the Gemini Enterprise Agent Platform — it's genuinely powerful there. (Our from-scratch vs. platform breakdown covers that trade in full.) Choose a platform when resolving support is the goal and you'd rather not own the help-desk plumbing, hosting, and eval stack — or adopt Google Cloud just to ship a support agent. You can start free on Macha, keep Gemini as your model, and connect your help desk in minutes.
FAQ
Can I build a support agent in the Gemini app? No — the consumer Gemini app can't sit on your help desk and act on tickets. A real support agent is built on the Gemini API (with ADK) or a platform.
Do I need Google Cloud / Vertex to use ADK? ADK itself is open-source and runs anywhere; you only need Google Cloud if you want the managed deploy (Agent Engine/GKE) and governance. You can run Gemini via the API without going all-in on GCP — or run it on a model-agnostic platform.
Does Claude Code or Codex build the whole ADK agent? They'll scaffold the tools and agent graph fast. They won't make the product decisions or host, monitor, and evaluate the agent in production.
How do I know it's good before it touches customers? Grade it against real historical tickets with automated scoring, and re-run before every change — via ADK's eval hooks plus your own harness, or a platform's Studies.
Resolve tickets automatically with AI agents
Macha's AI agents work on top of the help desk you already use — no code.
Shopify
Stripe
Slack
Notion
Google Workspace
Confluence

