Agent Templates
Support Ticket Automation Agent

Support automation agents that resolve tickets on-behalf-of your users

Connect three real services, delegate OAuth to your users, and ship a working agent in minutes. Clone the sample, swap in your tools, and go from zero to multi-connector in a single afternoon.

Support Ticket Automation Agent
Sample Agent for Acme
May 22 · 10:00 AM ·
47s
Resolve all open Zendesk tickets using our Notion KB
J
Fetching open tickets from Zendesk
Fetch open tickets
zendesk_list_tickets
Search Notion KB
notion_search_pages
Draft reply in Zendesk
zendesk_create_comment
Support run: 18 tickets
Auto-resolved (Notion match found)
"SAML SSO setup error - matched KB article exactly"
Draft reply posted in Zendesk, awaiting agent approval
Result
11 tickets draft-replied, 4 escalated, 3 pending KB
Summary posted to #support-ops
Message Claude...
Trusted by teams shipping agents to production
Support Ticket Automation Agent
Sample Agent for Acme
May 22 · 10:00 AM ·
47s
Resolve all open Zendesk tickets using our Notion KB
J
Fetching open tickets from Zendesk
Fetch open tickets
zendesk_list_tickets
Search Notion KB
notion_search_pages
Draft reply in Zendesk
zendesk_create_comment
Support run: 18 tickets
Auto-resolved (Notion match found)
"SAML SSO setup error - matched KB article exactly"
Draft reply posted in Zendesk, awaiting agent approval
Result
11 tickets draft-replied, 4 escalated, 3 pending KB
Summary posted to #support-ops
Message Claude...

How the Google ADK agent classifies, drafts, and resolves support tickets in five steps

A real working agent you can deploy

This repo uses a single SCALEKIT_USER_ID env var to simulate one user. In production, pass each user's real ID as the identifier on every Scalekit call, and send them an authorization link whenever their connector status is not ACTIVE.

01
Authorize, then orchestrate
main.py
Every connection is authorized once via a one-time link. Scalekit refreshes tokens automatically before each ADK agent run. main.py boots the Google ADK agent, verifies all three connectors are ACTIVE, and passes the Scalekit tool set into the ADK tool registry.
main.py
import os
from scalekit import ScalekitClient
from langchain.agents import create_tool_calling_agent

client = ScalekitClient(
    env_url=os.environ["SCALEKIT_ENV_URL"],
    client_id=os.environ["SCALEKIT_CLIENT_ID"],
    client_secret=os.environ["SCALEKIT_CLIENT_SECRET"],
)

# LangChain-compatible tools scoped to this user
tools = client.actions.langchain.get_tools(
    identifier="user@example.com",
    connection_names=["zendesk", "notion", "slack"],
)

agent = create_tool_calling_agent(llm, tools, prompt)
02
Fetch and classify Zendesk tickets
fetch_tickets.py
03
Search Notion for resolution steps
lookup_notion.py
04
Draft reply or escalate
draft_reply.py
05
Post summary to Slack
post_slack.py
Why choose Scalekit

Delegated identity. Not service accounts.

Credentials never touch agent code or LLM context. The agent acts as the user, not as a shared bot.
Delegated OAuth - Agent reads your calendar, your inbox — scoped to the authorizing identity, not org-wide.
Credentials outside agent runtime  -  Tokens never touch agent code or LLM context. Both failure modes covered.
Token lifecycle automatic  -  Refresh, expiry, rotation across all connectors. One SDK call. Zero management code.
200+ prebuilt connectors  -  Google, Slack, HubSpot, GitHub, Jira, Notion, Salesforce — same auth pattern everywhere.

Agents that resolve support tickets, without the auth plumbing

Three things you'd otherwise build: Zendesk OAuth, Notion workspace auth, Slack credentials. Works with Google ADK out of the box. Handled.

OAuth flow per connector
One SDK call returns a delegated token for any connector. Google, HubSpot, Slack, same pattern across all 200+ connectors
tools = client.actions.langchain.get_tools(
    identifier=user_id,
    connection_names=["zendesk", "notion", "slack"],
)
agent = create_tool_calling_agent(llm, tools, prompt)
Secure token vault  
Scalekit stores OAuth credentials outside agent code and outside LLM context. Both are separate failure modes. Both covered
client = ScalekitClient(
    env_url=os.environ["SCALEKIT_ENV_URL"],
    client_id=os.environ["SCALEKIT_CLIENT_ID"],
    client_secret=os.environ["SCALEKIT_CLIENT_SECRET"],
)
# Credentials never in agent code or LLM context
Token refresh logic
Token lifecycle handled automatically — expiry, rotation, re-auth — across every connector. Agent runs in 6 months. Same call works
# Day 1 or day 180 - same call works
tools = client.actions.langchain.get_tools(
    identifier=user_id,
    connection_names=["zendesk", "notion", "slack"],
)
Try other Agent Templates

Prebuilt agents you can ship today

Each one runs on delegated identity, scoped per user.

SUPPORT
Support triage agent
Read Zendesk tickets, fetch runbooks from Notion, and route to the right Slack channel with a drafted response.
SUPPORT
Support ticket automation (Google ADK)
Google ADK agent that classifies Zendesk tickets, pulls Notion context, and posts to Slack. End-to-end ticket handoff.
SUPPORT
Freshdesk CSAT follow-up agent
Google ADK agent that watches low CSAT scores in Freshdesk and drafts personalised follow-ups for support leads.
OPS
Email-to-calendar scheduling agent
Parse scheduling intent from Gmail threads and create Google Calendar events with the right attendees and timezone.
ENGINEERING
Slack workflow agent (LangGraph)
LangGraph agent that drives multi-step Slack workflows: triggers, approvals, and follow-up actions per user identity.
GTM
CRM AI agent
Log calls, update opportunity stages, and surface stalled deals across HubSpot or Salesforce. No manual data entry.
Customize the sample

Clone it and own it with connectors you choose

Don't sweat the integration. Point a coding agent at the repo. It clones, swaps in your connectors, and adds new steps for you.

1
Install a coding agent
terminal

claude "Set up a support automation agent using Zendesk, Notion, and Slack via Scalekit with Google ADK"

terminal

codex "Set up a support automation agent using Zendesk, Notion, and Slack via Scalekit with Google ADK"

terminal

gh copilot suggest "Set up a support automation agent using Zendesk, Notion, and Slack via Scalekit with Google ADK"

terminal

Open Cursor Composer (Cmd+Shift+I) Paste the prompt from the Prompt tab

terminal

npx skills add scalekit-inc/skills --skill setup-scalekit

2
Give it this prompt

Clone github.com/scalekit-inc/python-connect-demos/langchain. Set connection_names = ["zendesk", "notion", "slack"]. Build a Google ADK support automation agent: fetch open Zendesk tickets, search Notion KB for resolution steps, draft replies in Zendesk for matched tickets, escalate unmatched ones, post run summary to Slack. Use Google ADK tool registry with Scalekit-managed connections. Set SCALEKIT_ENV_URL, SCALEKIT_CLIENT_ID, SCALEKIT_CLIENT_SECRET in .env.

Build your own
multi-connector agent

Add connectors. Change the LLM. Same delegated auth pattern.