Total contacts
B4A internal tools
CRM, email, and WhatsApp sending for B4A.
Outsider is being prepared as the home for customer segmentation, lifecycle campaigns, email sends, and WhatsApp broadcasts.
Access is limited to B4A Google accounts. The application workspace will open here once the first module is ready.
Segmentation
Valid phones
Known subscribers
Active subscribers now
Audience builder
Start with the entire base
Add conditions to narrow the audience, then preview the count. Save only when it is an audience you want to reuse.
The request is running against the audience database. Large lifecycle filters can take a little while.
Sample contacts
Save for later
Save this audience
Name and describe the segment only once the preview looks useful.
Saved segments
Segment analysis
Find aggregate traits that stand out
Select a saved segment and a baseline. Outsider compares only aggregate traits, then can generate an AI interpretation from those stored metrics without using raw contacts or PII.
Segment contacts
Baseline contacts
Run status
AI interpretation
Narrative summary
Generate a concise readout once the aggregate comparison finishes. The summary cites supporting metrics below.
Supporting aggregate metrics
Ranked comparison rows are stored with counts, lift, difference, and fields excluded because they defined the segment.
RFTM segmentation
Standing model for relationship value
This page implements the June 2026 RFTM spec: Recency, Frequency, Tenure, and Monetary. Counts use cached Outsider feature tables so navigation stays fast.
Model version
Contacts in scope
Standing segments
Cache refreshed
Standing segments
First-match RFTM counts
Segments follow the assignment priority in the markdown spec. Overlays are counted separately because they can stack on top.
Overlays
Current data mapping
RFTM configuration
Define first-match standing segments
Edit the metadata, priority, active state, and structured rules used by the RFTM cache refresh. Changes mark cached counts stale until the next RFTM refresh runs.
Segment definitions
Editable criteria
Assignment priority controls first-match classification. Display order controls how rows appear on the model page.
RFTM visualizations
Explore the model across any two dimensions
Map Recency, Frequency, Tenure, and Monetary onto the two axes of a segment grid and a scatter plot. Assign two dimensions to one axis to build a combined score, exactly like the classic Frequency & Monetary axis. Counts come from the cached RFTM scan, so switching axes stays instant.
Contacts in cached scan
X axis
RecencyY axis
Frequency & MonetaryPick one or two dimensions per axis. Two dimensions on an axis are averaged into a combined score (Low to Elite).
Predictive segments
Segment grid
Column width and cell height scale with the number of contacts. Each cell is labelled with its dominant standing segment and contact count.
Customer scatter
RFTM scatter
A bounded random sample of contacts plotted on the selected axes and coloured by standing segment. Combined axes use a normalized 0-100 composite score.
Segment legend
CRM
Contatos
Busque por nome, e-mail ou telefone e abra o perfil 360° de qualquer contato. A lista respeita o universo ativo no seletor acima.
Import
Importar base (CSV)
O CSV precisa de pelo menos uma coluna de identidade:
email, phone ou external_id
(opcionais: name, first_name,
last_name). O import é idempotente e
não grava consentimento nem universo — consents
exigem origem explícita (LGPD).
CRM de marca (B4A Connect)
Filtros de CRM
Recorte por metadados do CRM Connect. Cada eixo aceita vários valores separados por vírgula (OR dentro do eixo, AND entre eixos), combináveis com a busca por texto.
CRM · Contatos
Perfil 360°
Comunicação
Campanhas
Disparos manuais por marca em todos os canais. O primeiro passo da criação é o canal: Email, App Push ou WhatsApp. Toda campanha exige um teste antes do lançamento e respeita opt-in, unsubscribes e supressões da marca.
Passo 1
Escolha os canais da campanha
Selecione um ou mais canais — a campanha dispara em todos com uma audiência, um agendamento e conteúdo por canal (B4A-4348). Um canal ainda não configurado é selecionável e validado no lançamento, com mensagem clara.
Email · Campanhas
Nova campanha
Cinco passos: marca, audiência, design, tracking e revisão. O lançamento só libera depois de um test send.
Passo 1
Escolha a marca remetente
A marca define o remetente, a audiência alcançável (opt-in por marca) e o grupo de unsubscribe da campanha. Não pode ser alterada depois de criar o rascunho.
Passo 2
Audiência: segmento salvo
Escolha um segmento salvo. O preview mostra quantos contatos são alcançáveis para a marca e por que os demais serão pulados.
Passo 3
Design do email (HTML)
MVP: cole o HTML completo do email. Merge tags disponíveis:
{{first_name}}, {{last_name}},
{{email}} e {{unsubscribe_url}}
(obrigatória em campanhas de marketing).
Preview ao vivo (merge tags com dados de exemplo)
Passo 4
Tracking (UTM)
Os parâmetros são adicionados a todos os links http(s) do HTML que ainda não os carregam (links de unsubscribe ficam de fora).
Passo 5
Revisão e lançamento
Confira tudo, salve o rascunho, envie o teste obrigatório para o grupo de teste escolhido (Configurações → Grupos de teste) e só então o lançamento é liberado.
Enquanto o domínio da marca aguarda verificação DKIM, o envio usa
automaticamente o remetente temporário verificado
(jan@b4a.com.br). O remetente da marca assume assim
que o DKIM verificar.
Um verificador roda a cada 5 minutos e dispara campanhas agendadas com as mesmas validações do lançamento manual.
Templates
Biblioteca de templates de email por marca. Rascunhos são editáveis e versionados; ao marcar como pronto, o template fica disponível no builder de campanhas (o HTML é copiado e a versão congelada ao vincular).
Marca
Template master
A casca da marca — logo, cores, botão e rodapé com cancelar inscrição — com um slot de conteúdo. Ao criar campanhas, escolha “Usar template master” e escreva assunto, título, texto e CTA por cima.
Criar
Novo template
A marca define o remetente e não pode ser alterada depois (duplique para mover). O template nasce como rascunho com um conteúdo inicial editável.
App Push
Templates de push
Título, corpo, imagem fixa de campanha (URL pública), deep link e payload para o app. Rascunhos são editáveis; só templates prontos entram em campanhas e jornadas.
Templates da Meta
Templates são criados e aprovados no Meta Business Manager; o Outsider só sincroniza e consome (somente leitura). Só templates aprovados entram em campanhas e jornadas. O sync roda em Canais → WhatsApp.
Email · Templates
Editar template
Domínio da marca aguardando verificação DKIM: o test send usa
automaticamente o remetente temporário verificado
(jan@b4a.com.br). O remetente da marca assume assim
que o DKIM verificar.
Histórico de versões
Cada salvamento de conteúdo gera uma versão imutável. Restaurar copia a versão antiga como uma NOVA versão — o histórico nunca é reescrito.
Blocos
HTML do email
Configurações do template
Variáveis
Digite {{ nos campos de texto, botão ou assunto
para inserir uma variável. Fallback:
{{first_name | amiga}} — sem valor e sem
fallback, a tag vira texto vazio no envio.
Preview
Preview renderizado pelo servidor com dados de exemplo.
Comunicação
Transacional
Catálogo de mensagens pontuais (one-shot) disparadas por
sistemas externos via definitionKey — e-mail
(ex.: confirmação e status de pedido) e WhatsApp (ex.: OTP
de cadastro). E-mails têm assunto e HTML editáveis aqui;
definições de WhatsApp apontam para um template aprovado no
Meta Business Manager. Diferente de
Jornadas (sequências multi-passo) e de
Canais (infraestrutura de envio). O seletor
de marca no topo filtra a lista.
Comunicação · Transacional
Editar e-mail transacional
Histórico de versões
Cada salvamento de conteúdo gera uma versão imutável. Restaurar copia a versão antiga como uma nova versão.
HTML do e-mail
Push (opcional)
Com título e corpo preenchidos, o envio M2M por
definitionKey também tenta um push para os
devices registrados da contata (exige opt-in de push;
best-effort — falha no push nunca afeta o e-mail). Merge
tags funcionam como no e-mail.
Variáveis (merge tags)
Use a sintaxe {{tag}} ou
{{tag | fallback}}. Fragmentos HTML
(order.items_html,
order.tracking_html e
recurrence.details_html são inseridos sem
escape (enviados pelos mailers). As demais tags são
escapadas no HTML.
Preview
Preview com dados de exemplo (mesmo render do envio).
Canais
Infraestrutura e saúde do canal de email por marca: remetentes, configuration sets SES, identidades/DKIM e métricas de entregabilidade. Use o seletor Brand no topo para filtrar. Para o catálogo de e-mails one-shot, use Comunicação → Transacional.
Configuração
Canal e remetentes
Remetentes de marketing e transacional, configuration sets SES e status de identidade/DKIM sincronizados no Outsider.
Saúde
Entregabilidade
Bounce e reclamações (eventos SES), uso da quota, reputação dos configuration sets, DNS/DKIM e supressões ativas. Alertas em vermelho marcam os limiares de suspensão do SES (bounce 5%, reclamações 0,1%).
Canais
WhatsApp Fase 1
Configuração do canal via Meta WhatsApp Cloud API direto (sem BSP). Templates ficam em Ativos → Templates; campanhas, webhooks e o envio nas jornadas chegam nas Fases 2–4 — ver docs/whatsapp.md.
Configuração
Provider e número
O token permanente de system user fica no GCP Secret Manager
(outsider-whatsapp-token) e os identificadores em
env vars — esta tela mostra se estão presentes e, quando
configurado, qualidade e limite de mensagens do número.
Envio de teste
Telefones de teste da marca
O envio de teste manda um template aprovado da Meta para os telefones do grupo de teste escolhido (E.164 com código do país). A lista abaixo edita o grupo Padrão da marca — gerencie outros grupos em Configurações → Grupos de teste. Não alcança contatos reais — campanhas e jornadas chegam nas Fases 2–4.
Canais
App Push
Configuração do canal de push notification por marca (glam
primeiro; Ella / GB / Mens com apps próprios depois).
Templates ficam em Ativos → Templates e campanhas em
Comunicação → Campanhas, incluindo o nó
send_push nas jornadas.
Configuração
Providers e devices
FCM (Android) e APNs (iOS). As credenciais ficam no GCP Secret Manager — esta tela só mostra se estão presentes e quantos devices estão registrados por marca/plataforma.
Comunicação
Jornadas
Automações por marca: um gatilho (segmento, transição RFTM ou evento) seguido de passos de mensagem, espera e condição. Todo nó de comunicação permite escolher o canal de saída (Email, App Push ou WhatsApp). O orquestrador roda a cada 5 minutos e respeita consent e supressões da marca em cada envio.
Começar de um template
Email · Jornadas
Nova jornada
Fluxo linear em cards empilhados: configure o gatilho e adicione passos. Uma condição abre dois caminhos (verdadeiro/falso) que seguem lineares até o fim.
Configurações da jornada
Nome, marca e semântica de consent
E-mails de teste da marca (grupo Padrão)
O envio de teste manda todos os passos de envio (email, push e WhatsApp, sem waits) para o grupo de teste escolhido ao lado do botão “Enviar teste”. A lista abaixo edita os e-mails do grupo Padrão da marca — gerencie outros grupos em Configurações → Grupos de teste. Não matricula contatos nem ativa a jornada.
Comunicação
Mensagens que a cliente recebe
Cada passo de envio desta jornada, com o texto completo. O nome do template abre o preview — não é preciso ir a Ativos → Templates.
Fluxo
Gatilho e passos
A ativação congela o snapshot do segmento do gatilho (membros atuais não disparam) e o orquestrador passa a rodar a cada 5 minutos.
Email · Jornadas
Monitoramento
Comunicação
Mensagens que a cliente recebe
O que esta jornada envia — Email, WhatsApp e App Push — com o texto completo. Clique no nome do template para abrir o preview.
Enrollments
Analytics por nó
Execuções por passo
Execuções recentes
Últimos passos executados
Configurações
Integrações
Todas as ligações do Outsider com sistemas externos num só lugar — Entrada (dados de contatos e feeds de conteúdo que chegam) e Saída (dados que o Outsider envia ou expõe para outros sistemas).
Sistemas
Integrações de sistema
Pushes, M2M e gatilhos externos — catálogo somente leitura, documentado a partir do código.
Contatos Entrada
Fontes de dados
Review every connected, planned, and blocked dataset feeding Outsider, plus the safe sync action currently exposed from the app.
Last actualization
Loading freshness…
Conteúdo Entrada
Conexões de conteúdo
Fontes externas de onde o Outsider puxa assets, por marca — ex.: um catálogo de produtos (HTTP/JSON) para usar dados dinâmicos de produto em campanhas e jornadas. Credenciais ficam no Secret Manager; a conexão guarda apenas a referência (nunca o segredo).
Criar
Nova conexão
Configurações
Grupos de teste
Grupos por marca com e-mails e números de WhatsApp que recebem os envios de teste — jornadas (email, push e WhatsApp), campanhas de e-mail e push, mensagens WhatsApp e transacionais. Membros cujo e-mail corresponde a um contato com dispositivos push registrados também recebem o teste de push ("dispositivos push: N"). O grupo Padrão é usado quando nenhum grupo é escolhido.
Grupos da marca
Selecione um grupo
External access
MCP Access — long-lived API tokens
Generate a personal Outsider API token so the Outsider MCP server keeps working in Claude or Cursor without refreshing a Firebase login every hour. Tokens are read-only by default; optionally add campaign write (email:marketing) to build segments, templates, campaigns and journeys, and/or WhatsApp channel (whatsapp:marketing) to sync templates and send standalone WA tests. Tokens are tied to your @b4a.com.br account and can be revoked any time.
Create a token
Generate a new token
Name it after the machine or tool that will use it (e.g. "Cursor on my laptop"). The secret is shown only once.
Copy this token now — it will not be shown again. Treat it like a password.
Your tokens
Active & past tokens
Only metadata is shown — the secret itself is never stored and cannot be retrieved.
Setup
Connect Claude or Cursor
Add this to ~/.cursor/mcp.json (Cursor) or your
claude_desktop_config.json (Claude Desktop),
replacing the path and pasting your token into
OUTSIDER_API_TOKEN. Then restart the client.