Onboarding, reativação, nurturing, follow-up de venda. Define a sequência de emails uma vez, define os delays, e contatos passam por ela na ordem certa sem você precisar lembrar de mandar nada. Trigger por lista, tag ou chamada de API.
Drips ativos rodando agora
Cada cliente novo deveria receber a mesma sequência de emails. Mas dependendo da sua equipe lembrar, do tempo livre, da pressa, alguns recebem 5 emails e outros recebem 2.
"Tenho que mandar o email 2 amanhã" só funciona se você lembrar. Multiplique por 50 novos clientes/mês.
Cliente A recebeu todos os 5 emails. Cliente B só os 2 primeiros. Cliente C recebeu o 4 antes do 3.
Onde está cada lead na jornada? Quem está parado na etapa 2 há 3 dias? Sem ferramenta, não tem como saber.
Cards verticais conectados. Escolhe o template, define o delay, reordena com a seta. Cada step mostra a métrica em tempo real.
Trigger: list.added · Lista: "Clientes Trial" · 1.247 ativos
passe o mouse em um step pra ver métricas
Cada step herda template, variáveis e tracking do sistema transacional. Não duplica configuração: a mesma reputação, as mesmas métricas.
Inscreve contato automaticamente quando ele entra numa lista, recebe uma tag, ou via chamada de API (manual). Sua escolha.
trigger_type: list.added | tag.added | manual
Resolução em minutos. Pode ser 5 min, 24h, 3 dias ou 2 semanas. Calculado desde a inscrição do contato, não do step anterior.
delay_minutes (INT)
Cada step pode ter regras JSON pra pular contatos que não atendam (ex: "só envia se tag = vip"). Segmentação inline.
filter_rules: JSON opcional
POST /v1/drips/{id}/subscribe pode ser chamado N vezes pro mesmo contato. Já inscrito? Retorna current sem duplicar.
POST /v1/drips/{id}/subscribe
Onboarding de 3 steps ou nurturing de 25 steps? Mesma estrutura. UNIQUE(drip_id, step_number) garante ordem.
api_drip_steps · UNIQUE(drip_id, step_number)
Falhou ao enviar (network, throttle do provedor)? Status permanece active, próximo tick do worker tenta de novo.
subscription.status = active + retry
Quantos enviaram, quantos abriram, quantos clicaram, quantos bounced. Cada step tem sua taxa, você ajusta o ponto fraco.
tracking_events por step
Toggle ativo/inativo desliga o drip todo sem perder subscribers. Reativa quando quiser, sequência continua de onde parou.
api_drips.active = 0|1
Mesmo template usado em campanha pode ser step de drip. Edita uma vez, propaga onde estiver referenciado.
templates · referenciado por template_id
Seu sistema próprio quer inscrever um cliente que acabou de comprar? POST e pronto. Se sua API retry der na rede e mandar o mesmo subscribe duas vezes, o segundo retorna a subscription que já existe sem reiniciar a sequência ou mandar email duplicado.
"idempotent": true na resposta
# Cliente acabou de comprar? Inscreve no drip pós-compra.
curl -X POST https://api.ravimail.com.br/v1/drips/3/subscribe \
-H "Authorization: Bearer rvm_live_..." \
-d '{"contact_id": 9382}'
# Resposta 1ª chamada
{
"data": {
"id": "sub_8aJ9w2x",
"drip_id": 3,
"contact_id": 9382,
"status": "active",
"current_step": 0,
"next_step_at": "2026-05-19T14:32:14Z"
}
}
# Mesma chamada de novo (retry, network blip, etc)
{
"data": {
"id": "sub_8aJ9w2x", # mesmo ID!
"status": "active",
"current_step": 2, # step real
"idempotent": true # sinaliza retry
}
}
Builder visual, templates compartilhados, métricas por step. Tudo incluído no Starter R$ 149/mês.