Skip to content

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/

GET /v1/workflows/

Devuelve una lista paginada de workflows con filtrado y orden opcionales.

Query params

NombreTipoRequeridoDescripción
namestringNoFiltrar por nombre (búsqueda).
filterstringNoall (por defecto), me, others, active, inactive.
orderstringNoalphabetical (por defecto), recent, total.
is_ascendbooleanNoDirección del orden. Por defecto: false.
workflows_uuidsstringNoRestringir a UUIDs, separados por --.
limitintegerNoMáximo de resultados por página.
offsetintegerNoNúmero de resultados a saltar.
Petición
curl "https://api.dailybot.com/v1/workflows/?limit=10&offset=0" -H "X-API-KEY: tu_api_key"

Ejemplos de respuesta

200 OK
json
{
  "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
json
{
  "detail": "Validation message.",
  "code": "params_validation_error"
}
json
{
  "error": "Invalid request data"
}
500 Internal Server Error
json
{
  "error": "An error occurred while fetching workflows"
}

GET /v1/workflows/{uuid}/

GET /v1/workflows/{'{uuid}'}/

Devuelve un workflow por UUID.

Petición
curl "https://api.dailybot.com/v1/workflows/workflow-uuid/" -H "X-API-KEY: tu_api_key"

Ejemplos de respuesta

200 OK
json
{
  "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
json
{
  "detail": "Not found.",
  "code": "not_found"
}

POST /v1/workflows/

POST /v1/workflows/

Crea un nuevo workflow.

Body params

NombreTipoRequeridoDescripción
namestringNombre del workflow.
descriptionstringNoDescripción.
trigger_typestringTipo de disparo (ej. command_execution, scheduled_task, workflow_command).
trigger_metadataobjectNoConfiguración del disparo (depende de trigger_type).
activebooleanNoPor defecto: true.
visiblebooleanNoPor defecto: true.
action_stepsarrayNoLista de configuraciones de pasos de acción.
command_dm_onlybooleanNoSolo para disparo workflow_command.
Petición
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
json
{
  "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}/

PUT /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.).

Petición
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
json
{
  "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}/

DELETE /v1/workflows/{'{uuid}'}/

Elimina un workflow.

Petición
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/

GET /v1/workflows/{'{uuid}'}/execution_logs/

Devuelve los logs de ejecución del workflow.

Petición
curl "https://api.dailybot.com/v1/workflows/workflow-uuid/execution_logs/" -H "X-API-KEY: tu_api_key"

Ejemplos de respuesta

200 OK
json
{
  "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/

POST /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

NombreTipoRequeridoDescripción
namestringNoNombre personalizado del duplicado. Si se omite, se genera un nombre único.
Petición
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
json
{
  "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
json
{
  "error": "Validation message"
}
403 Forbidden
json
{
  "error": "You don't have permission to duplicate this workflow"
}
404 Not Found
json
{
  "error": "Workflow not found"
}
500 Internal Server Error
json
{
  "error": "Failed to duplicate workflow"
}