Sequências automatizadas

Inscreva o contato.
O sistema cuida do resto.

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.

3
Tipos de trigger
Steps por drip
1min
Worker cron
API
Idempotente
app.ravimail.com.br/drips

Suas sequências

Drips ativos rodando agora

4 drips · contatos em sequência worker cron 1min
O problema

Onboarding manual é onboarding inconsistente

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.

Esquecimento

"Tenho que mandar o email 2 amanhã" só funciona se você lembrar. Multiplique por 50 novos clientes/mês.

Inconsistência

Cliente A recebeu todos os 5 emails. Cliente B só os 2 primeiros. Cliente C recebeu o 4 antes do 3.

Sem visão

Onde está cada lead na jornada? Quem está parado na etapa 2 há 3 dias? Sem ferramenta, não tem como saber.

Builder visual

Monte a sequência em 2 minutos

Cards verticais conectados. Escolhe o template, define o delay, reordena com a seta. Cada step mostra a métrica em tempo real.

app.ravimail.com.br/drips/1/steps

Onboarding novos clientes

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.

9 capacidades

Drips de produção, não brinquedo

3 tipos de trigger

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

Delay configurável

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)

Filter rules por step

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

Subscribe idempotente

POST /v1/drips/{id}/subscribe pode ser chamado N vezes pro mesmo contato. Já inscrito? Retorna current sem duplicar.

POST /v1/drips/{id}/subscribe

Sem limite de steps

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)

Retry automático em erro

Falhou ao enviar (network, throttle do provedor)? Status permanece active, próximo tick do worker tenta de novo.

subscription.status = active + retry

Stats por step

Quantos enviaram, quantos abriram, quantos clicaram, quantos bounced. Cada step tem sua taxa, você ajusta o ponto fraco.

tracking_events por step

Pausa global

Toggle ativo/inativo desliga o drip todo sem perder subscribers. Reativa quando quiser, sequência continua de onde parou.

api_drips.active = 0|1

Templates compartilhados

Mesmo template usado em campanha pode ser step de drip. Edita uma vez, propaga onde estiver referenciado.

templates · referenciado por template_id

Exclusivo do RaviMail

Subscribe via API REST
com idempotência garantida

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.

  • Trigger manual: contato entra exatamente quando seu sistema disser. Útil pra "cliente acabou de comprar"
  • Idempotente: retry seguro retorna a mesma subscription_id, marca "idempotent": true na resposta
  • Unsubscribe limpo: POST /unsubscribe muda status pra cancelled. Reinscrever depois recomeça do step 1 sem confusão
  • Worker cron 1min: próxima etapa sai em até 60s do delay configurado. Latência previsível pra integração
# 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
  }
}

Perguntas frequentes

Campanha é disparo em massa pra uma lista num momento único (com ou sem A/B). Drip é sequência: contato entra, recebe step 1, espera X tempo, recebe step 2, e assim por diante. Mesmo contato pode estar em vários drips ao mesmo tempo.
Quando você adiciona uma tag específica a um contato (via painel, importação CSV ou API), todos os drips ativos que tenham esse trigger_value são acionados pro contato. Útil pra "marcou como cliente premium → inicia sequência onboarding VIP".
Do momento que o contato foi inscrito no drip (api_drip_subscriptions.created_at), não do step anterior. Se o step 1 tem delay 0 e o step 2 tem delay 1440, o step 2 sai 24h após a inscrição mesmo que o step 1 atrase 30min.
Sim. Cada (drip_id, contact_id) é uma subscription independente. Cliente pode estar em "Onboarding" e "Pós-compra" simultaneamente sem conflito.
O contato fica com status global "unsubscribed". O worker do drip não envia mais pra contatos unsubscribed (suppression é checada antes de enfileirar). A subscription continua em status active mas sem effect prático.
Sim. Cada subscription tem current_step (qual step já recebeu) e next_step_at (quando o próximo sai). Filtra a tabela por drip_id e vê quem está em qual etapa.
Sim. Mudanças em steps existentes pegam o próximo envio pra todos. Adicionar step novo no fim: contatos que já passaram do step atual vão receber o novo quando o delay bater. Excluir step do meio: contatos atualmente nele pulam pro próximo.

Monte seu primeiro drip em 5 minutos

Builder visual, templates compartilhados, métricas por step. Tudo incluído no Starter R$ 149/mês.