Workflows
Endpoints públicos de la API para listar, crear, actualizar y eliminar workflows, y para logs de ejecución y duplicación. Todos requieren el header X-API-KEY.
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /v1/workflows/ | Listar workflows (paginado) |
| GET | /v1/workflows/{uuid}/ | Obtener un workflow |
| POST | /v1/workflows/ | Crear un workflow |
| PUT | /v1/workflows/{uuid}/ | Actualizar un workflow |
| DELETE | /v1/workflows/{uuid}/ | Eliminar un workflow |
| GET | /v1/workflows/{uuid}/execution_logs/ | Obtener logs de ejecución |
| POST | /v1/workflows/{uuid}/duplicate/ | Duplicar un workflow |
GET /v1/workflows/
/v1/workflows/ Devuelve una lista paginada de workflows con filtrado y orden opcionales.
Query params
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| name | string | No | Filtrar por nombre (búsqueda). |
| filter | string | No | all (por defecto), me, others, active, inactive. |
| order | string | No | alphabetical (por defecto), recent, total. |
| is_ascend | boolean | No | Dirección del orden. Por defecto: false. |
| workflows_uuids | string | No | Restringir a UUIDs, separados por --. |
| limit | integer | No | Máximo de resultados por página. |
| offset | integer | No | Número de resultados a saltar. |
curl "https://api.dailybot.com/v1/workflows/?limit=10&offset=0" -H "X-API-KEY: tu_api_key"Ejemplos de respuesta
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}'}/ Devuelve un workflow por UUID.
curl "https://api.dailybot.com/v1/workflows/workflow-uuid/" -H "X-API-KEY: tu_api_key"Ejemplos de respuesta
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/ Crea un nuevo workflow.
Body params
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| name | string | Sí | Nombre del workflow. |
| description | string | No | Descripción. |
| trigger_type | string | Sí | Tipo de disparo (ej. command_execution, scheduled_task, workflow_command). |
| trigger_metadata | object | No | Configuración del disparo (depende de trigger_type). |
| active | boolean | No | Por defecto: true. |
| visible | boolean | No | Por defecto: true. |
| action_steps | array | No | Lista de configuraciones de pasos de acción. |
| command_dm_only | boolean | No | Solo para disparo workflow_command. |
curl -X POST "https://api.dailybot.com/v1/workflows/" -H "X-API-KEY: tu_api_key" -H "Content-Type: application/json" -d '{"name": "My Workflow", "trigger_type": "command_execution"}'Ejemplos de respuesta
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}'}/ Actualiza un workflow. Mismos campos que POST /v1/workflows/; solo se actualizan los campos enviados.
Body params
Igual que 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: tu_api_key" -H "Content-Type: application/json" -d '{"name": "Updated Name", "description": "Updated description"}'Ejemplos de respuesta
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}'}/ Elimina un workflow.
curl -X DELETE "https://api.dailybot.com/v1/workflows/workflow-uuid/" -H "X-API-KEY: tu_api_key"Ejemplos de respuesta
200 OK
Sin cuerpo en la respuesta.
GET /v1/workflows/{uuid}/execution_logs/
/v1/workflows/{'{uuid}'}/execution_logs/ Devuelve los logs de ejecución del workflow.
curl "https://api.dailybot.com/v1/workflows/workflow-uuid/execution_logs/" -H "X-API-KEY: tu_api_key"Ejemplos de respuesta
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/ Duplica un workflow existente. El duplicado está inactivo por defecto y tiene un nombre único a menos que se proporcione name.
Body params
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| name | string | No | Nombre personalizado del duplicado. Si se omite, se genera un nombre único. |
curl -X POST "https://api.dailybot.com/v1/workflows/workflow-uuid/duplicate/" -H "X-API-KEY: tu_api_key" -H "Content-Type: application/json" -d '{"name": "My Workflow copy"}'Ejemplos de respuesta
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"
}