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 · Contatos
Perfil 360°
Campanhas
Disparos manuais de email por marca. Toda campanha exige um test send antes do lançamento e respeita opt-in, unsubscribes e supressões da marca.
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 seu email 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).
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.
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 e-mails pontuais (one-shot) disparados por
sistemas externos — por exemplo confirmação e status de
pedido. Edite assunto e HTML aqui; o envio real
(definitionKey) usa o conteúdo salvo.
Diferente de Jornadas (sequências
multi-passo) e de Canais → Email
(remetentes, domínios e SES). 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
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
Configuração e envio via WhatsApp ainda não estão disponíveis no Outsider.
Em breve
Canais
App Push
Configuração e envio de push no app ainda não estão disponíveis no Outsider.
Em breve
Jornadas
Automações de email por marca: um gatilho (segmento, transição RFTM ou evento) seguido de passos de envio, espera e condição. 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
O envio de teste manda todos os passos “Enviar email” (sem waits) para esta lista — máx. 10, apenas @b4a.com.br ou @b4a.ai. Não matricula contatos nem ativa a jornada.
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
Enrollments
Analytics por nó
Execuções por passo
Execuções recentes
Últimos passos executados
Configuration
Data download sync overview
Review every connected, planned, and blocked dataset feeding Outsider, plus the safe sync action currently exposed from the app.
Last actualization
Loading freshness…
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 the campaign write scope (email:marketing) to build templates, campaigns and journeys via MCP. 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.