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_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/ - View flow definition with executor references
- POST /task-data - Get task output schemas for flow validation
Authorizations
API key authentication. Include your API key in the X-API-Key header as: X-API-Key YOUR_API_KEY
Example:
JWT Bearer token authentication. Include your access token in the Authorization header as: Bearer YOUR_ACCESS_TOKEN
Example:
Response
List of task executors successfully retrieved
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
Non-input executors (false):
- Process data within flow execution
- Cannot trigger flows (must be downstream of input executor)
- No flow_input_schema
- Examples: send_email, doc_to_structured, classify_text, external_db
Used by flow validators to ensure flows have at least one input executor.
true
false
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_db_query
Non-schedulable executors (false):
- Event-driven only (triggered by upstream tasks or external events)
- Cannot run on schedule
- Examples: send_email, classify_document, receive_email (event-driven)
Note: Scheduling is configured at the flow execution level, not per task. This flag indicates executor compatibility with scheduling.
true
false
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, API documentation
Note: This is the CONFIGURATION schema (static parameters), not the runtime input schema (see flow_input_schema).
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
"Use this executor to send email notifications. Configure recipient, subject, and body. Supports templates and attachments."
"Use this executor to extract structured fields from documents. Specify field names and types in the schema parameter."
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.
10"Sends email notifications via SMTP or email service provider"
"Extracts structured data from documents using vision-language models"
"Receives incoming emails and triggers workflow execution"
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'
1"send_email"
"doc_to_structured"
"receive_email"
"notify_webhook"
JSON Schema defining runtime input data for input task executors. Only present for executors that can trigger/receive flow executions (is_input_task_executor=true).
Defines the shape of data received from external sources: webhooks, email attachments, file uploads, scheduled triggers, etc.
Difference from parameters_schema:
- parameters_schema: Static configuration set during flow design
- flow_input_schema: Dynamic data received at runtime
Example: An 'receive_email' executor has:
- parameters_schema: {email_address, filters, ...} (configuration)
- flow_input_schema: {from, subject, body, attachments, ...} (runtime data)
Null for non-input executors (standard task executors).