Skip to content

Google ADK Agent Node

The Google ADK Agent node delegates execution to an agent built with the Google Agent Development Kit (ADK) and deployed on Vertex AI. ADK agents can perform multi-step reasoning, call tools, and manage complex workflows autonomously. Use this node when you need an external agent to handle a task that goes beyond what a single LLM call can accomplish.

When to Use

  • You have a Google ADK agent deployed on Vertex AI that handles a complex domain (e.g., multi-step order processing, account management, technical troubleshooting).
  • You want to combine OmniBots' visual flow builder with ADK's autonomous agent capabilities.
  • You need the agent to perform multi-step tool calls and reasoning before returning a result.
  • You are building a hybrid architecture where OmniBots manages the conversation shell and ADK agents handle specialized tasks.

Configuration

PropertyDescriptionDefault
IntegrationThe ADK/agents integration to use. Selected via the integration selector. Must be an agents type integration.None (required)
Agent ID OverrideOverride the reasoning engine ID from the integration. Use this if you deploy multiple agents under one project.From integration
Session VariableVariable to store the ADK session ID for multi-turn agent interactions.adk_session_id
Query VariableVariable containing the query to send to the agent. If empty, the user's last message is used.Empty (uses last message)
Pass VariablesList of flow variables to pass to the agent as session parameters. The agent can read these for context.Empty
Send ResponseWhether to automatically send the agent's response to the user as a chat message.true
imageGoogle ADK Agent node config panel showing integration selector for agents type, agent ID override field, session variable input, query variable field, pass variables multi-select, and send response toggle
Google ADK Agent node configuration panel

Passing Context

Use Pass Variables to give the ADK agent access to flow data. For example, if your flow has already collected the user's account number and order ID, pass them so the agent can use them:

Pass Variables: ["account_number", "order_id", "user_name"]

The agent receives these as session parameters and can reference them during its reasoning and tool-calling steps.

Output Variables

The node stores the agent's response in configurable output variables:

Output VariableDefault NameContains
Responseadk_responseThe agent's text response to the user
Tool Calls(empty)Record of tool calls the agent made during execution (for debugging and audit)
Raw Response(empty)The full, unprocessed response from the ADK API

TIP

You typically only need the adk_response variable. Enable tool_calls and raw_response during development for debugging, then disable them in production to keep your variable space clean.

How It Works

  1. The node sends the query (user message or custom variable) to the ADK agent on Vertex AI.
  2. The ADK agent reasons about the query, potentially calling its own tools and APIs over multiple steps.
  3. The agent returns a final text response.
  4. If Send Response is enabled, the response is sent directly to the user.
  5. The response and any tool call records are stored in the configured output variables.
  6. Execution continues to the appropriate output handle.

Multi-Turn Agent Sessions

The ADK session ID is stored in a variable (default: adk_session_id) and reused on subsequent calls to the same agent. This preserves the agent's memory and context across multiple turns of conversation.

Handles

HandleDirectionDescription
InputInReceives execution from the previous node
SuccessOutThe agent returned a response successfully
ErrorOutThe agent call failed (timeout, API error, authentication failure)
HandoffOutThe agent requested a handoff to a human agent

Handoff Handle

If the ADK agent determines that it cannot resolve the issue, it can signal a handoff request. This fires the Handoff output handle, which you can connect to a Handoff node for seamless escalation.

WARNING

Google ADK agents require a deployed reasoning engine on Vertex AI. Ensure your integration is configured with the correct GCP project, region, and reasoning engine ID before using this node. Test the connection in Settings > Integrations.

Example Flow

A common pattern is to use OmniBots for greeting and intent routing, then delegate complex tasks to an ADK agent:

[Start] --> [Message: Greeting] --> [LLM Response: Classify Intent]
            --> [Condition: intent]
                ├── "complex_issue"  --> [Google ADK Agent]
                │                         ├── Success --> [End]
                │                         ├── Error --> [Message: Error] --> [Handoff]
                │                         └── Handoff --> [Handoff]
                └── Default --> [KB Search: FAQ]

OmniBots AI Bot Platform