The Agents United Platform follows a layered architecture, with different modules performing specialized roles in each layer. Most modules are interchangeable by new implementations, since they communicate with each other through ActiveMQ or a REST APIs. You can find further documentation about the platform in our Github, in particular the architecture repository, demonstrator repository and the tutorials section on the wiki and also in the public deliverables of the Council of Coaches project.

Some of the modules were developed from the ground up during the Council of Coaches project, and are hosted in the Agents United Github repositories. Other modules are externally hosted and integrated into Agents United by their respective owners, who are members of the Agents United Alliance.


This layer takes care of gathering data from the environment and interpreting it so it can later be used in dialogues by the embodied conversational agents.


This layer is in charge of storing and delivering the data to be used by the agents, not only coming from the sensors, but also from the feedback gathered during dialogues with the user.


This is where the dialogues between the agents and the user are selected, refined and take shape, before sending them to the virtual agents to be played out.


Here is where the user interacts with the system through a 3D representation of agents rendered in Unity. The agents can be represented by two different systems, Greta or ASAP, which showcases the modularity of the platform. These take care of interpreting the dialogue and animating and voicing the virtual agents accordingly, based on Behaviour Markup Language (BML). Both types of agents can be included in the same scene and interact seemlessly with each other.