Skip to main content

1. Define an ADK Agent Module

Create agent_adk.py:
from google.adk.agents import BaseAgent
from your_project.agents import support_agent


def create_agent() -> BaseAgent:
    return support_agent

2. Configure aion.yaml

aion:
  agents:
    support_adk:
      path: "./agent_adk.py:create_agent"
      framework: "adk"
      name: "Support ADK Agent"

3. Optional: Add Control Plane Credentials to .env

# .env
AION_CLIENT_ID=your_client_id
AION_CLIENT_SECRET=your_client_secret
For Aion-hosted deployments, these are provided by the control plane. Add them to .env only when running outside Aion-hosted deployments or when testing local control plane connectivity.

4. Start and Test

aion serve
aion chat --host http://localhost:10000 --agent-id support_adk

5. Optional: Add aion-adk for Deeper Integration

Aion Server integration with Google ADK is designed to work without any framework-specific Aion authoring dependency. A plain ADK agent can run behind Aion as long as the server-side adapter is installed. Add aion-adk only if you want deeper Aion-aware protocol integration in your agent code, such as helper APIs and richer control over how responses are buffered and mapped back into A2A.
pip install aion-adk

6. Understand Message Mapping

Once the agent is running, Aion will:
  1. accept inbound A2A requests from clients or distributions
  2. expose the full request through ctx.a2a_inbox
  3. use the SDK response buffer first, then a2a_outbox, then framework-native fallback to determine the outbound reply
  4. return the final A2A response to the caller or distribution
For the higher-level flow, continue to Message Mapping. For the lower-level adapter details, see ADK Message Mapping.