Skip to content

Workflows

Endpoints públicos da API para listar, criar, atualizar e excluir workflows, e para logs de execução e duplicação. Todos requerem o header X-API-KEY.

Método Endpoint Descrição
GET /v1/workflows/ Listar workflows (paginado)
GET /v1/workflows/{uuid}/ Obter um workflow
POST /v1/workflows/ Criar um workflow
PUT /v1/workflows/{uuid}/ Atualizar um workflow
DELETE /v1/workflows/{uuid}/ Excluir um workflow
GET /v1/workflows/{uuid}/execution_logs/ Obter logs de execução
POST /v1/workflows/{uuid}/duplicate/ Duplicar um workflow

GET /v1/workflows/

GET /v1/workflows/

Retorna uma lista paginada de workflows com filtragem e ordenação opcionais.

Query params

NomeTipoObrigatórioDescrição
namestringNãoFiltrar por nome (busca).
filterstringNãoall (padrão), me, others, active, inactive.
orderstringNãoalphabetical (padrão), recent, total.
is_ascendbooleanNãoDireção da ordenação. Padrão: false.
workflows_uuidsstringNãoRestringir a UUIDs, separados por --.
limitintegerNãoMáximo de resultados por página.
offsetintegerNãoNúmero de resultados a pular.
Requisição
curl "https://api.dailybot.com/v1/workflows/?limit=10&offset=0" -H "X-API-KEY: sua_api_key"

Exemplos de resposta

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"
}

GET /v1/workflows/{uuid}/

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

Retorna um workflow por UUID.

Requisição
curl "https://api.dailybot.com/v1/workflows/workflow-uuid/" -H "X-API-KEY: sua_api_key"

Exemplos de resposta

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/

Cria um novo workflow.

Body params

NomeTipoObrigatórioDescrição
namestringSimNome do workflow.
descriptionstringNãoDescrição.
trigger_typestringSimTipo de gatilho (ex. command_execution, scheduled_task, workflow_command).
trigger_metadataobjectNãoConfiguração do gatilho (depende de trigger_type).
activebooleanNãoPadrão: true.
visiblebooleanNãoPadrão: true.
action_stepsarrayNãoLista de configurações de passos de ação.
command_dm_onlybooleanNãoApenas para gatilho workflow_command.
Requisição
curl -X POST "https://api.dailybot.com/v1/workflows/" -H "X-API-KEY: sua_api_key" -H "Content-Type: application/json" -d '{"name": "My Workflow", "trigger_type": "command_execution"}'

Exemplos de resposta

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}'}/

Atualiza um workflow. Mesmos campos que POST /v1/workflows/; apenas os campos enviados são atualizados.

Body params

Igual a POST /v1/workflows/ (name, description, trigger_type, trigger_metadata, active, action_steps, etc.).

Requisição
curl -X PUT "https://api.dailybot.com/v1/workflows/workflow-uuid/" -H "X-API-KEY: sua_api_key" -H "Content-Type: application/json" -d '{"name": "Updated Name", "description": "Updated description"}'

Exemplos de resposta

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}'}/

Exclui um workflow.

Requisição
curl -X DELETE "https://api.dailybot.com/v1/workflows/workflow-uuid/" -H "X-API-KEY: sua_api_key"

Exemplos de resposta

200 OK

Sem corpo na resposta.

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

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

Retorna os logs de execução do workflow.

Requisição
curl "https://api.dailybot.com/v1/workflows/workflow-uuid/execution_logs/" -H "X-API-KEY: sua_api_key"

Exemplos de resposta

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 um workflow existente. O duplicado fica inativo por padrão e tem um nome único, a menos que name seja fornecido.

Body params

NomeTipoObrigatórioDescrição
namestringNãoNome personalizado do duplicado. Se omitido, um nome único é gerado.
Requisição
curl -X POST "https://api.dailybot.com/v1/workflows/workflow-uuid/duplicate/" -H "X-API-KEY: sua_api_key" -H "Content-Type: application/json" -d '{"name": "My Workflow copy"}'

Exemplos de resposta

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"
}