Atividades
Gerencie tarefas e atividades dentro do pipeline de vendas. Agende ligações, reuniões, emails e acompanhamentos com suporte a templates e sequências automatizadas.
Base URL
As rotas desta página usam o prefixo /api/v1/accounts/{account_id}/pipeline. Cada bloco abaixo mostra o caminho completo do recurso.
Listar Atividades
/api/v1/accounts/{account_id}/pipeline/activitiesLista atividades com filtros.
Parâmetros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
pipeline_card_id(query) | integer | Nao | Filtrar por card do pipeline |
type(query) | string | Nao | call, email, meeting, task, note, demo, follow_up (filtra activity_type) |
status(query) | string | Nao | Status: pending, in_progress, completed, cancelled |
priority(query) | string | Nao | Filtrar por prioridade |
assigned_to_id(query) | integer | Nao | Filtrar por responsável |
overdue(query) | boolean | Nao | true para apenas atividades atrasadas |
upcoming(query) | boolean | Nao | true para apenas atividades futuras |
page(query) | integer | Nao | Página (padrão 1) |
per_page(query) | integer | Nao | Itens por página (padrão 25) |
curl -s "https://chat.seudominio.com/api/v1/accounts/1/pipeline/activities?status=pending" \
-H "api_access_token: YOUR_TOKEN" | jq .{
"activities": [
{
"id": 1,
"pipeline_card_id": 5,
"activity_type": "call",
"status": "pending",
"priority": "medium",
"title": "Ligação de follow-up",
"description": "Confirmar interesse na proposta",
"scheduled_at": "2026-02-20T14:00:00Z",
"due_at": null,
"duration": 30,
"is_overdue": false,
"created_by": { "id": 3, "name": "Maria Santos" },
"assigned_to": { "id": 3, "name": "Maria Santos" },
"created_at": "2026-02-15T10:00:00Z"
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 15,
"per_page": 25
}
}/api/v1/accounts/{account_id}/pipeline/activitiesCria uma nova atividade.
Parâmetro obrigatório na URL
O pipeline_card_id deve ser passado como query param na URL, não no corpo da requisição. Todos os campos do corpo devem estar dentro do wrapper activity.
Query Params
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
pipeline_card_id(query) | integer | Sim | ID do card do pipeline ao qual a atividade pertence |
Body (dentro de activity)
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
title | string | Sim | Título da atividade |
activity_type | string | Sim | call, email, meeting, task, note, demo, follow_up |
scheduled_at | string | Nao | Data/hora agendada (ISO 8601) |
duration | integer | Nao | Duração em minutos |
description | string | Nao | Descrição detalhada |
assigned_to_id | integer | Nao | ID do agente responsável |
contact_id | integer | Nao | ID do contato associado |
curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/pipeline/activities?pipeline_card_id=5" \
-H "api_access_token: YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"activity": {
"activity_type": "meeting",
"title": "Reuniao de apresentacao",
"scheduled_at": "2026-02-20T14:00:00Z",
"duration": 60
}
}'Nota
Para GET, PATCH e DELETE em uma atividade específica, inclua ?pipeline_card_id=XXX na URL.
/api/v1/accounts/{account_id}/pipeline/activities/{id}?pipeline_card_id={card_id}Retorna detalhes de uma atividade.
/api/v1/accounts/{account_id}/pipeline/activities/{id}?pipeline_card_id={card_id}Atualiza uma atividade. Wrap fields inside activity object.
/api/v1/accounts/{account_id}/pipeline/activities/{id}?pipeline_card_id={card_id}Remove uma atividade.
Ações da Atividade
/api/v1/accounts/{account_id}/pipeline/activities/{id}/start?pipeline_card_id={card_id}Inicia uma atividade agendada.
/api/v1/accounts/{account_id}/pipeline/activities/{id}/complete?pipeline_card_id={card_id}Marca a atividade como concluída.
/api/v1/accounts/{account_id}/pipeline/activities/{id}/cancel?pipeline_card_id={card_id}Cancela a atividade.
/api/v1/accounts/{account_id}/pipeline/activities/{id}/reschedule?pipeline_card_id={card_id}Reagenda a atividade.
Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
scheduled_at | string | Sim | Nova data/hora (ISO 8601) |
/api/v1/accounts/{account_id}/pipeline/activities/searchBusca atividades por texto.
Parâmetros
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
q(query) | string | Sim | Texto de busca |
/api/v1/accounts/{account_id}/pipeline/activities/analyticsMétricas de atividades (conclusão, atrasos, por tipo).
{
"total": 150,
"by_type": { "call": 45, "meeting": 30, "email": 50, "task": 25 },
"by_status": { "pending": 40, "in_progress": 12, "completed": 98, "cancelled": 0 },
"by_priority": { "low": 10, "medium": 100, "high": 40 },
"completion_rate": 65.3,
"overdue_count": 12,
"upcoming_count": 20,
"average_duration": 18,
"by_outcome": { "successful": 80, "no_answer": 18 }
}Operações em Lote
/api/v1/accounts/{account_id}/pipeline/activities/bulk_createCria a mesma atividade em múltiplos cards de uma vez (max 100 cards).
Query + Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
pipeline_card_id | integer | Sim | Query param obrigatório. Mesmo usando pipeline_card_ids no body, é preciso passar um pipeline_card_id na query — sem ele a rota retorna 404. |
pipeline_card_ids | array | Sim | Body: IDs dos cards onde a atividade será criada (max 100, escopados à conta). Mais que 100 retorna 400. |
activity | object | Sim | Body: objeto com os campos da atividade (activity_type, title, scheduled_at, etc.) — os mesmos de Criar Atividade. |
curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/pipeline/activities/bulk_create?pipeline_card_id=5" \
-H "api_access_token: YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pipeline_card_ids": [5, 9, 12],
"activity": { "activity_type": "call", "title": "Ligacao de prospeccao" }
}'/api/v1/accounts/{account_id}/pipeline/activities/create_from_template?pipeline_card_id={card_id}Cria uma atividade a partir de um template, vinculada ao card informado na query.
Query Params
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
pipeline_card_id(query) | integer | Sim | ID do card ao qual a atividade será vinculada |
Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
template_id | integer | Sim | ID do template de atividade |
activity | object | Nao | Campos da atividade que sobrescrevem os defaults do template |
Sequências de Atividades
Uma definição descreve o gatilho e os passos reutilizáveis. Criar, atualizar, ativar ou desativar uma definição que contenha um passo de webhook exige um administrador da conta. Agentes podem gerenciar definições sem webhook.
/api/v1/accounts/{account_id}/pipeline/activity_sequencesLista definições de sequências da conta.
Query Params
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
active(query) | boolean | Nao | Filtra por definições ativas (true) ou inativas (false) |
trigger_type(query) | string | Nao | manual, stage_change, time_based ou condition_based |
page(query) | integer | Nao | Página da listagem |
per_page(query) | integer | Nao | Itens por página |
/api/v1/accounts/{account_id}/pipeline/activity_sequencesCria uma nova definição de sequência.
Body (pipeline_activity_sequence)
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
name | string | Sim | Nome único da sequência na conta (máximo 255 caracteres) |
description | string | Nao | Descrição |
trigger_type | string | Nao | manual (padrão), stage_change, time_based ou condition_based |
trigger_conditions | object | Nao | Condições compatíveis com trigger_type; use os formatos validados abaixo |
active | boolean | Nao | Cria a definição ativa; padrão true |
steps | array | Sim | Lista não vazia de objetos. Cada passo exige activity_type e title; atrasos usam delay_days/delay_hours |
Contratos de trigger_conditions
manual: objeto vazio{}.stage_change:{ "funnel_id": 9, "from_stage_id": "lead", "to_stage_id": "qualified" }.to_stage_idé obrigatório; os demais são opcionais.time_based: exatamente uma cadência,{ "every_n_days": 7 }(1 a 365) ou{ "cron_expression": "0 9 * * 1" }.condition_based:{ "field": "lead_score", "operator": ">=", "value": 80 }.
O cron aceita exatamente cinco campos numéricos: minuto (0-59), hora (0-23), dia do mês (1-31), mês (1-12) e dia da semana (0-7). São aceitos *, */n, listas e intervalos crescentes; nomes e um campo de segundos retornam 422.
Campos dos passos
Tipos aceitos: call, email, meeting,task, note, demo, follow_up,delay, webhook, whatsapp_message ewhatsapp_media. Além de activity_type etitle, os campos gerais incluem step_number,description, delay_days, delay_hours,duration, priority, assign_to,schedule_hours, due_days e on_failure.
curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/pipeline/activity_sequences" \
-H "api_access_token: YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pipeline_activity_sequence": {
"name": "Cadencia de Vendas",
"trigger_type": "time_based",
"trigger_conditions": { "cron_expression": "0 9 * * 1-5" },
"steps": [
{ "step_number": 1, "activity_type": "call", "title": "Ligacao inicial", "delay_days": 0, "duration": 15 },
{ "step_number": 2, "activity_type": "email", "title": "Email de follow-up", "delay_days": 2, "duration": 5 }
]
}
}'{
"data": {
"id": 3,
"name": "Cadência de Vendas",
"trigger_type": "time_based",
"trigger_conditions": { "cron_expression": "0 9 * * 1-5" },
"active": true,
"step_count": 2,
"steps": [
{ "step_number": 1, "activity_type": "call", "title": "Ligação inicial", "delay_days": 0, "duration": 15 }
]
},
"message": "Activity sequence created successfully"
}/api/v1/accounts/{account_id}/pipeline/activity_sequences/{id}Retorna a definição e os totais de execuções.
/api/v1/accounts/{account_id}/pipeline/activity_sequences/{id}Atualiza parcialmente a definição usando o wrapper pipeline_activity_sequence.
Execuções ativas e webhooks
Substituir steps retorna 422 enquanto houver execuções ativas. Se a definição atual ou a nova lista de passos contiver webhook, qualquer atualização exige administrador.
/api/v1/accounts/{account_id}/pipeline/activity_sequences/{id}/activateAtiva a definição. Definições com webhook exigem administrador.
/api/v1/accounts/{account_id}/pipeline/activity_sequences/{id}/deactivateDesativa a definição e pausa suas execuções ativas. Definições com webhook exigem administrador.
/api/v1/accounts/{account_id}/pipeline/activity_sequences/{id}Remove uma definição sem execuções ativas. Requer administrador.
Templates de Atividade
/api/v1/accounts/{account_id}/pipeline/activity_templatesLista templates de atividade.
/api/v1/accounts/{account_id}/pipeline/activity_templatesCria um novo template.
Body (pipeline_activity_template)
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
name | string | Sim | Nome do template |
activity_type | string | Sim | call, email, meeting, task, note, demo, follow_up |
category | string | Nao | Categoria do template |
default_content | string | Nao | Conteúdo padrão da atividade (não existe campo "title" no template) |
description | string | Nao | Descrição padrão |
default_duration | integer | Nao | Duração padrão em minutos |
Formato de resposta
A resposta é retornada dentro de um objeto data: {"data": {"id": 1, ...}}
/api/v1/accounts/{account_id}/pipeline/activity_templates/{id}Remove um template.