# Playbook operacional: recuperação de pedido abandonado por WhatsApp com IA e CRM

> Um playbook prático com gatilhos, mensagens (HSM + session), regras de reserva/estoque e payloads CRM para recuperar pedidos abandonados por WhatsApp usando agentes de IA.

- Fonte: [Space Sales](https://blog.spacesales.app)
- URL: https://blog.spacesales.app/p/playbook-operacional-recuperacao-de-pedido-abandonado-por-whatsa
- Publicado: 2026-11-01
- Atualizado: 2026-11-01
- Categoria: Otimização do Funil de Vendas
- Tags: CRM para WhatsApp, Automação de vendas, Gestão de leads, WhatsApp Business API

---

A recuperação pedido abandonado precisa ser precisa: gatilhos com números claros, mensagens prontas e regras de estoque que evitem venda duplicada. Este playbook entrega tudo isso para você implementar hoje.

## Recuperação pedido abandonado: gatilhos, thresholds e cenários

Defina eventos claros no seu sistema e ações correspondentes no CRM. Gatilhos primários e ações imediatas recomendadas:

- Abandono de checkout: usuário abriu checkout ou clicou em “Finalizar” → disparo automático 4h após inatividade; ação: enviar 1ª mensagem session e reenvio de link de pagamento.
- Link de pagamento expirado/não pago: 30 minutos após envio sem confirmação → reenvio com nota de validade; se pagamento falhar, disparo imediato com opção de novo link.
- Falha de pagamento (gateway retorna erro): disparo imediato com instrução e novo link.
- Carrinho com itens em estoque crítico (stock checkout_abandoned > cart_saved > reengajamento (7 dias).
- Thresholds de IA: confidence >= 0.85 para respostas automáticas; score >= 70 → transferir humano; 40–69 → follow-up prioritário; stock_real): bloquear oferta, marcar lead como "stock_mismatch" e notificar time de estoque/vendas.

Concorrência e locking (implantar imediatamente):

- Use locking otimista/for update: ao criar reservation, grave stock_snapshot e reservation_id; ao confirmar pagamento verifique stock_real >= reserved_qty + safety_buffer. Se falhar, rejeite e notifique.

Pseudocódigo SQL simplificado:

```
BEGIN TRANSACTION;
SELECT stock_real FROM sku WHERE id = :sku FOR UPDATE;
IF stock_real >= requested_qty THEN
  UPDATE sku SET stock_real = stock_real - requested_qty;
  INSERT INTO reservation(...);
  COMMIT;
ELSE
  ROLLBACK;
  notify_team('stock_mismatch', sku, requested_qty);
END IF;
```

Regra operacional imediata: se reserved_total > stock_real → set lead.status = 'hold', cancelar HSM promocionais ativos e notificar vendedor.

## Mapeamento CRM e payloads para automação de recuperação

Campos mínimos no CRM por lead/lead_event:

- lead_id, whatsapp_id, session_id, reservation_id, product_id, sku, reserved_qty, stock_snapshot, event_type, event_timestamp, intent_detected, score, idempotency_key, last_messages (últimas 3), follow_up_count.

Eventos webhook esperados e ações CRM:

- inbound: checkout_abandoned, payment_link_sent, payment_failed, payment_confirmed, reservation_created, reservation_expired, message_received.
- ações CRM: mover_funil(pipeline_stage), criar_tarefa(due_date, owner), enviar_HSM(template_id), criar_proposta(sku, qty, price), lock_reservation(reservation_id).

Idempotency e deduplicação (prática):

- Gere idempotency_key = hash(message_id + event_id + timestamp_window). Ignore eventos com mesma key e status já processado.
- Use message_id + reservation_id como chave para evitar reenvio duplicado de HSM.

Exemplo de payload (webhook -> CRM):

```
{
  "event_type": "checkout_abandoned",
  "lead_id": "L123",
  "whatsapp_id": "5511999xxxx",
  "reservation_id": "R456",
  "product_id": "SKU-0001",
  "reserved_qty": 2,
  "stock_snapshot": 5,
  "idempotency_key": "msg-789-event-20261027",
  "timestamp": "2026-10-27T10:00:00Z"
}
```

O CRM deve responder 200 OK e pode devolver ações (ex.: {"send_hsm": "template_id"}).

Mapeamento de ações automatizadas:

- Ao payment_confirmed → mover funil para 'Pedido confirmado', decrementar reservation, enviar confirmação e nota fiscal.
- Ao reservation_expired → liberar estoque, marcar lead para reengajamento 7 dias, registrar motivo.

## Playbook de hand-off: quando e como escalar do agente IA para vendedor humano

Quando escalar (regras práticas):

- score >= 70 e intenção de comprar mas necessidade de negociação (desconto, frete, prazo).
- Divergência de estoque (reserved_qty > stock_real) ou disputa de preço.
- Usuário pede falar com vendedor; >2 mensagens sem intenção clara; 2 tentativas de pagamento falhadas.

Resumo mínimo que o agente envia ao vendedor (automático):

- Últimas 3 interações (texto), intent detectada, score atual, cart snapshot (skus + qty + reservation_id + tempo restante), event_history e sugestão de ação.

Template de transferência ao cliente:
"Vou passar você para um especialista que já tem seu pedido: resumo enviado. Aguarde 1–5 min."

Processo operacional pós-transferência:

- Ao transferir: set lead.status = 'em_atendimento_humano', bloquear HSM automáticos, estender TTL da reserva (+30 min) e criar tarefa no CRM com prioridade alta.

## Testes, métricas, checklist E2E e próximo passo prático

KPIs para acompanhar inicialmente:

- Recovery rate por sequência (%) — % de checkouts recuperados após fluxo.
- Conversion after recovery — % que paga após receber a sequência.
- Time to payment médio pós-recovery.
- Lift por segmento (VIP vs novo) e por canal (WhatsApp vs web).
- Operacionais: fallback rate IA <10–15%; transfer rate humano <15%.

A/B tests sugeridos:

- Mensagem A: reenvio simples do link vs Mensagem B: reenvio + 5% desconto condicionado; medir taxa de pagamento em 72h.
- TTL de reserva 15 min vs 60 min para SKU crítico: medir perda por expiração vs venda duplicada.
- Personalização simples vs personalizada (incluir last_order) para medir lift por CLTV.

[Checklist E2E](/p/checklist-automacao-whatsapp-rotina-operacional-para-evitar-bloq) para staging (execute 5 simulações):

1. Configurar webhook checkout_abandoned com idempotency_key.
2. Registrar HSM templates e testar envio (aprovado).
3. Implementar reserva com TTL e lock; simular concorrência.
4. Simular 3 cenários: checkout_abandon → pagar; payment_failed → novo link → pagar; concorrência duas reservas → validar bloqueio.
5. Ver logs: checar events, idempotency, updates no CRM e status final do lead.

Próximo passo prático para hoje:

- Em staging, implemente 1 gatilho (checkout_abandoned) + 1 HSM de reenvio + reserva TTL (15–60 min). Rode o checklist E2E com 5 simulações e monitore eventos no CRM por 72h. Inicie 1 A/B test simples (reenvio vs reenvio+desconto) e ajuste thresholds com os resultados.

Notas finais: [treine o agente](/p/como-treinar-agente-ia-whatsapp-passo-a-passo-para-vender-mais) com intents e slots (use guia de treinamento do agente) e valide webhooks e idempotência conforme checklist técnico antes de ir para produção.

## Perguntas frequentes

### Qual é o tempo ideal para reservar um carrinho antes de liberar o estoque?

Depende do segmento: varejo padrão 15–60 minutos; atacado 4–24 horas. Defina TTL por SKU para itens críticos (5–15 min) e ajuste com A/B tests.

### Como o CRM deve tratar eventos duplicados enviados pelo webhook?

Use idempotency_key gerado como hash(message_id + event_id + timestamp_window). Ignore eventos com a mesma key e mesmo status processado para evitar reenvio de HSMs.

### Quando devo escalar do agente IA para um vendedor humano no fluxo de recuperação?

Escale se score >= 70 com intenção de compra e negociação, se houver discrepância de estoque, 2 tentativas de pagamento falhadas ou pedido explícito do cliente.

### Como personalizar mensagens com histórico de compras sem violar privacidade?

Use apenas dados essenciais já consentidos no CRM (última compra, frequência, tier) e evite expor dados sensíveis. Garanta políticas de privacidade e registre consentimento em lead.profile.

### Quais métricas devo priorizar nos primeiros 30 dias depois de implementar o playbook?

Priorize recovery rate por sequência, conversion after recovery e time to payment médio. Monitore fallback rate IA e transfer rate humano para ajustar treinamentos e thresholds.
