Skip to main content

11. Extension points

EnhancementWhat you touch
New workflow from existing kindsOne file in config/agents/workflows/. Restart
Change a prompt, schema, rule, threshold or approval policyThe matching YAML file. Restart
Change or add a modelconfig/agents/models.yaml (license must be in allowed_licenses). Rerun evals
New LLM endpointsettings.llm.providers in config/{env}.yaml. A new provider type needs an impl LlmProvider in crates/llm
New connector instanceOne file in config/agents/connectors/
New connector typeimpl IntegrationConnector in crates/integrations and one match arm in engine::adapters
New behaviourOne module in app/src/kinds/ and one line in KindRegistry::builtin
New document parsersettings.documents.parsers entry. A new parser type needs an impl DocumentParser
MCP toolsA connector YAML with kind: mcp; each MCP tool becomes an action
Per-customer behaviourOne file in config/agents/tenants/
Scheduled jobA Loco task in app/src/tasks/ and an entry under scheduler.jobs in config/{env}.yaml
Background workA Loco worker in app/src/workers/, registered in connect_workers
Swap the workflow engineRewrite app/src/engine/compiler.rs and the thin Task adapter in each kind. The YAML definitions are engine-neutral. Candidates: adk-graph (Apache-2.0), Temporal (MIT)
New frontend surfaceAny AG-UI client against the same /agui/{workflow} endpoint
Multi-agentAG-UI 1.0 subagent events added to agui::Event, and a flow.fanout kind built on graph-flow's fan-out task