Workflow Schema
JSON Schema for workflow configuration
agents
AI agents with specific instructions and capabilities Configure LLM-powered agents with custom prompts, tools access, and behavior Agents can be referenced by tasks using $use: agent(...) syntax
author
Author information for workflow attribution Helps track ownership and responsibility for workflow maintenance
config
Configuration options including input schema and environment variables Controls workflow behavior, validation, and runtime environment
description
Human-readable description of the workflow's purpose Should clearly explain what the workflow does and when to use it
id
Unique identifier for the workflow (required) Must be unique within the project scope. Used for referencing and execution.
- Example: "customer-support", "data-processing", "content-generation"
mcps
Model Context Protocol servers for extending AI capabilities MCP servers provide specialized tools and knowledge to agents Enable integration with external services and domain-specific functionality
outputs
Output mappings to structure the final workflow results Use template expressions to extract and transform task outputs
- Example: ticket_id: "{{ .tasks.create-ticket.output.id }}"
resource
Resource reference for external workflow definitions Format: "compozy:workflow:<name>" - allows referencing pre-built workflows
schedule
Schedule configuration for automated workflow execution Enable cron-based scheduling with timezone support and overlap policies
schemas
JSON schemas for validating data structures used in the workflow Define reusable schemas that can be referenced throughout the workflow using $ref syntax (e.g., $ref: local::schemas.#(id="user_schema"))
tasks
Sequential tasks that define the workflow execution plan (required) Tasks are the core execution units, processed in order with conditional branching Each task uses either an agent or tool to perform its operation
tools
External tools that can be invoked by agents or tasks Define executable scripts or programs that perform specific operations Tools provide deterministic, non-AI functionality like API calls or data processing
triggers
Event triggers that can initiate workflow execution Define external events (webhooks, signals) that can start the workflow Each trigger can have its own input schema for validation
version
Version of the workflow for tracking changes Follows semantic versioning (e.g., "1.0.0", "2.1.3") Useful for managing workflow evolution and backwards compatibility