Automações
Fluxos que enviam mensagens, esperam, movem etapas e criam tarefas sozinhos.
O que é
Automações de Marketing são fluxos que rodam sozinhos: quando um lead muda de etapa no CRM ou envia um formulário, o fluxo manda e-mails e WhatsApps, espera, confere condições, move de etapa e cria tarefas.
Pela API, você cria e publica os fluxos e acompanha o desempenho, com as mesmas regras do editor do painel.
O que dá para fazer hoje
- Listar e consultar automações com a definição do editor.
- Criar, salvar o rascunho e publicar uma nova versão.
- Ativar e desativar a entrada de leads.
- Acompanhar o desempenho e reenviar disparos que falharam.
Ciclo de uma automação
| Situação | Como chega |
|---|---|
| Rascunho | Criar; editar gera rascunho à parte e a versão publicada segue no ar |
| Ativo | Publicar uma versão |
| Inativo | Desativar; para de inscrever leads |
Importante
- Salvar o rascunho nunca coloca no ar.
- Publicar e criar exigem
Idempotency-Key. - O fluxo precisa de um único bloco de início.
- Só ativa quem já tem versão publicada (
409).
Disponibilidade na API
Endpoints de Automações
Crie, publique e acompanhe os fluxos de automação de marketing. Os exemplos abaixo são gerados pelo contrato OpenAPI oficial.
/api/v1/automation-flows
Lista as automações
Exige `automations:read` e Automações de Marketing (ver).
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
statusquery | string | Não | Situação. |
searchquery | string | Não | Parte do nome. |
per_pagequery | integer | Não | Itens por página. |
Exemplo de requisição
curl "$MICORE_BASE_URL/automation-flows" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": [
{
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"trigger_type": null,
"published_version": 1,
"has_draft": true,
"definition": {
"graph": {
"nodes": [
[]
],
"edges": [
[]
]
},
"trigger": [],
"settings": []
},
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00"
}
],
"links": [],
"meta": []
}Respostas possíveis
/api/v1/automation-flows
Cria uma automação
Nasce em rascunho, sem versão publicada. Exige `automations:write` e Automações de Marketing (criar).
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Até 255 caracteres. |
description | string | null | Não | Até 1000 caracteres. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/automation-flows" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"name":"string","description":null}'Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"trigger_type": null,
"published_version": 1,
"has_draft": true,
"definition": {
"graph": {
"nodes": [
[]
],
"edges": [
[]
]
},
"trigger": [],
"settings": []
},
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00"
}
}Respostas possíveis
/api/v1/automation-flows/{flow}
Consulta uma automação
Com a definição do editor (rascunho, se houver, senão a publicada): blocos, ligações, gatilho e regras. Exige `automations:read`.
Exemplo de requisição
curl "$MICORE_BASE_URL/automation-flows/{flow}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"trigger_type": null,
"published_version": 1,
"has_draft": true,
"definition": {
"graph": {
"nodes": [
[]
],
"edges": [
[]
]
},
"trigger": [],
"settings": []
},
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00"
}
}Respostas possíveis
/api/v1/automation-flows/{flow}
Edita nome e descrição
Edição parcial. Exige `automations:write` e Automações de Marketing (editar).
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Não | Até 255 caracteres. |
description | string | null | Não | Até 1000 caracteres. |
Exemplo de requisição
curl -X PATCH "$MICORE_BASE_URL/automation-flows/{flow}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name":"string","description":null}'Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"trigger_type": null,
"published_version": 1,
"has_draft": true,
"definition": {
"graph": {
"nodes": [
[]
],
"edges": [
[]
]
},
"trigger": [],
"settings": []
},
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00"
}
}Respostas possíveis
/api/v1/automation-flows/{flow}/draft
Salva o rascunho da definição
Substitui o rascunho inteiro (blocos, ligações, gatilho e regras); a versão publicada segue no ar. Precisa de um único bloco de início (422). Exige `automations:write` e Automações de Marketing (editar).
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Não | — |
trigger | object | Não | Gatilho: type (entry_lead_stage_changed, entry_form_submitted ou entry_hotmart_abandoned_cart) e o alvo (funnelId e stageId, formId ou productId). |
nodes | array<object> | Sim | — |
edges | array<object> | Sim | — |
settings | object | Não | — |
Exemplo de requisição
curl -X PUT "$MICORE_BASE_URL/automation-flows/{flow}/draft" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name":"string","trigger":[],"nodes":[{"id":"string","type":"string","position":{"x":1,"y":1},"data":[]}],"edges":[{"id":"string","source":"string","sourceHandle":null,"target":"string","targetHandle":null}],"settings":{"reentry":true,"stopOnStageExit":true,"window":{"days":[1],"start":"08:00","end":"18:00"}}}'Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"trigger_type": null,
"published_version": 1,
"has_draft": true,
"definition": {
"graph": {
"nodes": [
[]
],
"edges": [
[]
]
},
"trigger": [],
"settings": []
},
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00"
}
}Respostas possíveis
/api/v1/automation-flows/{flow}/publish
Publica uma nova versão
Publica a definição enviada: ela passa a valer, o rascunho é descartado e a automação fica ativa. Mesmas regras do editor. Exige `automations:write` e Automações de Marketing (editar).
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Não | — |
trigger | object | Não | Gatilho: type (entry_lead_stage_changed, entry_form_submitted ou entry_hotmart_abandoned_cart) e o alvo (funnelId e stageId, formId ou productId). |
nodes | array<object> | Sim | — |
edges | array<object> | Sim | — |
settings | object | Não | — |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/automation-flows/{flow}/publish" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"name":"string","trigger":[],"nodes":[{"id":"string","type":"string","position":{"x":1,"y":1},"data":[]}],"edges":[{"id":"string","source":"string","sourceHandle":null,"target":"string","targetHandle":null}],"settings":{"reentry":true,"stopOnStageExit":true,"window":{"days":[1],"start":"08:00","end":"18:00"}}}'Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"trigger_type": null,
"published_version": 1,
"has_draft": true,
"definition": {
"graph": {
"nodes": [
[]
],
"edges": [
[]
]
},
"trigger": [],
"settings": []
},
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00"
}
}Respostas possíveis
/api/v1/automation-flows/{flow}/activate
Ativa a automação
Só quem já tem versão publicada (409). Exige `automations:write` e Automações de Marketing (desabilitar).
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/automation-flows/{flow}/activate" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"trigger_type": null,
"published_version": 1,
"has_draft": true,
"definition": {
"graph": {
"nodes": [
[]
],
"edges": [
[]
]
},
"trigger": [],
"settings": []
},
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00"
}
}Respostas possíveis
/api/v1/automation-flows/{flow}/deactivate
Desativa a automação
Para de inscrever leads novos. Exige `automations:write` e Automações de Marketing (desabilitar).
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/automation-flows/{flow}/deactivate" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"trigger_type": null,
"published_version": 1,
"has_draft": true,
"definition": {
"graph": {
"nodes": [
[]
],
"edges": [
[]
]
},
"trigger": [],
"settings": []
},
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00"
}
}Respostas possíveis
/api/v1/automation-flows/{flow}/performance
Consulta o desempenho
Leads ativos, total de leads e, por bloco, quantos passaram e o que aconteceu (envios, falhas, puladas, lidas e saídas). Exige `automations:read`.
Exemplo de requisição
curl "$MICORE_BASE_URL/automation-flows/{flow}/performance" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"activeLeads": 1,
"totalLeads": 1,
"nodes": []
}
}Respostas possíveis
/api/v1/automation-flow-dispatches
Lista os disparos das automações
E-mails e WhatsApps enviados pelas automações, com filtro por automação e situação. Exige `automations:read`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
flow_idquery | integer | Não | Automação. |
statusquery | string | Não | Situação. |
per_pagequery | integer | Não | Itens por página. |
Exemplo de requisição
curl "$MICORE_BASE_URL/automation-flow-dispatches" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": [
{
"id": 1,
"channel": null,
"status": "pending",
"recipient_type": null,
"recipient_id": 1,
"recipient_email": null,
"subject": null,
"error_message": null,
"sent_at": null,
"created_at": null,
"flow_id": 1,
"flow_name": "string",
"node_id": null
}
],
"meta": []
}Respostas possíveis
/api/v1/automation-flow-dispatches/{dispatch}/retry
Tenta de novo um disparo que falhou
Roda de novo a partir do bloco em que parou. Só disparos com falha (409); disparo inexistente: 404. Exige `automations:write` e Automações de Marketing (editar), como a tela de disparos.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/automation-flow-dispatches/{dispatch}/retry" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001"Exemplo de resposta JSON
{
"data": {
"id": 1,
"retried": true
}
}