Sequências de Atividades
Automatize cadências comerciais, onboarding de clientes e follow-ups de leads com passos pré-definidos que combinam atividades, mensagens WhatsApp, webhooks e tempos de espera — tudo configurável sem código.
O que são sequências
Uma sequência de atividades é um roteiro reutilizável que executa passos em ordem em um card do Pipeline Pro. Cada passo pode ser uma atividade (ligação, e-mail, reunião), uma ação automática (mensagem WhatsApp, webhook) ou apenas uma espera entre passos.
Sequências podem ser disparadas manualmente em um card específico ou automaticamente quando o card muda de estágio, atinge condições configuradas, ou em intervalos de tempo.
Casos de uso
- Onboarding pós-venda: e-mail de boas-vindas + reunião de kickoff em D+3 + check-in WhatsApp em D+7 + envio de tutorial em PDF em D+14.
- Reativação de leads frios: webhook ao CRM em D+0 + mensagem WhatsApp em D+2 + ligação agendada em D+5 + toque final em D+10.
- Cadência comercial:sequência de 5 toques em 14 dias com variações de canal (WhatsApp, Web Chat, ligação) — disparada automaticamente quando o lead atinge o estágio "qualificado".
- Recuperação de carrinho abandonado: webhook ao sistema externo em D+0 + WhatsApp lembrete em D+1 + cupom de desconto em D+3.
Criar uma sequência
Acesse Pipeline → Sequências
Clique em "Nova sequência"
Preencha as informações gerais
Configure o gatilho (se não for Manual)
Adicione os passos
Salve a sequência
Tipos de passo
Atividade
Cria uma atividade no Pipeline Pro para o agente responsável pelo card. Tipos disponíveis:
| Tipo | Uso |
|---|---|
| call | Ligação telefônica para o contato |
| E-mail (manual ou via integração) | |
| meeting | Reunião agendada |
| task | Tarefa genérica |
| note | Nota associada à atividade |
| demo | Demonstração do produto |
| follow_up | Acompanhamento |
WhatsApp (Texto)
Envia uma mensagem de texto via WhatsApp para o contato do card. Suporta variáveis Liquid para personalização:
Olá {{contact.name}},
Notamos que você está no estágio "{{card.stage}}" da sua jornada conosco.
Posso te ajudar com algo?
Equipe {{account.name}}WhatsApp (Mídia)
Envia imagem, áudio, vídeo ou documento via WhatsApp. URL pode ser pública ou assinada (S3 etc.).
- Imagem: JPEG, PNG, WebP, GIF
- Áudio: OGG/Opus
- Vídeo: MP4
- Documento: PDF
- Tamanho máximo: 16 MB
Webhook
Faz uma requisição HTTP (POST/GET/PUT) para uma URL externa com payload assinado via HMAC-SHA256. Ideal para integrar com CRMs, sistemas de billing, automações n8n/Zapier.
{
"event": "step_executed",
"account": { "id": 1, "name": "Minha Empresa" },
"card": { "id": 42, "title": "Negociação Acme", "stage": "qualified" },
"contact": { "name": "João Silva", "phone": "+5511999999999" },
"sequence": { "name": "Cadência Comercial", "current_step": 3 },
"timestamp": "2026-04-30T14:00:00Z"
}Espera (Delay)
Não executa nenhuma ação — apenas aguarda o tempo configurado antes do próximo passo. Use entre passos para criar cadências espaçadas (ex: "esperar 2 dias").
Gatilhos automáticos
Sequências podem ser disparadas automaticamente sem ação manual:
Manual
Iniciada manualmente em cada card pelo agente. Modo padrão para sequências que precisam de revisão antes de executar.
Mudança de etapa
Disparada quando um card muda de estágio. O estágio "De" pode ficar como "Qualquer", mas o estágio de destino "Para" é obrigatório. Exemplo: ao entrar no estágio "Negociação", dispara cadência de 5 toques.
Baseado em tempo
Verificada a cada minuto. Use "A cada N dias" (avaliado à meia-noite no fuso da conta) ou expressão cron (formato min hora dia mês dia-semana). Filtros opcionais: cards parados em estágio X há mais de N dias.
Baseado em condição
Disparada quando um campo do card atende às condições. Campos suportados: lead_score, qualification_score, pipeline_stage, expected_revenue, priority. Operadores: =, ≠, >, <, ≥, ≤, contém, não contém.
Iniciar em um card
Para sequências do tipo Manual:
- Abra o card no Kanban do Pipeline Pro
- Vá até a seção "Sequências" no detalhe do card
- Clique em "Iniciar sequência"
- Selecione a definição desejada na lista
- Confirme — o primeiro passo é executado imediatamente ou agendado conforme o delay
Monitorar progresso
- Badge no card: cards com sequência ativa mostram um badge
⚡ N/Mno canto inferior, com mini barra de progresso. Hover mostra detalhes. - Detalhes do card: abrir o card mostra todas as sequências (ativas, pausadas, concluídas) com botões para Pausar, Retomar, Avançar passo manualmente, ou Cancelar.
- Avançar manualmente:agentes podem clicar em "Marcar concluído" para pular para o próximo passo sem esperar o agendamento.
API pública
Inicie sequências programaticamente via API REST — útil para integrações com n8n, Zapier, sistemas externos.
Via token de usuário
curl -X POST https://chat.seudominio.com/api/v1/accounts/1/pipeline/cards/42/sequences/external_start \
-H "X-API-Access-Token: $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"definition_id": 3,
"context": { "trigger_source": "n8n_workflow", "external_id": "wf-abc-123" }
}'Limite: 60 requisições/minuto por conta, 10/minuto por token.
Via webhook HMAC
Para integrações sem token de usuário (servidor-a-servidor), use o webhook assinado com HMAC-SHA256. Durante o rollout versionado, envie as duas assinaturas abaixo: a V1 cobre o corpo bruto e a V2 cobre timestamp, nonce e corpo bruto.
SECRET='seu_secret_configurado_no_admin'
BODY='{"definition_id":3,"card_identifier":"id:42"}'
TIMESTAMP="$(date +%s)"
NONCE="$(openssl rand -hex 16)"
LEGACY_SIG="$(printf '%s' "$BODY" | openssl dgst -sha256 -hmac "$SECRET" -hex | awk '{print $2}')"
V2_SIG="$(printf '%s.%s.%s' "$TIMESTAMP" "$NONCE" "$BODY" | openssl dgst -sha256 -hmac "$SECRET" -hex | awk '{print $2}')"
curl -X POST "https://chat.seudominio.com/webhooks/sequence-trigger/$ACCOUNT_TOKEN" \
-H "X-Sequence-Signature: sha256=$LEGACY_SIG" \
-H "X-Sequence-Signature-V2: sha256=$V2_SIG" \
-H "X-Sequence-Timestamp: $TIMESTAMP" \
-H "X-Sequence-Nonce: $NONCE" \
-H "Content-Type: application/json" \
-d "$BODY"O painel de credenciais informa inbound_signature_version e inbound_replay_protection_enabled. A V1 é o padrão compatível de rollout e valida raw_body, sem impedir replay. A V2 exige também timestamp.nonce.raw_body, aceita uma diferença inclusiva máxima de 300 segundos e reserva o digest do nonce em um ledger PostgreSQL tenant-scoped. O card_identifier aceita id:N (chave primária) ouexternal_id:str (campo customizado).
Cutover V2 em duas fases
A primeira release bridge mantém rotações inbound em V1 enquanto SEQUENCE_INBOUND_V2_ROTATION_ENABLED não for exatamente true. Somente depois que todos os nós convergirem e os consumidores enviarem as duas assinaturas, o operador habilita o gate e rotaciona a credencial da conta para V2. Uma conta V2 nunca faz fallback para V1. Em qualquer nova tentativa, gere outro timestamp, outro nonce e recalcule ambas as assinaturas; repetir os mesmos headers retorna 401.
Contexto externo permitido
Tanto a rota com token quanto o webhook HMAC aceitam um context opcional de até 10 KB. As únicas chaves persistidas são trigger_source, metadata, external_id, source_url e notes; chaves desconhecidas são descartadas e um valor que não seja objeto é rejeitado.
Limites e segurança
- WhatsApp via sequência: máx 5 msgs/dia/contato (proteção anti-spam)
- Webhook outbound: bloqueio SSRF para IPs privados, AWS metadata, loopback
- HMAC V1: compatibilidade de rollout sobre o corpo bruto, sem proteção contra replay
- HMAC V2: assinaturas duplas, timestamp de 300 s e nonce tenant-scoped de uso único no ledger PostgreSQL
- Rate limit API pública: 60/min/conta, 10/min/token, 120/min/HMAC token
- Anti-loop: uma inicialização automática por definição/card/dia local; a 11ª tentativa no mesmo bucket de hora abre o circuit breaker
- Multi-tenant: isolamento total — sequências de uma conta não vazam para outras
Perguntas frequentes
Posso editar uma sequência que já tem execuções ativas?
A alteração dos passos é bloqueada enquanto houver execução com status ativo. Depois de pausar as execuções, é possível editar a definição, mas cada inscrição guarda um snapshot dos passos no momento da criação: ao retomar uma execução já existente, ela continua com os passos originais. As mudanças valem para novas inscrições.
Sequência foi pausada sozinha — por quê?
Algum passo falhou (webhook 5xx, mensagem WhatsApp recusada, etc.) comon_failure: pauseconfigurado. Veja o detalhe da execução para o motivo. Corrija e clique em "Retomar".
Sequência automática parou de disparar
O circuit breaker pode ter desativado a sequência na 11ª tentativa de inicialização dentro do mesmo bucket de 1 hora (as 10 primeiras são permitidas). Reative manualmente após investigar a causa.
Como ver histórico de execuções?
O endpoint GET das sequências de um card expõe o histórico público em steps_log. Respostas internas dos handlers não fazem parte do contrato público atual.