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étodoEndpointDescriçã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/API keyCLI Auth

Retorna uma lista paginada de workflows. Suporta busca por nome, filtro por intervalo de datas e paginação por número de página.

Query params

NomeTipoObrigatórioDescrição
searchstringNãoBusca de substring sem distinção de maiúsculas no name do workflow. Máximo 256 caracteres — mais longo retorna 400 search_query_too_long.
start_datestring (YYYY-MM-DD)NãoFiltra workflows criados em/após esta data (fuso horário do usuário). Aliases legados: date_start, date_from. Valores inválidos retornam 400 invalid_date_range.
end_datestring (YYYY-MM-DD)NãoFiltra workflows criados em/antes desta data. Aliases legados: date_end, date_to. Intervalos invertidos retornam 400 invalid_date_range.
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 --.
pageintegerNãoNúmero da página (índice base 1). Padrão: 1.
page_sizeintegerNãoItens por página. Padrão: 25, máximo: 100. Alias: limit. offset também aceito.
Requisição
curl "https://api.dailybot.com/v1/workflows/?search=onboarding&start_date=2026-06-01&end_date=2026-06-30&page_size=50" \
  -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}'}/API keyCLI Auth

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/API keyCLI Auth

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}'}/API keyCLI Auth

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}'}/API keyCLI Auth

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/API keyCLI Auth

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/API keyCLI Auth

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