Operações de SaaS

O console de operações para times SaaS

O Ravenkeep agrupa seus crashes pela causa e mostra quem eles atingem, liga cada cadastro à campanha que o trouxe e dá ao seu time um chat de suporte em tempo real, um quadro de solicitações de funcionalidade e fluxos de e-mail. Dois SDKs conectam o seu produto.

O plano Free não tem custo e não pede cartão. Os planos pagos são comprados no console, em Configurações → Plano e uso.

Dados de exemplo de um produto fictício

O seu produto já diz o que está errado

Os sinais estão espalhados por logs, planilhas, caixas de entrada e ferramentas de e-mail. O Ravenkeep reúne tudo num registro por cliente.

O mesmo crash chega mil vezes e ninguém sabe quem ele atinge.
Cada exceção entra num grupo só com as outras da mesma causa, com os clientes afetados, a fatia dos usuários ativos e a receita em risco.
Os cadastros chegam ao banco, mas a campanha que os trouxe se perde.
O SDK de navegador guarda os parâmetros UTM do primeiro acesso e o seu backend os envia com o cadastro. Eles são gravados uma vez e mantidos para sempre.
O suporte acontece numa caixa de entrada que não sabe nada do cliente.
As conversas começam num widget dentro do seu produto, ao lado do plano, do valor do cliente, dos crashes e dos votos dele.
As solicitações de funcionalidade se acumulam em documentos sem saber quem quer o quê.
Os clientes votam e sugerem pelo mesmo widget. Cada solicitação mostra quem votou, de quais contas e quanto essas contas valem.
E-mails de ciclo de vida pedem outra ferramenta e outra cópia da sua lista de clientes.
Os fluxos de e-mail usam os clientes que o Ravenkeep já conhece, com aberturas e cliques medidos em cada etapa.

Cinco trabalhos de operação num só registro de cliente

Cada crash, conversa, voto e e-mail fica ligado a um cliente do seu produto. É assim que o Ravenkeep mede impacto em vez de contar ruído.

Dados de exemplo de um produto fictício

Crashes

Disponível

Veja quais crashes importam pelas pessoas que eles atingem

O Ravenkeep reconhece cada exceção pelo tipo e pelos primeiros frames, então o mesmo bug numa linha nova cai no mesmo grupo. Cada grupo mostra com que frequência acontece e quem atinge.

Um grupo resolvido que volta numa nova versão é marcado como regressão.

  • Agrupados pela causaO agrupamento ignora números de linha, hashes de build e IDs, e você pode definir a sua própria regra.
  • Impacto, não contagemClientes afetados, a fatia dos usuários ativos e o LTV (receita por cliente) em risco.
  • Triagem em equipeAtribua, resolva ou ignore grupos e seja avisado sobre grupos novos e picos.

Dados de exemplo de um produto fictício

Métricas de operação

Disponível

Saiba quais campanhas trazem clientes que ficam

Os cadastros chegam com a origem e a campanha UTM do primeiro acesso, guardadas para sempre. Some eventos do produto e receita, e o Ravenkeep mostra usuários ativos, usuários sem crash e LTV contra CAC por origem.

Os painéis leem agregados por hora e por dia, então continuam rápidos conforme o histórico de eventos cresce.

  • Atribuição para sempreO primeiro contato é gravado uma vez por cliente e nunca sobrescrito.
  • LTV e CAC por origemInforme o investimento por origem e compare com a receita que esses clientes trazem.
  • Os eventos do seu produtoAcompanhe tickets criados, arquivos enviados ou membros convidados e compare até três.

Dados de exemplo de um produto fictício

Chat de suporte

Disponível

Converse com os clientes dentro do seu produto

O SDK de navegador adiciona um widget de chat para clientes logados. O seu time responde numa caixa de entrada em tempo real que mostra o plano, o valor do cliente e os crashes recentes ao lado da conversa.

A verificação de identidade vem ligada: o seu backend assina o ID de usuário, então ninguém abre o chat como outro cliente.

  • Tempo real nos dois ladosIndicador de digitação, contagem de não lidas e anexos, com atualização a cada poucos segundos se a conexão cair.
  • Contexto ao lado da conversaPlano, conta, LTV, crashes e votos da pessoa com quem você está falando.
  • Atendimento medidoTempo da primeira resposta e de resolução, atribuição e respostas salvas.

Dados de exemplo de um produto fictício

Solicitações de funcionalidade

Disponível

Priorize solicitações pelos clientes por trás delas

Publique as solicitações que você está avaliando e deixe os clientes votarem pelo widget ou sugerirem novas. Cada solicitação mostra quantas contas pediram e o LTV de quem votou.

Quando uma solicitação muda de status, quem votou pode ser avisado por um fluxo de e-mail.

  • Votos com pesoContas votantes, LTV dos votantes e tendência recente, lado a lado.
  • Triagem de sugestõesAceite uma sugestão, mescle com uma solicitação existente ou recuse.
  • Votos vindos do suporteSome o voto de um cliente a partir de uma conversa com um clique.

Dados de exemplo de um produto fictício

Campanhas

Disponível

