Workflows
Public API endpoints for listing, creating, updating, and deleting workflows, and for execution logs and duplication. All require X-API-KEY header.
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/workflows/ | List workflows (paginated) |
| GET | /v1/workflows/{uuid}/ | Get a single workflow |
| POST | /v1/workflows/ | Create a workflow |
| PUT | /v1/workflows/{uuid}/ | Update a workflow |
| DELETE | /v1/workflows/{uuid}/ | Delete a workflow |
| GET | /v1/workflows/{uuid}/execution_logs/ | Get execution logs |
| POST | /v1/workflows/{uuid}/duplicate/ | Duplicate a workflow |
GET /v1/workflows/
/v1/workflows/ Returns a paginated list of workflows with optional filtering and ordering.
Query params
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | No | Filter by workflow name (search). |
| filter | string | No | all (default), me, others, active, inactive. |
| order | string | No | alphabetical (default), recent, total. |
| is_ascend | boolean | No | Sort direction. Default: false. |
| workflows_uuids | string | No | Restrict to UUIDs, separated by --. |
| limit | integer | No | Max results per page. |
| offset | integer | No | Number of results to skip. |
curl "https://api.dailybot.com/v1/workflows/?limit=10&offset=0" -H "X-API-KEY: your_api_key_here"Response examples
200 OK
{
"count": 5,
"next": "https://api.dailybot.com/v1/workflows/?limit=10&offset=10",
"previous": null,
"results": [
{
"uuid": "workflow-uuid",
"name": "My Workflow",
"description": "Description",
"trigger_type": "command_execution",
"active": true,
"visible": true,
"action_summary": "Send message",
"metadata": {},
"owner": { "uuid": "user-uuid", "full_name": "Jane" },
"user_can_update": true,
"user_can_delete": true,
"total_runs": 10,
"last_run_at": "2026-02-25T10:00:00Z",
"created_at": "2026-02-25T09:00:00Z",
"updated_at": "2026-02-25T10:00:00Z"
}
]
}400 Bad Request
{
"detail": "Validation message.",
"code": "params_validation_error"
}{
"error": "Invalid request data"
}500 Internal Server Error
{
"error": "An error occurred while fetching workflows"
}GET /v1/workflows/{uuid}/
/v1/workflows/{'{uuid}'}/ Returns a single workflow by UUID.
curl "https://api.dailybot.com/v1/workflows/workflow-uuid/" -H "X-API-KEY: your_api_key_here"Response examples
200 OK
{
"uuid": "workflow-uuid",
"name": "My Workflow",
"description": "Description",
"trigger_type": "command_execution",
"active": true,
"visible": true,
"action_summary": "Send message",
"metadata": {},
"owner": { "uuid": "user-uuid", "full_name": "Jane" },
"user_can_update": true,
"user_can_delete": true,
"total_runs": 10,
"last_run_at": "2026-02-25T10:00:00Z",
"created_at": "2026-02-25T09:00:00Z",
"updated_at": "2026-02-25T10:00:00Z",
"trigger_metadata": {},
"action_steps": [],
"variables": {}
}404 Not Found
{
"detail": "Not found.",
"code": "not_found"
}POST /v1/workflows/
/v1/workflows/ Creates a new workflow.
Body params
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Workflow name. |
| description | string | No | Description. |
| trigger_type | string | Yes | Trigger type (e.g. command_execution, scheduled_task, workflow_command). |
| trigger_metadata | object | No | Trigger configuration (depends on trigger_type). |
| active | boolean | No | Default: true. |
| visible | boolean | No | Default: true. |
| action_steps | array | No | List of action step configs. |
| command_dm_only | boolean | No | For workflow_command trigger only. |
curl -X POST "https://api.dailybot.com/v1/workflows/" -H "X-API-KEY: your_api_key_here" -H "Content-Type: application/json" -d '{"name": "My Workflow", "trigger_type": "command_execution"}'Response examples
200 OK
{
"uuid": "workflow-uuid",
"name": "My Workflow",
"description": "",
"trigger_type": "command_execution",
"active": true,
"visible": true,
"action_summary": null,
"metadata": {},
"owner": { "uuid": "user-uuid", "full_name": "Jane" },
"user_can_update": true,
"user_can_delete": true,
"total_runs": 0,
"last_run_at": null,
"created_at": "2026-02-25T10:00:00Z",
"updated_at": "2026-02-25T10:00:00Z"
}PUT /v1/workflows/{uuid}/
/v1/workflows/{'{uuid}'}/ Updates a workflow. Same body fields as POST /v1/workflows/; only provided fields are updated.
Body params
Same as POST /v1/workflows/ (name, description, trigger_type, trigger_metadata, active, action_steps, etc.).
curl -X PUT "https://api.dailybot.com/v1/workflows/workflow-uuid/" -H "X-API-KEY: your_api_key_here" -H "Content-Type: application/json" -d '{"name": "Updated Name", "description": "Updated description"}'Response examples
200 OK
{
"uuid": "workflow-uuid",
"name": "Updated Name",
"description": "Updated description",
"trigger_type": "command_execution",
"active": true,
"visible": true,
"action_summary": "Send message",
"metadata": {},
"owner": { "uuid": "user-uuid", "full_name": "Jane" },
"user_can_update": true,
"user_can_delete": true,
"total_runs": 10,
"last_run_at": "2026-02-25T10:00:00Z",
"created_at": "2026-02-25T09:00:00Z",
"updated_at": "2026-02-25T11:00:00Z",
"trigger_metadata": {},
"action_steps": [],
"variables": {}
}DELETE /v1/workflows/{uuid}/
/v1/workflows/{'{uuid}'}/ Deletes a workflow.
curl -X DELETE "https://api.dailybot.com/v1/workflows/workflow-uuid/" -H "X-API-KEY: your_api_key_here"Response examples
200 OK
No body.
GET /v1/workflows/{uuid}/execution_logs/
/v1/workflows/{'{uuid}'}/execution_logs/ Returns execution logs for the workflow.
curl "https://api.dailybot.com/v1/workflows/workflow-uuid/execution_logs/" -H "X-API-KEY: your_api_key_here"Response examples
200 OK
{
"workflow_uuid": "workflow-uuid",
"workflow_name": "My Workflow",
"execution_logs": [
{
"started_at": "2026-02-25T10:00:00Z",
"trigger_data": {},
"actions": [],
"status": "completed"
}
],
"total_executions": 1
}POST /v1/workflows/{uuid}/duplicate/
/v1/workflows/{'{uuid}'}/duplicate/ Duplicates an existing workflow. The duplicate is inactive by default and has a unique name unless you provide name.
Body params
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | No | Custom name for the duplicate. If omitted, a unique name is generated. |
curl -X POST "https://api.dailybot.com/v1/workflows/workflow-uuid/duplicate/" -H "X-API-KEY: your_api_key_here" -H "Content-Type: application/json" -d '{"name": "My Workflow copy"}'Response examples
201 Created
{
"uuid": "new-workflow-uuid",
"name": "My Workflow copy",
"description": "Description",
"trigger_type": "command_execution",
"active": false,
"visible": true,
"action_summary": "Send message",
"metadata": {},
"owner": { "uuid": "user-uuid", "full_name": "Jane" },
"user_can_update": true,
"user_can_delete": true,
"total_runs": 0,
"last_run_at": null,
"created_at": "2026-02-25T11:00:00Z",
"updated_at": "2026-02-25T11:00:00Z"
}400 Bad Request
{
"error": "Validation message"
}403 Forbidden
{
"error": "You don't have permission to duplicate this workflow"
}404 Not Found
{
"error": "Workflow not found"
}500 Internal Server Error
{
"error": "Failed to duplicate workflow"
}