This tutorial is grounded in the iag-demo reference application. The demo runs a small canbank agentic workflow with three protected agents and one IAG instance in front of each.
What you will have at the end
- A clear mental model of how IAG validates caller, workflow, and delegation chain.
- A
Workflownode (external_id=wf1), threeAgentnodes, andINVOKESrelationships in the IKG. - A
CAN_TRIGGERKBAC policy and a ContX IQ query that returns(workflow, agent_list)pairs. - Three IAG instances running via Docker Compose:
orchestrator-iag,retriever-iag,weather-iag. - Auditable
AUTHORIZEDandNOT_AUTHORIZEDrecords delivered to the chatbot webhook.
Who this tutorial is for
- Developers wiring up agents over the A2A protocol who need policy enforcement in front of each agent.
- Platform and security engineers who want traceable user-to-agent delegation.
- AI agents consuming this doc as a runbook - every chapter uses explicit service names, ports, file paths, and commands.
Demo topology at a glance
| Service | Role | Port |
chatbot |
Web UI and A2A client; also receives audit webhooks. | 3000 |
orchestrator-iag |
IAG in front of the orchestrator agent. | 8881 |
orchestrator |
A2A orchestrator; delegates to retriever or weather. | 6001 |
retriever-iag |
IAG in front of the retriever agent. | 8882 |
retriever |
Answers canbank questions via MCP against the IKG. | 6002 |
weather-iag |
IAG in front of the weather agent. | 8884 |
weather |
Returns weather forecasts from Open-Meteo. | 6004 |