Workflow Engines & Orchestration – Obot
Track: Sessions – Day 1 | Ref: 1.7 Speaker: Donnie Adams, Software Architect, Obot
Overview
Obot presented workflow engine patterns for MCP tool orchestration, covering how event-driven architectures, state machines, and DAG-based workflows can coordinate agents and compose MCP tools into reliable production systems.
Workflow Engine Patterns
| Pattern | Description |
|---|---|
| Event-driven architectures | Workflows triggered and coordinated by events rather than polling |
| State machines | Explicit state transitions governing agent behavior and tool invocation |
| DAG workflows | Directed acyclic graphs defining dependency-ordered task execution |
| Long-running process management | Durable workflows that survive restarts and handle multi-step operations |
MCP Integration
- Tool composition: Combining multiple MCP tools into higher-order operations
- Workflow-as-code: Defining orchestration logic programmatically rather than through configuration
- Agent orchestration layers: Middleware that routes requests to appropriate agents and tools
- Error handling: Retry policies, circuit breakers, and fallback strategies for MCP tool failures
Agent Orchestration
- Multi-agent coordination: Multiple agents collaborating on a shared task
- Task delegation: Routing subtasks to specialized agents based on capability
- Parallel vs sequential execution: Optimizing throughput by parallelizing independent steps
- Result aggregation: Combining outputs from multiple agents into a coherent response
Coordination Patterns
| Pattern | Use Case |
|---|---|
| Centralized | Single orchestrator manages all agents and tool invocations |
| Distributed | Agents coordinate peer-to-peer without a central controller |
| Hierarchical | Parent agents delegate to child agents in a tree structure |
| Event-sourced | All state changes captured as events for replay and audit |
Architecture
┌─────────────────────────────────┐
│ Orchestration Engine │
│ (State machine, DAG, events) │
└──────┬──────────┬───────┬───────┘
│ │ │
▼ ▼ ▼
┌──────────┐ ┌────────┐ ┌────────┐
│ Agent A │ │Agent B │ │Agent C │
│ (Planning)│ │(Coding)│ │(Review)│
└─────┬────┘ └───┬────┘ └───┬────┘
│ │ │
▼ ▼ ▼
┌──────────┐ ┌────────┐ ┌────────┐
│ MCP Tools│ │MCP Tools│ │MCP Tools│
│ (Search, │ │(Code, │ │(Lint, │
│ Plan) │ │ Build) │ │ Test) │
└──────────┘ └────────┘ └────────┘
Key Takeaways
- Stateless design: Workflow steps should be stateless with externalized state for durability
- Idempotency: Every MCP tool invocation should be safe to retry
- Observability: Instrument every step for tracing, logging, and metrics
- Modularity: Compose small, focused tools rather than building monolithic agents
- Error handling: Plan for failure at every step — retries, timeouts, fallbacks, and circuit breakers