Fluxos de e-mail que reagem ao que os clientes fazem

Monte fluxos num editor visual: um gatilho, esperas, condições, testes A/B e e-mails. Um fluxo pode começar num cadastro, num evento do produto ou no status de uma solicitação, e cada etapa mostra os próprios números.

Fluxos publicados têm versões, então quem já está num fluxo termina a versão em que começou.

  • Gatilhos do seu produtoComece em cadastros, em eventos com filtros de propriedades ou em mudanças de status de solicitações.
  • Caminhos pelo comportamentoEspere e confira aberturas, cliques, eventos, atributos ou LTV antes da próxima etapa.
  • Números por etapaEnviados, abertos, clicados e descadastros, no próprio diagrama.

App Android

De plantão pelo celular

O app de operadores para Android, em português e inglês, deixa ao alcance as partes do trabalho que não podem esperar. Os times instalam direto; ele ainda não está no Google Play.

  1. 1Responder a caixa de entradaResponda com respostas salvas e anexos, deixe notas internas, atribua e encerre conversas.
  2. 2Fazer a triagem de crashes e solicitaçõesAbra um crash com o stack e o impacto para resolver, ignorar ou atribuir, e aceite, mescle ou recuse sugestões.
  3. 3Receber avisosNotificações push de novos crashes, mensagens e sugestões pelo Firebase Cloud Messaging onde ele estiver configurado; sem ele, o app confere os avisos a cada 15 minutos.

SDK

Conecte o seu produto em minutos

Um SDK do Node.js para o seu backend e um SDK de navegador para o seu app web. Os dois devolvem os dados ou um erro e nunca lançam exceções, mesmo quando a nossa API está fora do ar.

Os dois SDKs são pacotes públicos no npm: instale com npm, pnpm ou Yarn, ou carregue o SDK de navegador de um CDN com uma tag de script.

Backend@ravenkeep/node
server/signup.tsTypeScript
import { Ravenkeep } from '@ravenkeep/node'

// RAVENKEEP_SECRET_KEY=rk_secret_lumen_xxxxxxxxxxxx
const ravenkeep = new Ravenkeep({
  secretKey: process.env.RAVENKEEP_SECRET_KEY,
})

// The first-touch campaign stays with the contact.
await ravenkeep.signup({ userId, email, attribution })

// Events and exceptions are queued and batched.
ravenkeep.track('file.uploaded', { userId })
ravenkeep.captureException(error, { userId })
App web@ravenkeep/browser
src/main.tsTypeScript
import { Ravenkeep } from '@ravenkeep/browser'

const ravenkeep = Ravenkeep.init({
  publishableKey: 'rk_pub_lumen_xxxxxxxxxxxx',
})

// Signed-in users get the chat and request widget.
await ravenkeep.identify({ userId, userHash, email })

// UTM parameters of the first visit, for your signup.
const attribution = ravenkeep.getAttribution()
  • Duas chaves, dois papéisA chave secreta fica nos seus servidores. A chave publicável só funciona nas origens que você permitir.
  • Identidades verificadasO seu backend assina cada ID de usuário, então ninguém abre o widget como outra pessoa.
  • Em lotes e com novas tentativasEventos e exceções vão para uma fila, são enviados em lotes e deduplicados pelo ID.

Documentação em inglês

Preços

Comece no plano Free, sem cartão. Quando precisar de mais, o proprietário da sua organização escolhe um plano pago no console: com a assinatura em dia, o uso além do que ele inclui é cobrado como excedente, nunca pausado.

Preços em reais. Cartões emitidos fora do Brasil pagam em dólares americanos.

  • Free

    Experimente o Ravenkeep em um produto.

    R$ 0por mês

    • 10.000 eventos por mês
    • 1.000 eventos de crash por mês
    • 2 assentos
    • 1 projeto
    • 30 dias de histórico
    • Passando dos limites, os eventos pausam até o mês seguinte
    Criar conta
  • Starter

    Um produto com os primeiros clientes.

    R$ 95,90por mês

    • 1.000.000 eventos por mês
    • 15.000 eventos de crash por mês
    • 3 assentos
    • 2 projetos
    • Um ano de histórico
    • Além do plano, excedente a partir de R$ 75 por milhão de eventos
    Escolher Starter
  • Growth

    Um produto e um time em crescimento.

    R$ 749,90por mês

    • 10.000.000 eventos por mês
    • 100.000 eventos de crash por mês
    • 15 assentos
    • 15 projetos
    • Um ano de histórico
    • Além do plano, excedente a partir de R$ 75 por milhão de eventos
    Escolher Growth
  • Scale

    Grandes volumes, sem limite de assentos ou projetos.

    R$ 2.999,90por mês

    • 50.000.000 eventos por mês
    • 500.000 eventos de crash por mês
    • Assentos ilimitados
    • Projetos ilimitados
    • Um ano de histórico
    • Além do plano, excedente a partir de R$ 40 por milhão de eventos
    Escolher Scale

