List all available task executors
List all available task executors for workflow composition.
Overview Task executors are reusable building blocks for workflows. Each executor performs a specific operation (send email, extract data, classify documents, etc.). This endpoint provides discovery of all registered executors with their schemas, enabling programmatic flow builder UIs and validation.
What are Task Executors? Task executors are typed workflow components that:
- Accept configuration parameters (e.g., API keys, endpoints, templates)
- Optionally receive runtime input data (for input executors)
- Perform an operation (API call, data transformation, ML inference)
- Return structured output for downstream tasks
- Support scheduling (for compatible executors)
Executor Categories
Input Executors (is_input_task_executor=true):
- Trigger flows from external sources
- Examples: receive_email, webhook_receive, receive_file
- Have flow_input_schema defining incoming data
Processing Executors (is_input_task_executor=false):
- Transform data within flows
- Examples: doc_to_structured, classify_text, format_data
- No flow_input_schema (work on task outputs)
Output Executors:
- Send data to external systems
- Examples: send_email, webhook_notification, external_db
- Can be terminal tasks in flows
Schedulable Executors (is_schedulable_executor=true):
- Support time-based triggers
- Examples: scheduled_url, scheduled_db_query
- Can run on cron schedules
Response Format Returns array of TaskExecutorResponse objects containing:
- Executor metadata (name, description, agent prompt)
- Configuration schema (parameters_schema) - JSON Schema for static config
- Runtime input schema (flow_input_schema) - JSON Schema for dynamic data
- Capability flags (is_input_task_executor, is_schedulable_executor)
Schema Usage
- parameters_schema: Generate configuration UI, validate flow definitions
- flow_input_schema: Validate incoming webhook/email/file data
- Both schemas follow JSON Schema Draft 2020-12 specification
Use Cases
- Flow Builder UI: Display available task types with autocomplete
- AI Agents: Use agent_prompt to intelligently select executors
- Validation: Check flow definitions against executor schemas
- Documentation: Generate API reference from executor metadata
- Client SDKs: Generate type-safe executor configuration classes
Executor Registration Task executors are registered via TaskExecutorsManager (flow-sdk). To add custom executors, see flow-sdk/src/flow_sdk/task_executors/README.md
Performance Notes
- Response cached for 5 minutes (executors rarely change)
- Typical response size: ~50-100 executors, 200-500KB
- Schemas can be large (1-10KB per executor)
- Consider client-side caching for production use
Related Endpoints
- POST /flows - Create flow using discovered executors
- GET /flows/{id} - View flow definition with executor references
- POST /task-data - Get task output schemas for flow validation
Header Parameters
Response
Response Attributes
Whether this executor can trigger flow execution from external sources.
Input executors (true):
- Receive data from external systems (webhooks, emails, files, schedules)
- Can be first task in a flow
- Have flow_input_schema defining received data structure
- Examples: receive_email, receive_file, webhook_receive, scheduled_trigger
Non-input executors (false):
- Process data within flow execution
- Cannot trigge...
Whether this executor supports scheduled/recurring execution.
Schedulable executors (true):
- Can run on cron schedules (hourly, daily, weekly, custom)
- Support time-based triggers
- Often paired with input executors
- Examples: scheduled_url (fetch data periodically), scheduled_db_query
Non-schedulable executors (false):
- Event-driven only (triggered by upstream tasks or external events)
- Cannot run on sched...
JSON Schema defining configuration parameters for this task executor. Describes required and optional parameters, their types, and validation rules. Clients use this schema to generate configuration UIs and validate inputs.
Schema Format: JSON Schema Draft 2020-12 specification
Common properties: type, required, properties, additionalProperties, description, examples, enum, default, minimum, maximum, pattern
Used for: UI form generation, parameter validation,...
Prompt template used by AI agents when configuring this task executor. Provides context to LLM agents about executor capabilities and parameters. Guides automated flow generation and task configuration.
Format: Natural language instructions for AI agents describing when and how to use this executor.
Used by: Flow Builder AI Assistant, Auto-configuration agents
Human-readable description of what this task executor does. Explains the executor's purpose, behavior, and typical use cases. Displayed in UI flow builders and documentation.
Should be 1-3 sentences focusing on capabilities and outcomes. Written in present tense, active voice.
Unique identifier for this task executor type. Used in flow definition YAML to reference this executor. Case-sensitive and immutable.
Naming convention: snake_case with descriptive action verbs.
Examples: 'send_email', 'doc_to_structured', 'classify_document', 'receive_file', 'webhook_notification', 'external_db'
Response Attributes
Standard error detail structure.
This model matches the error format returned by the centralized exception handlers in app/api/errors/handlers.py.