plugins/plugin-workflow/README.md
In-process workflow engine for elizaOS agents. Generate and deploy automation workflows from natural language using a RAG pipeline. The plugin embeds its own execution engine — workflows run in the agent process, no separate sidecar.
Built on shared workflow type contracts from @elizaos/workflows. Supports the bundled node catalog used by the in-process runtime for routing decisions, with intelligent credential resolution and lifecycle management.
No workflow-specific env vars are required. The plugin's EmbeddedWorkflowService runs CRUD + execution + scheduler + webhook handling locally inside the agent, persisted to the agent's Postgres schema.
| Component | Purpose |
|---|---|
EmbeddedWorkflowService | In-process workflow execution engine (CRUD + node runtime + scheduler + webhooks). |
WorkflowService | Public service surface used by the agent's WORKFLOW umbrella action. Routes to the embedded workflows engine. |
WorkflowCredentialStore | Stores workflow-scoped credentials (encrypted at rest). |
workflowStatusProvider | Exposes engine status to the planner. |
activeWorkflowsProvider | Lists active workflows for context. |
pendingDraftProvider | Surfaces an in-progress draft so the agent can clarify before persisting. |
| Routes | Mounted at /api/workflow/* on the agent's HTTP server. |
The WORKFLOW umbrella action lives in @elizaos/agent and dispatches op-based commands (create, update, activate, run, delete, …) to this plugin's services.
src/data/.Credentials are resolved at workflow-execution time. The plugin checks:
workflows.credentials config map (deterministic).WorkflowCredentialStore.request_credential resolution (prompts the user).All routes mount at /api/workflow/:
GET /api/workflow/status — engine + plugin statusGET /api/workflow/workflows — listPOST /api/workflow/workflows — createGET /api/workflow/workflows/:idPUT /api/workflow/workflows/:idDELETE /api/workflow/workflows/:idPOST /api/workflow/workflows/:id/run — trigger executionGET /api/workflow/executions/:id — execution status / resultPOST /api/workflow/executions/:id/cancelbun install
bun run build
bun run typecheck
bun run test
bun run lint
Lint/format is Biome 2.x. TypeScript 6+. ESM only.
MIT.