Todos os planos incluem

  • O console inteiro: crashes, métricas de operação, chat de suporte, solicitações de funcionalidade e campanhas
  • Clientes, conversas, solicitações de funcionalidade e fluxos ilimitados
  • E-mail das campanhas pela sua própria conta do Resend
  • Os SDKs do Node.js e de navegador, públicos no npm, e o servidor MCP para agentes de IA
  • O app Android para operadores, instalado direto enquanto não está no Google Play
  • Os papéis de proprietário, administrador, agente e visualizador
Compare com ferramentas separadas e calcule o seu mês

Perguntas

Ficou alguma dúvida? Escreva para hello@ravenkeep.io.

O que é o Ravenkeep?

Um console de operações para produtos SaaS. Ele agrupa crashes pela causa, mede cadastros e receita por origem de aquisição, roda um chat de suporte em tempo real e um quadro de solicitações de funcionalidade dentro do seu produto e envia fluxos de e-mail, tudo ligado ao mesmo registro de cliente.

Para quem ele é?

Para times que mantêm um produto SaaS e cuidam da operação dele: engenheiros que corrigem crashes, sucesso do cliente e suporte, e quem decide o que construir e como crescer.

Como os crashes são agrupados?

Cada exceção é reconhecida pelo tipo e pelos primeiros frames do seu código, sem números de linha, hashes de build e IDs. O mesmo bug numa nova versão ou numa linha diferente cai no mesmo grupo. Você também pode definir o seu próprio agrupamento pelo SDK.

Como a atribuição dos cadastros é guardada?

O SDK de navegador guarda os parâmetros UTM, os IDs de clique, a página de origem e a página de entrada do primeiro acesso de um visitante. O seu backend os envia com o cadastro, e o Ravenkeep os grava uma vez no cliente e nunca os sobrescreve.

Quais SDKs existem?

@ravenkeep/node para o seu backend (Node.js 18 ou mais novo) e @ravenkeep/browser para o seu app web, como pacote npm ou tag de script. Os dois são públicos no npm, não trazem dependências de execução para o seu lado e não lançam exceções.

A chave publicável é segura no navegador?

Sim. Ela só funciona nas origens que você permitir, só faz o que um visitante pode fazer, e as sessões do widget exigem um hash de usuário assinado pelo seu backend. A chave secreta fica nos seus servidores e é mostrada uma única vez.

Quanto custa o Ravenkeep?

O plano Free não tem custo e não pede cartão. Os planos pagos incluem mais eventos, assentos e projetos e um ano de histórico, e cobram o uso além do que incluem pelos valores de excedente; a página de preços lista cada plano e valor, compara com as ferramentas separadas de que você precisaria e calcula o seu mês. O proprietário da sua organização compra um plano no console, em Configurações → Plano e uso: em dólares americanos, ou em reais para cartões emitidos no Brasil.

Existe um app para celular?

Sim, para operadores: um app Android com a caixa de entrada, a triagem de crashes e de solicitações de funcionalidade e os seus avisos, em português e inglês. Os times instalam direto, porque ele ainda não está no Google Play. As notificações push usam o Firebase Cloud Messaging onde ele estiver configurado; sem ele, o app confere os avisos a cada 15 minutos. Em outros celulares, o console funciona no navegador.

Quais dados dos meus clientes o Ravenkeep guarda?

O que o seu produto envia: IDs de usuário, o e-mail e o nome que você escolher compartilhar, atributos, eventos, exceções com os stack traces, conversas, votos e valores de receita. A Política de Privacidade explica como esses dados são tratados.

O Ravenkeep está pronto para produção?

Sim. Crashes, métricas de operação, chat de suporte, solicitações de funcionalidade e campanhas funcionam de ponta a ponta, e os planos pagos estão à venda. Os SDKs são públicos no npm em versões 0.x, então detalhes ainda podem mudar antes da 1.0; a documentação diz o que cada um faz hoje. Comece com um projeto para um produto e cresça a partir daí.

Por quanto tempo os dados ficam guardados?

Os clientes, a atribuição do primeiro contato e as métricas diárias ficam guardados enquanto o projeto existir. Os eventos brutos ficam até um ano (366 dias), ou pelo histórico do plano quando for menor (30 dias no Free, um ano nos planos pagos). As ocorrências de crash ficam 30 dias mais as 100 mais recentes de cada grupo, e os registros das etapas das campanhas 90 dias depois que a execução termina. A documentação lista todas as regras.

Como os e-mails das campanhas chegam aos meus clientes?

Pela sua própria conta do Resend, do seu próprio endereço. Conecte a conta com uma chave de API nas configurações de e-mail do projeto e verifique o seu domínio no Resend; o plano grátis do Resend envia até 3.000 e-mails por mês, 100 por dia. Um fluxo que envia e-mails é publicado depois que o provedor do projeto estiver conectado: o endereço do próprio Ravenkeep só envia e-mails de teste, cada um para a pessoa da sua equipe que o pede, quando o endereço de acesso dela estiver verificado. Todo e-mail leva um link de descadastro, e as aberturas e os cliques são medidos em cada etapa.

Dados de exemplo de um produto fictício

Opere o seu produto a partir de um console

Crie uma organização, adicione um projeto e conecte os SDKs.

Criar conta

Plano Free · Sem cartão