Received messages, subscription, and WhatsApp groups GA
Improvements
Workspace settingsThe workspace settings Channels tab is now Received messages. Billing transactions live under Subscription. Trust Factor and panel customization live under Settings.WhatsApp groups GAGroup features are no longer experimental. No workspace flag required. Still required: unofficial instance +whatsapp:groups scope (and allowGroupChats for inbound).Shareable link, WhatsApp, and per-channel templates
Remote channel onboarding, a clearer WhatsApp API, and template sends on each channel route.
New features
Shareable link to connect instances- WhatsApp, Telegram (user mode), and Instagram:
generateShareableLink: trueon create returns a link for the end user to finish connection in the browser, no QR or Meta login on your server. - Telegram (user mode): create already starts QR and returns
connection.base64/loginUrl. - Instagram: without
authon create, generates aPENDINGdraft + remote login link. - Link management via API:
GET/POST .../instances/{id}/connect-page(status, enable, rotate secret, disable).
- On WhatsApp, SMS, email, push, Telegram, Instagram, RCS, and voice:
type: "template"+payload.templateIdsends only that channel’s slice of the template. - Official WhatsApp: requires a Meta-approved template; QR connection: simple session content (no Meta header or buttons).
- Multi-channel fan-out remains on
POST /v1/templates/send.
Improvements
WhatsAppmodefield on instances:UNOFFICIAL(QR) orOFFICIAL(Embedded Signup). List, get, and create returnmode.- Official with shareable link: omit Meta fields in the payload and use the flag to create a draft; the customer finishes on the link.
- Official send: token, template, and media validation before queueing, with clear errors (
META_TOKEN_EXPIRED,META_PERMISSION_DENIED,TEMPLATE_NOT_ALLOWED_FOR_INSTANCE). metaNameon official templates: name used on send (sync fills it automatically).- Sandbox (
sk_test_): WhatsApp sends and templates do not call Meta or mark the real line as disconnected. - Embedded reconnect:
ALREADY_CONNECTEDonly when the line is active with a valid token. - Rotating the link secret invalidates the previous link.
Official WhatsApp (Cloud API) and message detail
Official WhatsApp (Cloud API via Tech Provider) is live, with Embedded Signup in the dashboard. Same cycle: per-channel settings, inbound audio transcription, and a clearer message detail view (tabs + structured preview).
New features
Official WhatsApp, Embedded Signup (OFFICIAL)In the instance wizard you choose Official or Unofficial (QR). Official numbers connect through Meta (login in the dashboard), no manual token paste.- Dashboard: WhatsApp → New instance → Official → Embedded Signup (WABA + number).
- API:
mode: "OFFICIAL"onPOST /v1/whatsapp/instances(Embedded Signup; when the feature is enabled in the environment). - Meta bills conversations on the customer’s account; Notifique charges only the platform software fee (see billing table in the docs).
- An active payment method in WhatsApp Manager is required. Without it, sends are blocked with
META_PAYMENT_METHOD_REQUIRED. - Outside the 24-hour window, only an approved official template; inside the window, session text/media.
- Bring-your-own credentials (
OFFICIAL_BYOK) are secondary for onboarding, prefer Embedded Signup (OFFICIAL).
- Catalog lives on the WABA (numbers on the same account share templates).
- Pull/push sync with Meta; status via webhook (
APPROVED,PENDING,REJECTED, …). - Internal Notifique templates stay
source: ZENVIO; official ones usesource: WHATSAPP_OFFICIAL. - APPROVED Meta templates: edit limit 1× per 24h and 10× per 30 days (Meta rule).
- Channel settings shortcut on WhatsApp (and other channels): instance overview and inbound receive / persist / webhook controls, aligned with the workspace Received messages tab.
- In the Inbox and inbound message detail: transcribe audio (WhatsApp, Telegram, Instagram) on demand, billed in credits.
- Optional auto-transcribe in the user’s inbound settings.
Improvements
Message detail (WhatsApp, Telegram, Instagram, SMS, email, push, RCS, and voice)- Below the timeline: Message / Metadata / Events tabs (compact segmented control, no wrapping card).
- Message, content and edit/reply history.
- Metadata, request metadata (and provider payload when available).
- Events, webhook deliveries triggered by that message (with a link to the delivery).
- Structured message preview (template, buttons, list, interactive replies) on WhatsApp outbound and inbound detail.
- Expired or invalid Meta token: instance becomes DISCONNECTED and the dashboard prompts reconnect.
- Shared connection links keep the line’s same reconnect mode (Embedded Signup or legacy token).
- Cloud API does not edit or delete an already-sent message: API returns
META_MESSAGE_EDIT_UNSUPPORTED/META_MESSAGE_DELETE_UNSUPPORTED; the dashboard hides Edit/Delete on official lines.
Inbound media, WhatsApp, Telegram, and Instagram
Download received media in the inbox, detail screen, and v1 API across channels. Files remain on-demand from the provider (no permanent blob storage).
Improvements
WhatsApp- Inbound download now includes video and sticker (in addition to image/audio/document) via QR / unofficial.
- Endpoints:
POST /v1/whatsapp/messages/inbound/{id}/mediaandGET .../media/download.
- New endpoints:
POST /v1/telegram/messages/inbound/{id}/mediaandGET .../media/download(telegram:read). GET .../inbound/{id}now returnscontentPreviewandmediaFetch.- Types: image, audio, video, document, sticker. Bot uses
getFile; User uses MTProtodownloadMedia.
- New endpoints:
POST /v1/instagram/messages/inbound/{id}/mediaandGET .../media/download(instagram:read). GET .../inbound/{id}includescontentPreviewandmediaFetch.- Types: image, video, and audio/voice (URL from payload; voice with aiograpi fallback).
Email, RFC 8058 one-click unsubscribe
Marketing sends now include
List-Unsubscribe / List-Unsubscribe-Post headers (Gmail/Yahoo). One-click unsubscribe is honored on POST (market practice).Improvements
RFC 8058 by default- MARKETING templates (headers always; HTML footer still optional via
appendPreferencesLink), campaigns, and automations. POST /v1/email/messages: on by default when the recipient is a contact; uselistUnsubscribe: falsefor transactional mail.- Public endpoint: GET confirms only (no mutation, avoids scanners); POST applies opt-out (
List-Unsubscribe=One-Clickor form). - Invalid topic in the URL does not fall back to global opt-out; invalid
listUnsubscribeTopicIdon the API returns 400INVALID_LIST_UNSUBSCRIBE_TOPIC. - Guide: One-click unsubscribe (RFC 8058). Error: Error responses.
API v1, standardized errors on all endpoints
All API v1 routes now return errors with Docs: Error responses (208 public codes), Welcome, each channel OpenAPI (
error, message, and code (stable enum). Messages may be localized via Accept-Language or x-locale. No breaking change on success routes, only error payloads are more predictable.Improvements
Uniform errors across API v1- ~1,150
success: falseresponses reviewed across WhatsApp, Instagram, SMS, email, Telegram, push, RCS, voice, webhooks, CRM, contacts, templates, automations, short links, and more. - Required error fields:
error(HTTP label),message(human-readable),code(enum). - Global middleware:
UNAUTHORIZED,API_KEY_EXPIRED,API_KEY_REVOKED,RATE_LIMIT_EXCEEDED,ONBOARDING_REQUIRED,WORKSPACE_HEADER_NOT_ALLOWED. - New common business codes:
WEBHOOK_NOT_FOUND,EMAIL_DOMAIN_NOT_FOUND,INSTANCE_CAPACITY_FULL,VOICE_*,NO_MEDIA,DOWNLOAD_FAILED, etc. - POST /v1/report (FELCA reports) and WhatsApp inbound media download now include
codeon all errors.
POST /v1/email/domains/:id/verify)- DNS pending: HTTP 200,
success: true,verified: false,code:EMAIL_DOMAIN_DNS_PENDING - Verified:
EMAIL_DOMAIN_VERIFIED - DNS failed:
EMAIL_DOMAIN_VERIFY_FAILED - HTTP errors with localized
messageand specificcode
ErrorResponse schema with required code).Email and WhatsApp, API v1
Two releases on the same day: a new WhatsApp endpoint to download inbound media via API, and clearer error messages when registering an email domain. Nothing breaks in existing flows, on failure, use the Suggested flow: check
code field to decide what to do next.New features
WhatsApp, inbound media downloadYou can now download image, audio, or document from an inbound message via API, same flow as the dashboard (Inbox and message detail).GET /v1/whatsapp/messages/inbound/{id}/media/download, returns the binary file withContent-TypeandContent-Disposition(ideal forcurl -oand scripts).POST /v1/whatsapp/messages/inbound/{id}/media, empty body; returns JSON withdata.base64(ideal for in-memory integrations).- Type (
image|audio|document) is inferred server-side fromcontentPreview. - Scope: whatsapp:read (honors API Key
instanceIds). - Requires an active unofficial (QR) instance.
mediaFetch.fetchable on GET /v1/whatsapp/messages/inbound/{id}, then use GET (file) or POST (base64). URLs in contentPreview.mediaUrl are ephemeral and do not replace these endpoints.Docs: WhatsApp introduction, API Key scopes, OpenAPI.Improvements
Email, clearer errors when registering a domainBefore, a provider failure (ZeptoMail / SES) could show up only as a generic 502. The response now includes a readablemessage, code, and a more appropriate HTTP status, in the client locale (Accept-Language / x-locale).- Success (200) and the DNS records payload are unchanged.
- On error, prefer handling by
code(usemessagefor end-user display). - Provider antispam blocks now return 422 instead of 502.
Existing codes (
PLAN_LIMIT_EMAIL_DOMAINS, WORKSPACE_BLOCKED) are unchanged.Docs: Email API, OpenAPI, Error responses.Instagram, anti-suspension protections
New rules for unofficial Instagram instances: reduce suspension risk from reconnect loops or high volume on new accounts. Success routes and responses are unchanged, only new fields and codes when blocked.
Improvements
Anti-suspension protections (unofficial connection)expectedUsername(optional) on POST /v1/instagram/instances- GET /v1/instagram/instances/:id exposes
lockedUsername,lockedIgUserPk,reconnectBlockedUntil,abusePausedUntil,firstConnectedAt, andwarmup(active,dailyLimit,sentToday,daysRemaining) - Account lock: one instance = one username after first login. Switch accounts by creating a new instance.
- 12 h cooldown after involuntary disconnect + max 3 logins/hour. Manual disconnect via API does not apply cooldown.
- Abuse pause when Instagram signals rate-limit / restriction.
- Warm-up: up to 15 DMs/day for the first 5 days (new instances only).
Integration notices
On error, handle bycode (and use retryAfterSec when you get 429). Do not reconnect in a loop after a drop, wait for cooldown or create a new instance.Docs: Anti-suspension policy, Quick Start, Error responses.
WhatsApp, anti-ban protections
Same idea as Instagram, now on WhatsApp (unofficial QR connection): less ban risk from aggressive reconnects or swapping SIMs on the same instance. No breaking route changes, additive fields and codes.
Improvements
Anti-ban protections (unofficial connection)expectedPhoneNumber(optional) on POST /v1/whatsapp/instances, validates the number on first pairing.- GET /v1/whatsapp/instances/:id exposes
lockedPhoneNumber,reconnectBlockedUntil, andwarmup(active,dailyLimit,sentToday,daysRemaining). - Permanent lock: one instance = one number after the first connection. Change SIM by creating a new instance.
- 6 h cooldown after involuntary disconnect (ban, dropped session). Manual disconnect via API does not apply cooldown.
- Warm-up: up to 20 messages/day for the first 3 days after
firstConnectedAt(new instances only).
Integration notices
Docs: Anti-ban policy, Quick Start, Error responses.
Canonical send contract, unified across channels
We standardized the send format across all channels for multi-channel integrations. Legacy shapes still work, but migrating to the canonical contract is recommended when you can.202 response:
Improvements
Canonical send contracttois always an array, never a string. Maximum 100 recipients per request.statusis always UPPERCASE,QUEUED,SCHEDULED,SENT,DELIVERED,FAILED.messageIdsis the canonical response field. Channel aliases (smsIds,emailIds, etc.) remain for compatibility.
New features
- GET /v1/rcs/messages, RCS message listing.
- POST /v1/notify, multi-channel send in one call (includes Instagram).
- POST /v1/templates/send, Instagram channel support (
instagram.instanceId). - Notifique MCP, new tools for RCS, Voice, and Instagram Direct.
Compatibility
Previous shapes are still accepted: flat fields on SMS/Email/Push,messageType on RCS, speak/playAudioUrl on Voice.Documentation updated: quick-starts for all channels, template-api, guides/webhooks, and mcp-notifique.Instagram Direct and API Key scopes
A big launch day: Instagram Direct joined the platform. On the same day, the API Keys screen started showing scopes that were easy to miss before (RCS, conversions, groups).
New features
Instagram Direct, new channelConnect an account, send DMs from the dashboard or API, edit sent text, manage comments, and receiveinstagram.* webhooks.- Login with username and password (2FA / challenge when required);
acceptInstagramTermsrequired. - Content: text and media via HTTPS URL (image, video, audio, document).
- Edit messages (up to 1000 characters, 15 min, 5 edits) and unsend when allowed.
- Comments: list, reply, and delete (
instagram:comments:reply,instagram:comments:moderate). - Scopes:
instagram:send,instagram:read,instagram:cancel,instagram:update,instagram:delete, and instances.
Improvements
API Keys, RCS, conversions, and groups scopesIf your integration uses RCS or Smart Links, review the key and add the scopes below to avoid 403.- RCS:
rcs:send,rcs:read,rcs:cancel - Conversions (Smart Links):
conversions:manage - WhatsApp groups:
whatsapp:groups(with add-on enabled) - Instagram:
instagram:updatealongside other Instagram scopes
Segments: platform fields, topics, and typed ops
More powerful segments
The segment DSL gained new rule types and typed operators. You still useversion: 1, match, and up to 32 rules, but the filter set is larger.New rule types
contactField: platform fields (name,phone,email,url,telegramPeer,languages,hasPhone,hasEmail,hasUrl,hasTelegram)topic: subscribed or not to a topic (topicId+subscribed)- Still available:
tag,property(custom fields), andreceiveMarketing
Typed operators (op)
On property, use op according to the field type (STRING, NUMBER, BOOLEAN, DATE), including containsOneOf for several cities/values in one rule.Legacy valueMatch: "exact" | "contains" still works; prefer op in new integrations.Preview
Segment preview remains paginated (max 500 per page) and may settotalCapped when the estimated total hits an internal ceiling.Docs: Audience segments.Phone numbers and Voice API
New channel: voice and phone numbers
Lançamos Números de Telefone e a Voice API no Notifique: contrate números no painel, faça e receba ligações, e integre discadores, URAs e confirmações por telefone à sua stack.Phone numbers
- Contratação pelo painel: busque números disponíveis por país/DDD, reserve e pague a mensalidade recorrente
- API v1:
GET /v1/phone-numbers,GET /v1/phone-numbers/available,GET /v1/phone-numbers/{id}ePATCH /v1/phone-numbers/{id}para consultar e configurar voz de entrada - Comportamento inbound: encaminhar (
FORWARD), TTS e desligar (TTS_HANGUP), rejeitar, caixa postal ou controle via webhook (WEBHOOK_CONTROL) - Escopos:
phone_numbers:read,phone_numbers:update
Voice API
- Originar chamadas:
POST /v1/voice/callscom TTS, áudio por URL, coleta DTMF, gravação e detecção de caixa postal - Acompanhar:
GET /v1/voice/callseGET /v1/voice/calls/{id}(comincludeEvents=true) - Controlar sessão:
POST /v1/voice/calls/{id}/actions/{action}(speak,play,gather,transfer,record-start,record-stop,dtmf,hangup) - Gravações: download via
GET /v1/voice/calls/{id}/recordings/{recordingId}/download - Escopos:
voice:call,voice:read,voice:control - Cobrança: por minuto de voz (pague pelo uso ou créditos do plano)
Webhooks
Novos eventos disponíveis no painel:- Chamadas:
voice.call.initiated,voice.call.received,voice.call.ringing,voice.call.answered,voice.call.completed,voice.call.failed,voice.call.dtmf,voice.call.gather.ended,voice.call.recording.ready,voice.call.machine.detected - Números:
phone_number.activated,phone_number.past_due,phone_number.suspended,phone_number.released
Unified inbox and required API Key scopes
Two topics on the same day: the Inbox became a real support hub, and new API Keys must declare explicit scopes (with a deadline to migrate legacy keys).
New features
Unified inbox with team queue managementOne inbox for WhatsApp, SMS, Telegram, and the AI widget, with queue, assignee, metrics, and AI summary. Email stays outside the Inbox (real-time messaging focus).- Single queue with status (Open, Pending, Resolved), assignee, and channel filters
- Assign conversations manually or automatically; resolve and reopen
- Routing: automation/AI, waiting for teammate, or active human
- Metrics: first response, resolution, unassigned conversations
- Reply with text, template, or image URL; side panel with AI summary and contact link
Improvements
API Keys, required scopes on creationNew keys require at least one scope (e.g.whatsapp:read, sms:send). You can no longer create a blank “full access” key from the dashboard.Notices
Legacy keys with empty scopes (full v1 access) work until July 1, 2026 (Brasília time). After that, they return 403. Create a new key with minimal scopes or edit the existing one.- Settings → API Keys → new key with required scopes.
- Switch your app and revoke the old key when stable.
- Or Edit the current key and set scopes explicitly.
Referrals, campaigns, and Smart Links
A growth and CRM day: referral program, richer campaigns, checkout coupons, extra instances, and conversion tracking on links.
New features
Referral programRefer and earn 15% commission for 12 months; signups via your link get 10% off the first 3 months. Dashboard under Settings → Billing (/dashboard/affiliate).Extra instances (add-on)Need more WhatsApp or Telegram? R$ 7.90/month per slot (+1 of each channel), up to 20 slots. Add-ons → Extra instances.Smart Links and conversionsShort links evolved: automatic UTMs on redirect, conversion pixel, and POST /v1/conversions API to close the message → click → sale loop.Improvements
Campaigns in the CRM- Schedule sends (
scheduledFor) and cancel schedules - Richer list with readable statuses and sent · delivered · failed summary
- KPIs, per-channel funnel, timeline, and recipient list (dashboard and API)
- Automatic UTMs (
utm_campaign,utm_content) on campaign links
Sending Pools on WhatsApp
Multiple numbers working together
Para operações com volume alto no WhatsApp, você pode agrupar instâncias num pool de envio e distribuir mensagens entre os números: reduzindo risco de bloqueio e equilibrando carga.- Estratégias de distribuição: rodízio, por peso (números “mais fortes” mandam mais) ou menor uso (quem enviou menos hoje é o próximo)
- Proteções automáticas: pausa por falhas consecutivas (circuit breaker), cooldown entre lotes, limite diário por número e monitoramento de saúde no painel
- Retrocompatível: se você escolher
instanceIdou número específico na API ou no painel, nada muda; sem número definido, usa o pool padrão do workspace - Campanhas: escolha um pool no editor para distribuir todos os destinatários entre os números do grupo
Enterprise CRM and pipeline (kanban)
Richer contact profile
A página de detalhe do contato ganhou abas dedicadas para operação de vendas e atendimento:- Visão geral: dados, tags, tópicos, segmentos e inteligência operacional
- Timeline: histórico cronológico unificado: envios e recebidas (WhatsApp, SMS, e-mail, Telegram, widget web), automações, notas, tarefas, mudanças no funil e insights de IA
- Notas: anotações internas da equipe, com opção de fixar as mais importantes
- Tarefas: follow-ups com título, prazo, responsável e status (aberta/concluída)
- Conversas: todas as threads do inbox ligadas ao contato, com link direto para cada uma
AI relationship profile
Gere um snapshot narrativo do contato com botão “Atualizar perfil IA”: saúde do relacionamento, estágio do ciclo de vida (Novo, Ativo, Em risco, Inativo, Campeão), satisfação, comportamentos, tendências, melhores horários para contatar e recomendações práticas. Há também chat de IA sobre o contato (“próximo passo?”, “risco de churn?”).Kanban pipeline
Novo módulo em Funil (/dashboard/pipeline): quadros de vendas, suporte ou personalizados com colunas editáveis (arrastar cards). Cada card é uma oportunidade ligada a um contato, com título, valor, prazo e responsável. O painel lateral mostra o contato, tarefas e notas; mudanças de estágio ficam registradas na timeline do contato. Dá para criar oportunidade a partir da ficha do contato.MCP integrations for the assistant
Connect Gmail, Outlook, Drive, and more to the assistant
Na aba MCP (em Automações), você conecta serviços externos sem programar:- Gmail, Google Calendar, Google Drive (OAuth)
- Outlook (e-mail e calendário), SharePoint, Microsoft Teams, Dropbox
- Servidor MCP customizado (HTTPS) com token ou headers próprios
Approval checkpoint in flows
Novo passo no editor de automações para marcar no fluxo que antes de ramos com ferramentas que alteram dados externos a equipe deve aprovar manualmente. É um marco documental (com nota interna opcional) para processos aprovados fora da plataforma: não pausa a execução nem pede clique de aprovação dentro do produto.Docs: Automations introduction and Assistants.AI widget for your website
AI chat in the corner of your site
Novo add-on Chat com IA (Add-ons → Chat com IA): um widget embeddável que responde visitantes com base no assistente e na base de conhecimento que você configurou.- Instalação simples: copie o snippet
<script>do painel e cole no site; preview ao vivo enquanto personaliza cores, posição, textos de boas-vindas e perguntas sugeridas - Domínios autorizados: o widget só funciona nos hosts que você permitir
- Identificação do visitante: modos anônimo, opcional (nome/e-mail/telefone) ou obrigatório; quem preenche vira contato no CRM automaticamente
- Verificação por código OTP: opcional: envia código de 6 dígitos por e-mail, SMS ou WhatsApp antes de liberar a conversa (consome créditos de envio)
- Login no site (HMAC): se o visitante já está logado no seu site, o backend pode assinar a identidade sem formulário nem OTP
- Handoff humano: conversas entram no Inbox como canal Widget IA; pode transferir para atendente; visitante pode disparar automações
Smart onboarding and plan rules
Onboarding that understands your business
Novo passo “Sobre o negócio” no onboarding: informe nome da empresa, site e descrição (ou pule). A IA analisa o site/descrição e gera um perfil com resumo, tipo de negócio e sugestões de templates e automações: atalhos prontos para começar rápido.Na central do dashboard, o widget “Sugestões para o seu negócio” mantém essas recomendações visíveis enquanto o workspace está em fase inicial.Clearer instance limits and plan expiration
- Limites por canal: WhatsApp e Telegram têm cotas separadas (ex.: Pro = 2 de cada); o wizard de criação de instância e a página de planos deixam isso explícito
- Expiração automática: quando a assinatura paga expira, o workspace é rebaixado automaticamente (sem depender de ação manual)
- Data de expiração visível:
planExpiresAtaparece na assinatura e nas configurações do workspace, com mensagens de trial/período de teste na página de assinatura - Ao tentar exceder o limite do plano, o bloqueio é claro na API e no painel
WhatsApp inbox, usage ledger, and WA tools
Sync WhatsApp history
In Inbox WhatsApp conversations, “Sync conversation” imports up to ~30 recent messages from the connection, including messages sent from the phone that did not go through the platform. Imported messages show origin “From phone”. You can load media on demand (image, audio, document, video) when the preview was incomplete.Reply with more tools in the inbox
- Templates (WhatsApp, SMS, Telegram) com preview de variáveis: enviar direto ou colocar no campo de texto
- Imagem por URL (WhatsApp e Telegram)
- Tags IA padronizadas no painel lateral (ex.: “cliente frustrado”, “alta intenção”)
Detailed credits and balance ledger
Substituímos a visão antiga de “uso de créditos” por um extrato completo (workspace credit ledger): cada envio e consumo registrado com canal, valor e se foi cobrado em créditos de plano ou saldo pré-pago: mais transparência para entender onde o orçamento vai.WhatsApp Link tools
Extra tools in the dashboard for compatible WhatsApp instances:- Ajustar privacidade da conta (último visto, foto, grupos etc.)
- Importar contatos da agenda WhatsApp para o CRM
Automations: webhooks, signals, and numeric conditions
Webhook per automation
Cada fluxo pode ter um URL público e um segredo próprios. Sistemas externos (CRM, e-commerce, ClickUp etc.) enviam um POST com o JSON deles; você mapeia campos do payload (ex.:task.status) para usar em condições e passos seguintes. Opcionalmente mapeia contato por ID, e-mail ou telefone.Wait for signal and richer conditions
- Esperar sinal: o fluxo pausa até acontecer algo: e-mail aberto, recibo de leitura no WhatsApp ou evento registrado da automação, com ramo de timeout opcional (ex.: “mandou e-mail → espera abrir → manda follow-up”)
- Condições numéricas: além de “igual” e “contém”, compare números com maior que, menor que, maior ou igual, menor ou igual (valores de pedido, quantidades, scores)
- Gatilho por mensagem recebida: automações disparam quando chega mensagem inbound (WhatsApp, Telegram etc.), não só por eventos internos
CRM: advanced filters and properties
Find contacts with precision
A página de Contatos e a API v1 ganharam filtros avançados:- Por tópicos (
topicIds), segmento (segmentId) e propriedades customizadas (propertyFilters) - Filtros por marketing, presença de URL/Telegram e combinações de regras
- UI de filtros avançados no painel com busca segmentada, feedback visual de carregamento e colunas configuráveis
Email editor closer to original HTML
O editor de templates de e-mail passou a preservar o HTML original de campanhas de marketing: imagens inline, estilos e estrutura mantidos com melhor compatibilidade.Per-workspace AI: knowledge bases and assistants
Knowledge bases (RAG) per workspace
Crie bases de conhecimento, faça upload de documentos e use o conteúdo em automações e assistentes. O assistente responde com base no que você subiu: políticas, catálogos, FAQs, manuais.Configurable assistants
Em Automações → Assistentes, configure assistentes com instruções próprias, bases vinculadas e chat de teste no painel. Novo passo “Assistente IA” nos fluxos de automação: responde conversas inbound usando RAG e histórico da sessão, com suporte a conversas multi-turno.A página de Automações ganhou abas Bases de conhecimento e Assistentes. Várias listagens do dashboard passaram a ter visualização tabela/cards responsiva.Docs: Automations introduction.Platform assistant, proxy, and audience tags
AI assistant in the dashboard
Novo assistente de IA no painel lateral: converse em threads e peça para executar ações no workspace: listar/criar contatos, enviar WhatsApp, gerenciar instâncias, criar API keys etc. QR codes e chaves geradas aparecem inline na conversa.More stable connections
Proxy residencial dedicado (automático para workspaces elegíveis) na criação de instâncias WhatsApp e Telegram: melhora estabilidade sem ação manual.CRM and campaigns
- Nova aba Tags de audiência no CRM para criar e gerenciar tags de contatos
- Confirmação antes de disparar campanha, com preview da audiência
- Preview rico de mensagens WhatsApp recebidas (texto, mídia, botões) na API e na tela de detalhe do inbound
- Editor de templates mais capaz (comandos
/, sidebar, canvas por canal) - Página de contatos reorganizada com melhor UX de listagem e filtros
Updated WhatsApp and dashboard in 3 languages
More stable WhatsApp connection
When creating a WhatsApp instance via QR, the full connection, disconnection, groups, and messaging flow was improved. When available in the workspace, you choose the connection model in the wizard.The instance creation wizard was redesigned with a connection model step.Dashboard in Portuguese, English, and Spanish
Internacionalização ampla do dashboard: textos de onboarding, CRM, envios, webhooks, configurações e demais telas seguem o idioma do workspace/usuário. Mensagens de erro da API também são localizadas conforme o locale configurado.Short links (clicar.co) on all channels
Track clicks on links you send
Agora o Notifique pode encurtar automaticamente os endereços http/https que aparecem nas suas mensagens da API v1, quando você liga a opção no workspace. Isso vale para SMS, WhatsApp, Telegram, e-mail, RCS e push.Você continua escrevendo a mensagem como sempre; o sistema troca os links longos por links no domínio clicar.co, sem mudar o restante do texto. Assim fica mais fácil medir quantas pessoas clicaram, com estatísticas no painel e na API.What you need to do
- Em Configurações do workspace, ative links curtos e, se quiser, marque converter links automaticamente nos envios.
- No add-on de links curtos, você também pode criar links na mão e ver a lista dos mais recentes.
Webhook when someone clicks the short link
Se você cadastrou um webhook e marcou o eventoshort_link.clicked, o Notifique avisa seu endpoint cada vez que um clique for registrado (depois de salvar no analytics). No JSON vêm o id do clique, o link, a URL de destino, país/dispositivo quando der para inferir, UTM e hash do IP (sem enviar o IP em texto puro). Assim você integra com CRM, anti-fraude ou relatórios sem ficar consultando a API em loop.Status CLICKED no envio (além do e-mail)
Com links curtos e atribuição por envio, o primeiro clique em um link clicar.co daquela mensagem pode marcar o registro do canal comoCLICKED (e preencher clickedAt), como já acontecia no e-mail com o provedor. Isso vale para WhatsApp, SMS, Telegram, RCS e push (no push, o clique na notificação continua sendo o fluxo push.clicked pelo endpoint do service worker; o link curto dentro do texto segue o rastreamento interno).Para integrações, além de short_link.clicked (analytics), passamos a oferecer eventos por canal quando o clique atualiza o envio: message.clicked, sms.clicked, telegram.clicked, rcs.clicked e email.clicked (este último também pode vir do ZeptoMail). Ative no painel os nomes que o seu endpoint precisa.Na Caixa sandbox, use a simulação Clicked (short link) onde o canal suporta, para receber o mesmo webhook de produção com sandbox: true.Sandbox (sk_test_, Sandbox inbox) and automation editor improvements
Sandbox mode launched in API and dashboard
Agora você integra e testa com chavessk_test_: são os mesmos endpoints /v1 da produção, mas sem envio real para Meta, SMS, e-mail, push ou RCS. Tudo que você dispara em sandbox aparece na Caixa sandbox (menu Developer), com até 50 mensagens por dia (UTC) por workspace, 7 dias de retenção e agendamentos que você libera no painel com Release now.Os webhooks continuam com os mesmos nomes de evento da produção e passam a incluir sandbox: true no payload para filtrar teste x produção no mesmo endpoint.Publicamos também guia na documentação e artigo no blog para explicar em linguagem simples como criar a chave, quando usar sandbox e o fluxo de homologação.- Documentação: Sandbox mode
- Blog: Ambiente sandbox: testar integração sem enviar SMS (nem e-mail) de verdade
Richer, more predictable flow editor
No painel de automações ganhamos passos e regras que deixam jornadas mais claras e mais seguras de editar:- Encerrar fluxo (
endFlow): passo terminador: não envia nada e não tem saída; serve para fechar um ramo (por exemplo “senão” de uma condição) sem pendurar mais nada. O motor grava o passo como concluído e segue a regra normal de fim de run quando não há mais passos pendentes. - Condição em gatilho por mensagem recebida: quando o gatilho é inbound (WhatsApp, Telegram ou SMS), a condição compara o texto da mensagem (
body/bodyPreview/preview) com operadores como igual, contém, começa com, etc. Não há “fonte evento vs contato” nesse modo: só o texto recebido. Em gatilho por evento da API, a condição continua podendo olhar payload do evento ou dados do contato (com campo / path obrigatório). - Condição dentro de condição: dá para colocar outra condição a partir do + do ramo Verdadeiro ou Falso (antes o painel só permitia passos “lineares” ali). Isso permite regras mais granulares em sequência.
- Sempre dois ramos: depois de apagar passos (por exemplo uma condição intermediária), o editor garante que cada condição continue com saída Verdadeiro e Falso; se faltar um lado, volta a aparecer o placeholder (+) para você escolher o próximo passo: evita fluxo “quebrado” com só um braço.
- Esperas curtas corretas: ajuste no motor de filas para delays não serem executados antes da hora. Hoje o agendamento respeita o horário devido com promoção periódica da fila de automação.
Push: Pay-as-you-go price (R$ 0.01)
Cheaper push sends on BRL balance
No Pague pelo uso (débito em centavos de saldo), cada envio de push passou a custar R 0,05). Créditos de plano seguem 1 crédito por push, como antes. Demais canais no avulso (SMS, e-mail, WhatsApp, Telegram, RCS) não mudaram.Automations: dashboard, API v1, and journeys
A full automation ecosystem
O Notifique passa a oferecer automações de ponta a ponta: no painel você monta e acompanha fluxos com um editor visual; na API v1 você pode criar, listar e atualizar automações, disparar eventos que iniciam ou alimentam esses fluxos e integrar tudo ao seu produto ou CRM: sem ficar preso só à interface. O mesmo desenho de jornada vale para quem prefere clicar e para quem prefere automatizar por código.Cada fluxo começa a partir de um evento (por exemplo alguém novo na base ou um evento que o seu sistema envia para o Notifique). Os passos podem incluir enviar e-mail ou outras mensagens, esperar um tempo, atualizar dados do contato e dividir o caminho quando uma condição for verdadeira ou falsa.Isso ajuda a acompanhar a pessoa no tempo certo, com mensagens alinhadas ao que ela fez ou ao que você já sabe sobre ela no Notifique: seja configurando no painel ou orquestrando pela API junto com o restante da sua stack.Everyday examples
- Boas-vindas e depois dicas: Envie um e-mail de boas-vindas assim que o evento acontecer e, alguns dias depois, outro e-mail com dicas. Basta colocar um passo de espera (por exemplo 3 dias) entre os dois envios.
- Conteúdo diferente por plano: Use uma condição em cima de um dado do contato ou do evento (por exemplo plano gratuito ou pago) e ramifique o fluxo: um caminho envia um tipo de mensagem, o outro caminho envia outro: cada público recebe o que faz sentido.
- Só avançar depois da integração: Monte a sequência para que a próxima mensagem só venha depois que a pessoa tiver tempo de concluir um passo importante (como terminar a integração). Você combina esperas e o que acontece no evento ou no contato para não apressar a jornada e melhorar a experiência.
Inbound messages
Inbound messages: clearer in dashboard and webhooks
Em Configurações do workspace → Mensagens recebidas (Received messages) ficou explícito o que acontece quando alguém manda mensagem para você: por exemplo no WhatsApp, Telegram ou SMS. Você pode só guardar no Notifique (para ver depois no painel), só avisar um endereço seu (webhook) para outro sistema reagir na hora, ou fazer as duas coisas. No WhatsApp dá para tratar conversa com uma pessoa e grupo de formas diferentes; onde for preciso, continua valendo o aceite dos recursos de grupo no workspace.Para WhatsApp, há um tipo de aviso de webhook pensado só para mensagem recebida (quando isso estiver ligado nas opções do workspace). Quem já tinha um webhook configurado com o nome antigo continua recebendo o aviso do mesmo jeito.Se você optar por guardar mensagens recebidas no Notifique, isso pode usar crédito ou saldo do seu plano: a tela deixa isso indicado de forma simples, para não haver surpresa.No painel, em Mensagens recebidas, também dá para criar regras extras para mensagens recebidas: por exemplo “se tiver link” ou “se o texto tiver as palavras que você definir”, aí você marca se quer guardar, webhook ou os dois só nesses casos: em cima do que já definiu como padrão.Quem integra por API continua podendo ajustar tudo com mais detalhe; a documentação de workspace e webhooks foi alinhada a esse comportamento.Rules for inbound messages
Nas opções de cada canal (SMS, e-mail, Telegram, RCS, WhatsApp), você escolhe se o guardar e o webhook valem sempre pelos interruptores da tela, ou só quando couber em uma regra que você cadastrou. Cada regra pode olhar se a mensagem tem link e/ou palavras que você listar, e aí ligar guardar, webhook ou os dois só nesses casos. No WhatsApp, isso pode ser feito em separado para conversa com uma pessoa e para grupo (grupo depende dos recursos de grupo do workspace).Templates: history, tests, languages, and AI
Template history: view the past and restore safely
Sempre que você salva um template, o Notifique registra uma versão daquele momento. Isso significa que você pode abrir o histórico, ver como o template estava antes (inclusive numa pré-visualização) e, se precisar, restaurar uma versão anterior: ideal quando alguém mudou demais o texto, quando um disparo antigo funcionava melhor ou quando você quer comparar duas abordagens sem medo de perder o trabalho atual.Test the template before production use
Antes de colocar o template em campanha ou automação, você pode fazer um envio de teste (sem consumir crédito como um disparo real). Agora dá para enviar o teste para você mesmo (telefone e e-mail da sua conta) ou para um único contato do seu workspace: assim você valida nomes, campos personalizados e o jeito da mensagem em alguém real, sem enviar para a lista inteira.Para ficar óbvio que não é produção, o teste sai com a marca[TEST] no começo do texto em SMS, WhatsApp e Telegram, e com [TEST] no assunto do e-mail (o corpo do e-mail não é alterado por isso). Vale lembrar: para testar canais que dependem de instância, o workspace precisa ter as instâncias padrão de WhatsApp e Telegram configuradas quando você quiser usar esses canais no teste.Multiple languages, variables, and AI in one template
Ficou mais claro trabalhar com vários idiomas no mesmo template: escolher em qual idioma está editando, definir qual é o principal, remover um idioma extra que não vai mais usar e usar tradução assistida por IA quando há mais de um idioma no template.As variáveis (campos do contato, propriedades e valores padrão por canal) continuam acessíveis de forma organizada enquanto você edita. O assistente de IA ajuda a redigir ou refinar o conteúdo dos canais com base no que você pedir, e a tradução por IA segue o fluxo de confirmação e cobrança que você já conhece.Nos bastidores, o serviço limita o tamanho do que pode ser enviado à IA e aplica checagens de segurança, para manter tudo estável e previsível: sem você precisar se preocupar com detalhe técnico.CRM, localization, analytics, templates, AI infra, add-ons
Preferred languages on the contact (CRM)
Cada contato pode ter uma lista de idiomas (códigos BCP-47, por exemplopt-BR, en-US), usada pelo motor de envio quando você ativa localização na mensagem:- Painel: edite idiomas na ficha do contato (detalhe do CRM).
- API e envios: WhatsApp, SMS, e-mail, push, RCS, Telegram e templates passam a considerar
languagesdo contato ao resolver texto por destinatário.
Analytics and per-contact performance
Na ficha do contato ganhamos uma visão mais operacional de engajamento e histórico:- Insights: resumo com score de engajamento, nível (alto/médio/baixo) e bullets acionáveis.
- Gráficos e canais: leitura de volume e desempenho ao longo do tempo, com recorte por canal quando aplicável.
- Contexto para o time: menos “achismo”: abre o contato e vê se ele responde, em quais canais interage mais e como isso evolui.
Message localization: manual, automatic (AI), and off
Nos fluxos de nova mensagem (canais suportados) e em API v1, a localização passa a ser explícita:- Desligada: um único texto para todos (comportamento clássico).
- Manual: você envia um objeto i18n (JSON por locale) com traduções já prontas; o backend escolhe o bloco certo usando
sourceLocale+ idiomas do contato. - Automática (IA): o texto base é traduzido por modelo (OpenAI ou API compatível), com regras rígidas para preservar placeholders (
{{nome}}, etc.) e HTML em e-mails; se a IA falhar ou não estiver configurada, há fallback para o texto base. - Custo: no modo IA, a cobrança segue a política do produto (por destinatário traduzido); o painel indica quando o envio usa idiomas do CRM.
Templates: translations by locale
Templates ganharam suporte a traduções por locale/canal (localeTranslations no cadastro), permitindo manter variantes de texto organizadas no mesmo template e alinhar isso à localização e aos canais oficiais quando fizer sentido.Combined benefits
Idiomas no CRM + localização manual ou IA + analytics por contato reduzem atrito em base global, dão previsibilidade de custo na IA e mostram quem está respondendo: não só “quantas mensagens saíram”.Sending: priority, per-batch webhook, and metadata
Nas APIs v1 de SMS, e-mail, push, RCS, WhatsApp e Telegram, o body de envio passa a documentar de forma explícita:options.priority: fila prioritária de entrega da mensagem (e, quando aplicável, fila prioritária de webhooks).options.webhook: URL HTTPS (esecretopcional) para receber só os eventos daquele envio, no mesmo formato dos webhooks cadastrados.metadata: pares string→string persistidos no registro do envio (por canal).
Public reports and Platform Status
- POST
/v1/report: endpoint público para denúncias (FELCA); API reference in the Report API guide. - Platform Status: super admins veem as últimas denúncias recebidas, com detalhes ao clicar na linha.
Telegram, API v1, documentation, dashboard
New channel: Telegram
Passamos a oferecer Telegram como canal de mensagens, integrado ao mesmo modelo da API v1 e webhooks que você já usa nos outros canais:- Dois modos de conexão:
- Bot: cadastro com token do @BotFather.
- Conta de usuário: fluxo de login com QR ou string de sessão após aceite dos termos no painel.
- API v1: envio de texto, mídia por URL, localização (localização apenas no modo bot, conforme suporte atual); listagem e detalhe de mensagens; cancelar, editar texto e apagar quando o Telegram permitir; listagem e detalhe de atividade recebida.
- Dashboard: criar e gerir instâncias Telegram, assistir ao fluxo de QR/sessão e acompanhar envios e recebidas no painel.
- Documentação: guia dedicado Telegram API.
Contacts and audience API (v1)
Além do painel, tópicos de comunicação, segmentos de audiência (regras dinâmicas, distintos das tags) e campanhas passam a ter endpoints em/v1 com escopos dedicados (topics:*, segments:*, campaigns:*, incluindo campaigns:run para executar o disparo). A documentação Contatos foi ampliada com esses caminhos.Segments v1: property (text)
Segment rules: custom field with “contains” and ignore case
Na DSL de segmentos versão 1 (definition.version: 1), regras do tipo property ganharam campos opcionais:valueMatch:exact(padrão, comportamento anterior) oucontains(substring no valor salvo).ignoreCase:truepara comparar sem diferenciar maiúsculas/minúsculas.
API v1, dashboard, CRM, templates, compliance
Contacts and audiences: Topics, Segments, and Campaigns
Lançamos uma nova camada de gestão de audiência para unir operação de contatos, segmentação e campanhas em um fluxo único no painel:- Custom fields (contact properties): definição de campos personalizados para enriquecer contatos e personalizar envios.
- Topics e preferências públicas: criação de tópicos de comunicação com página pública de preferências para opt-in/opt-out do usuário final.
- Segments com DSL: criação de segmentos dinâmicos com preview de contatos antes do disparo.
- Campaigns com execução em pipeline existente: disparos em lote reaproveitando o pipeline atual de envio.
- Tela Audience no dashboard: painel único para administrar tópicos, segmentos e campanhas com ações de criar, editar, pré-visualizar, executar e excluir.
Templates with marketing category and unsubscribe rules
Também adicionamos controles para classificar templates e garantir conformidade por canal:- Categoria do template: suporte para classificar templates como transacionais ou marketing.
- Vínculo com tópico de marketing: templates de marketing podem ser associados a um tópico específico para respeitar consentimento.
- Descadastro automático por canal:
- SMS e WhatsApp:
Reply STOP to unsubscribe. - E-mail: frase clicável
click here to unsubscribecom link de preferências.
- SMS e WhatsApp:
- Toggle por template: opção para habilitar/desabilitar o append automático do texto/link de preferências.
Practical benefits
Com essa evolução, sua operação ganha mais controle de consentimento, melhor governança de base e campanhas mais seguras, mantendo a experiência centralizada no mesmo painel e alinhada às políticas de uso e privacidade.API v1, dashboard, documentation
Inbound settings per workspace (SMS and WhatsApp)
Adicionamos configurações de recebimento por workspace para controlar, por canal, o que pode ser persistido como inbound:inboundSettings.channels.sms.enabledinboundSettings.channels.whatsapp.enabledinboundSettings.channels.whatsapp.allowPrivateChatsinboundSettings.channels.whatsapp.allowGroupChatsinboundSettings.channels.email.enabled
- GET
/v1/workspaces/:idretornainboundSettingsresolvido. - PUT
/v1/workspaces/:idaceitainboundSettingsPatchpara merge parcial.
allowGroupChats (groups are GA; no experimental flag).Pricing, plans, dashboard, website, documentation
Pricing and plans update (summary)
Fizemos uma atualização geral no modelo comercial para deixar a operação mais previsível e competitiva, com reflexo em API, painel, site institucional e documentação.What changed in this release
- Mais créditos por faixa de plano: ampliamos os volumes de créditos mensais em diferentes tiers, mantendo a lógica de progressão para operações em crescimento.
- Ajuste de consumo por canal: recalibramos pesos de créditos em canais específicos para refletir melhor o custo real de envio.
- Redução de preço no avulso (SMS e RCS): o valor por envio no modelo Pague pelo uso foi reduzido.
API, dashboard, documentation, security
Two-factor authentication (2FA)
Agora você pode proteger sua conta com segundo fator no login, de forma opcional:- TOTP: cadastre um app autenticador (por exemplo Google Authenticator ou equivalente) escaneando o QR code e confirmando com o código de 6 dígitos.
- Passkeys: registre chaves de segurança ou biometria do dispositivo para concluir o login sem digitar código quando o navegador suportar.
- Códigos de backup: ao ativar o TOTP, geramos códigos de uso único para acesso se você perder o celular; você pode regenerar os códigos quando precisar (a ação exige confirmar o segundo fator).
Spend limit per API Key
Agora cada API Key pode ter um teto de consumo configurável no painel (criação ou edição da chave):- Ilimitado: comportamento anterior: a chave só respeita créditos/saldo do workspace.
- Limite em créditos: a chave acumula o consumo em créditos de plano usados nas operações feitas com ela; ao ultrapassar o teto, novos envios retornam 402 Payment Required com código
API_KEY_SPEND_LIMIT_EXCEEDED. - Limite em centavos de real: a chave acumula o custo em centavos de saldo (Pague pelo uso / pré-pago); ao ultrapassar o teto, a resposta é a mesma (
API_KEY_SPEND_LIMIT_EXCEEDED).
SMS: minimum message length
Passamos a exigir no mínimo 9 caracteres no texto do SMS (após remover espaços nas pontas), com máximo de 160. A regra vale para API v1 (POST /v1/sms/messages), envio pelo painel, templates (texto salvo no cadastro e texto final após substituir variáveis no POST /v1/templates/send) e para a fila de envio (SMS já enfileirados com texto inválido podem falhar ao processar). Em caso de texto curto demais, a API responde 400 com SMS_MESSAGE_TOO_SHORT.Dashboard and API (other improvements in this release)
- Visão geral: ajustes na página de overview e na paleta dos gráficos para leitura mais clara dos números por canal.
- RCS: melhorias nas telas de criação e listagem de envios RCS no dashboard.
- SMS (recebidas e respostas): adicionamos o fluxo de SMS de entrada (MO) com eventos dedicados, listagem de recebidas no painel, detalhe da mensagem inbound e suporte a resposta automática opcional por envio.
- WhatsApp (enviadas e recebidas): a listagem passa a suportar abas separadas para mensagens enviadas e recebidas, com visualização dedicada das inbound no dashboard.
- Cobrança e envios: o fluxo de cobrança por envio e rotas de envio/cancelamento (WhatsApp, SMS, e-mail, push, RCS, templates) foram alinhados ao limite da API Key e ao registro de uso por chave, mantendo consistência entre canais.
API_KEY_SPEND_LIMIT_EXCEEDED ou SMS_MESSAGE_TOO_SHORT, confira o limite da chave e o tamanho da mensagem: a documentação em SMS API, Templates e Respostas de erro traz os detalhes.API, dashboard, news
Pay-as-you-go option
Agora você pode usar a plataforma com saldo em reais (carteira), sem depender só de créditos mensais do plano. Recarregue quando quiser (mínimo R$ 30) e cada envio é debitado do saldo conforme a tabela por canal (WhatsApp, SMS, e-mail, push, RCS). Quem está em plano pago e acaba os créditos daquele mês passa a usar o saldo do Pague pelo uso automaticamente até a próxima renovação: assim você não fica sem enviar no meio do ciclo.API, dashboard, optimization
Smart queue per workspace and send optimizations
Fizemos diversas melhorias no fluxo interno de envio de mensagens.Fila independente por workspace: Antes existia uma fila única global de envios. Quando um workspace enviava centenas de mensagens, isso poderia atrasar o envio de outro workspace que enviava apenas uma, pois a fila era compartilhada. Agora cada workspace possui sua própria fila independente, garantindo que o volume de um não impacte o outro.Otimização do delay: Antes as filas ficavam travadas aguardando o delay entre cada mensagem para então disparar. Agora otimizamos a fila: se a mensagem tiver delay configurado, ela volta para a fila para ser enviada mais tarde, em vez de travar a fila aguardando o delay do WhatsApp.Templates: Também otimizamos os templates de e-mail e WhatsApp: o template facilita o envio de mensagens para vários canais ao mesmo tempo.Se notarem algo diferente, mal funcionamento ou tiverem sugestões de melhorias, é só nos chamar.Dashboard, optimization
New email template editor
Lançamos um editor de templates para e-mail com recursos mais avançados. Agora você pode criar e editar templates de e-mail com maior flexibilidade e controle, facilitando o envio de mensagens para vários canais ao mesmo tempo (e-mail, WhatsApp, SMS).API, news

