ADK triage
%%{init: {'look': 'handDrawn', 'theme': 'base', 'themeVariables': {'primaryColor': '#eef2ff', 'primaryBorderColor': '#1e40af', 'primaryTextColor': '#1e293b', 'lineColor': '#1e3a8a', 'edgeLabelBackground': '#ffffff', 'clusterBkg': '#fbfcff', 'clusterBorder': '#2563eb', 'fontFamily': '-apple-system, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif', 'fontSize': '15px'}, 'flowchart': {'nodeSpacing': 50, 'rankSpacing': 58, 'padding': 14, 'htmlLabels': true, 'curve': 'basis'}}}%%
flowchart LR
G(["Written with Google ADK"]) --> B("Deployed through<br/>the Conductor bridge")
B --> A("Called like any<br/>other agent")
A --> O(["Triage recommendation"])Outcome: author a non-mutating order-exception triage agent with Google ADK and invoke it through Conductor.
Prerequisites and authoring bridge
The current Python SDK quickstart uses python -m pip install 'conductor-python[adk]', google.adk.agents.Agent, and AgentRuntime. Verify the owning Python SDK framework guide before changing installation or bridge calls.
from conductor.ai.agents import AgentRuntime
from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset, StreamableHTTPConnectionParams
agent = Agent(
name="adk_order_exception_triage",
model="openai/gpt-4o",
instruction="Use MCP evidence to recommend a disposition; never execute it.",
tools=[McpToolset(connection_params=StreamableHTTPConnectionParams(url="http://127.0.0.1:3001/mcp"))],
)
with AgentRuntime() as runtime:
runtime.run(agent, "Order O-42 arrived damaged.")
Download the companion deploy_local_cookbook_agents.py into your working directory; it creates this ADK-authored capability. Deploy once and keep the bridge worker running before invoking the parent:
Input is orderId and exception; output is a recommendation. The agent must not hold refund, fulfillment, or customer-notification credentials.
Runnable definition
Save this as google-adk-order-triage.json:
{
"name": "google_adk_order_exception_triage",
"description": "Invokes a deployed Google ADK-authored Conductor Agent for a non-mutating order exception recommendation.",
"version": 1,
"schemaVersion": 2,
"timeoutSeconds": 300,
"timeoutPolicy": "TIME_OUT_WF",
"inputParameters": [
"orderId",
"exception"
],
"tasks": [
{
"name": "triage_order_exception",
"taskReferenceName": "triage_order_exception",
"type": "AGENT",
"inputParameters": {
"agentType": "conductor",
"name": "adk_order_exception_triage",
"prompt": "Order ${workflow.input.orderId}; exception: ${workflow.input.exception}. Recommend a disposition only."
}
}
],
"outputParameters": {
"triage": "${triage_order_exception.output.output}"
}
}
Register and run
conductor workflow create google-adk-order-triage.json
conductor workflow start -w google_adk_order_exception_triage --sync -i '{"orderId":"O-42","exception":"Package damaged in transit."}'
Production notes
agentTypeisconductor, notadk. The bridge runs it.- Use a model your server actually has configured —
gemini-2.0-flashif Gemini is set up. - Cap tool access and the iteration budget in the deployment.
- This recommends a disposition; it never applies one. Route the action through an approval.
- Reconcile by order ID plus exception event ID.