Guia de uso

Versão 4.0 · atualizado em outubro de 2026

Tudo o que o Formula IA faz, tela por tela.

Este guia mostra, página por página, como usar o CRM para atender clientes em vários canais, organizar a equipe e automatizar tarefas. Cada página traz um resumo, vídeos curtos, passo a passo e dicas práticas. Se a sua empresa está começando agora, siga a configuração inicial abaixo na ordem sugerida.

49páginas explicadas54vídeos curtos~14 minde demonstrações

Os nomes, telefones e mensagens que aparecem nos vídeos e imagens são fictícios, usados só para demonstração.

Conhecendo a interfacevídeo · sem som

Comece por aqui

A ordem recomendada para deixar a sua empresa pronta para atender.

  1. Conecte seus canaisEm Administração > Canais, clique em + Adicionar Canal e conecte o WhatsApp (por QR Code ou pela API oficial da Meta) e os demais canais que você usa. Sem um canal conectado, nenhuma conversa chega ao sistema.Abrir página →
  2. Cadastre os usuáriosEm Administração > Usuários, crie os atendentes, supervisores e administradores com + Novo Usuário e escolha o Perfil de cada um. Se precisar, agrupe as pessoas em Equipes.Abrir página →
  3. Crie as filasEm Gestão Comercial > Filas, crie os setores (ex.: Comercial, Financeiro, Suporte) com cor, horário e distribuição automática. Depois, volte em Usuários e use o botão Filas para dizer quem atende cada fila.Abrir página →
  4. Organize com etiquetasEm Gestão Comercial > Etiquetas, crie etiquetas coloridas (ex.: VIP, Orçamento, Urgente) para classificar contatos. Você pode definir palavras-chave que aplicam a etiqueta automaticamente.Abrir página →
  5. Prepare mensagens rápidasEm Comunicação e Marketing > Mensagens Rápidas, cadastre respostas prontas com atalhos como /boasvindas. No atendimento, basta digitar / para usá-las.Abrir página →
  6. Automatize a recepçãoMonte um menu de boas-vindas no Chat Flow ou crie um Agente de IA de pré-atendimento que responde dúvidas e transfere para a fila certa. Teste sempre com o Número para Teste antes de liberar para todos.Abrir página →
  7. Defina o horário de atendimentoEm Gestão Comercial > Horário Atendimento, configure os dias e horários da empresa, a mensagem fora do horário e os feriados. Clique em Salvar para aplicar.Abrir página →
  8. Comece a atenderAbra Atendimento > Atendimentos, veja a aba Pendentes, clique em Atender e responda. Ao terminar, use Resolver atendimento (Alt+R).Abrir página →

Aprenda assistindo

Vídeos

Tutoriais completos, com narração, das principais telas do Fórmula.

Módulo

Primeiros passos

Conheça a interface, seu status de trabalho, as notificações e o Dashboard de métricas.

Principal > Home

Interface e navegação

/

A tela inicial dá boas-vindas e traz atalhos para as áreas mais usadas. Aqui você conhece o menu lateral, a barra superior e a busca rápida, que funcionam em todas as páginas do sistema.

Conhecendo a interfacevídeo · sem som

O que dá para fazer

  • Menu lateral com os módulos agrupados (Atendimento, Comunicação e Marketing, Gestão, Administração, Automação, Gestão Comercial, Configuração, Conta); clique no nome do grupo para expandir ou recolher.
  • Cartões Atendimento, Dashboard e Configurações, além de Páginas recentes e Acesso Rápido na Home.
  • Busca global Buscar... (Ctrl+K): encontre qualquer página, ação ou aba de Configurações digitando parte do nome.
  • Na paleta de busca, a seção Ações traz Modo Escuro, Rever tour, Nova Conversa e Sair.
  • Seletor de idioma (PT) com Português, English, Español e outros idiomas.
  • Modo Escuro no rodapé do menu lateral alterna entre tema claro e escuro.
  • Ícone ? ao lado do título de quase todas as páginas abre o painel Como usar esta página com dicas rápidas.
  • Ícone de avião de papel (Nova Conversa) para enviar uma mensagem a um número específico.

Passo a passo

Como encontrar uma página rapidamente
  1. Pressione Ctrl+K ou clique em Buscar... no topo.
  2. Digite parte do nome da página, por exemplo “fil” para Filas.
  3. Use as setas para escolher o resultado e pressione Enter.
  4. Para fechar a busca sem abrir nada, pressione Esc.
Como iniciar uma nova conversa com um número
  1. Clique no ícone de avião de papel (Nova Conversa) na barra superior.
  2. Escolha a Sessão WhatsApp e, se quiser, a Fila (opcional).
  3. Em Número, busque um contato ou digite o número com código do país (ex.: +55 11 91234-5678).
  4. Escreva a Mensagem e escolha o Status do atendimento: Em atendimento (fica com você) ou Pendente (vai para a fila).
  5. Clique em Enviar.
Como trocar o idioma ou o tema
  1. Clique em PT na barra superior e escolha o idioma desejado.
  2. Para o tema, clique em Modo Escuro no rodapé do menu lateral (ou procure “Modo Escuro” no Ctrl+K).

Barra superior > Avatar e Sino

Status e notificações

/

Seu status diz à equipe e ao sistema se você pode receber novos atendimentos. O sino reúne os clientes pendentes e as últimas mensagens recebidas, para você não perder nada.

Alterar seu status (Online, Pausado, Offline)vídeo · sem som

O que dá para fazer

  • Menu do avatar com seus dados, Versão, Licença e a seção Status: Online, Pausado e Offline.
  • Online: você recebe novos atendimentos. Pausado: faz uma pausa informando um motivo. Offline: fica indisponível.
  • No menu do avatar também ficam Meu Perfil, Histórico de ações (suas ações recentes), Limpar cookies e Sair.
  • Sino de Notificações com contador: aba Resumo (ex.: Clientes pendentes na fila) e aba Mensagens (últimas mensagens recebidas).
  • Botão Marcar todas como lidas para zerar o contador.
  • Indicador de status do sistema no topo: ponto verde (Sistema conectado) indica que a atualização em tempo real está ativa.

Passo a passo

Como mudar seu status
  1. Clique no seu avatar no canto superior direito.
  2. Na seção Status, escolha Online, Pausado ou Offline (o atual aparece marcado com ✓).
  3. Se escolher Pausado, selecione o motivo da pausa (ex.: Almoço).
Como conferir suas notificações
  1. Clique no sino na barra superior.
  2. Na aba Resumo, clique em Clientes pendentes na fila para ir direto aos pendentes.
  3. Abra a aba Mensagens para ver as últimas mensagens recebidas.
  4. Clique em Marcar todas como lidas quando terminar.

Principal > Dashboard

Dashboard

/dashboard

O Dashboard mostra as métricas de atendimento em tempo real: volumes, tempos médios e desempenho por fila, canal e usuário. Use-o para acompanhar a operação do dia e comparar períodos.

Filtrar o período e personalizar o Dashboardvídeo · sem som

O que dá para fazer

  • Filtros de período Hoje, 7 dias, 30 dias e 90 dias, ou intervalo personalizado em De / Até com o botão Gerar.
  • Indicadores Total de Atendimentos, Demanda Ativa, Demanda Receptiva, TMA, TME, TPR e TTE; passe o mouse no i de cada card para ver o significado.
  • Gráficos por fila, status, canal, evolução por período, demanda e desempenho por usuário.
  • Insights de IA: botão Analisar gera recomendações com base nas métricas; Histórico guarda as análises anteriores.
  • Personalizar permite arrastar e ocultar cards; Widgets liga e desliga seções e indicadores; Restaurar padrão volta ao layout original.

Passo a passo

Como consultar as métricas de um período
  1. Clique em Hoje, 7 dias, 30 dias ou 90 dias.
  2. Para outro intervalo, preencha De e Até e clique em Gerar.
  3. Leia os cards e gráficos; clique em ↻ para recarregar os dados.
Como gerar insights com IA
  1. Defina o período desejado.
  2. Em Insights de IA, clique em Analisar.
  3. Para rever análises anteriores, clique em Histórico e depois em Abrir.
Como personalizar o painel
  1. Clique em Personalizar.
  2. Arraste os cards pelas alças para reordenar ou use o ícone de ocultar.
  3. Clique em Widgets para mostrar ou esconder seções e indicadores.
  4. Clique em Concluído para sair do modo de edição.

Módulo

Atendimento

Onde você conversa com os clientes de todos os canais, fala com a equipe e mantém a base de contatos.

Atendimento > Atendimentos

Atendimentos

/atendimento

É a central de conversas: aqui chegam os tickets de todos os canais conectados (WhatsApp, Instagram e outros), e você aceita, responde, transfere e encerra cada atendimento. É a página mais usada no dia a dia de atendentes e supervisores.

A lista de atendimentosvídeo · sem som

O que dá para fazer

  • Abas Abertos, Pendentes e Fechados com contador; busca Buscar nome, número ou ticket... e busca por conteúdo de mensagem em todos os tickets.
  • Filtros por status, período, filas, conexões, usuário, etiqueta e Kanban, além de chips de canal e a visão Monitor por Canal.
  • Cabeçalho da conversa com Retornar à fila, Resolver atendimento, Transferir, Transferir Canal, Mídias, links e docs, compartilhar ticket e busca na conversa.
  • Caixa de resposta com Emoji, Anexar arquivo, Mensagens rápidas (/), Gravar áudio e a chave Assinado (inclui seu nome no topo da mensagem).
  • Recursos de IA: Estilos de Reescrita (Profissional, Simpático, Marketing, Ortografia), Resumir conversa com IA e Copiloto (sugestões de resposta).
  • Criar nota interna (o cliente não vê), Agendar mensagem, Transferir p/ Chatbot e Pausar atendimento.
  • Painel Detalhes do contato com as abas Perfil, Atend., Gestão, Integr. e Util. (etiquetas, carteira, protocolo, avaliação, funil, Kanban, exportar PDF).
  • Menu de cada mensagem: Responder, Reagir, Encaminhar, Editar, Copiar texto, Favoritar, Fixar mensagem, Traduzir, Apagar e mais.

Passo a passo

Como atender um cliente pendente
  1. Abra a aba Pendentes.
  2. (Opcional) Passe o mouse no cartão e clique no olho para Espiar o histórico sem assumir a conversa.
  3. Clique em Atender (ou no ícone de entrar do cartão).
  4. O ticket passa para a aba Abertos, atribuído a você, e já pode ser respondido.
Como responder um cliente
  1. Na aba Abertos, clique no atendimento.
  2. A conversa abre à direita; clique no campo Digite uma mensagem....
  3. Digite sua resposta (deixe Assinado ligado para mostrar seu nome).
  4. Pressione Enter para enviar.
Como usar uma mensagem rápida
  1. No campo de mensagem, digite /.
  2. Continue digitando o atalho para filtrar a lista (ex.: /boa).
  3. Use as setas ↑↓ e Enter para inserir o texto; Esc fecha a lista sem inserir.
  4. Revise o texto e pressione Enter para enviar.
Como enviar anexos ou áudio
  1. Clique no clipe (Anexar arquivo).
  2. Escolha Imagem, Vídeo, Documento, Múltiplos arquivos, Da galeria, Localização, Contato (vCard) ou outra opção.
  3. Selecione o arquivo e confirme o envio.
  4. Para áudio, clique no microfone (Gravar áudio), fale e envie.
  5. Atalho: copie um arquivo e cole com Ctrl+V direto no campo de mensagem.
Como criar uma nota interna
  1. Na caixa de resposta, clique nos três pontos (Mais opções).
  2. Escolha Criar nota.
  3. Escreva a nota (e anexe arquivos, se precisar).
  4. Clique em Salvar nota. Ela aparece como um cartão amarelo NOTA, visível só para a equipe.
Como transferir para outra fila ou atendente
  1. No topo da conversa, clique em Transferir (ícone de setas).
  2. Escolha a Fila de destino (ou marque Seguir sem fila).
  3. Se quiser, escolha o Atendente e escreva uma Mensagem (opcional).
  4. Clique em Transferir.
Como transferir para um chatbot
  1. No topo da conversa, clique em ⋯ (mais opções).
  2. Escolha Transferir p/ Chatbot.
  3. Selecione o fluxo de chatbot desejado.
  4. Clique em Transferir.
Como agendar uma mensagem
  1. No topo da conversa, clique em ⋯ e escolha Agendar mensagem.
  2. Em Data e hora, use um atalho (+30 min, Amanhã, +1 semana) ou escolha a data e a hora.
  3. Escreva a mensagem e, se quiser, anexe arquivos ou clique em Adicionar mensagem para enviar uma sequência.
  4. (Opcional) Defina Recorrência e ligue Abrir ticket ao enviar escolhendo Fila e Usuário.
  5. Clique em Agendar.
Como resolver ou encerrar um atendimento
  1. Com a conversa aberta, clique no ✓ Resolver atendimento ou pressione Alt+R.
  2. Se for solicitado, escolha a mensagem/motivo de fechamento.
  3. O ticket vai para a aba Fechados (e, se configurado, o cliente recebe a pesquisa de satisfação).
  4. Para devolver o cliente à espera sem encerrar, use Retornar à fila.
Como fazer ações em lote
  1. No topo da lista, abra o menu Ações (...).
  2. Clique em Selecionar múltiplos.
  3. Marque os tickets desejados.
  4. Escolha a ação: transferir, fechar ou reatribuir.
  5. Pressione Esc para cancelar a seleção.
Como exportar uma conversa em PDF
  1. Com a conversa aberta, clique no ⓘ para abrir Detalhes do contato.
  2. Abra a aba Util.
  3. Em Extrair conversa, clique em Exportar conversa em PDF.
  4. O PDF traz os dados do contato, do ticket e o histórico de mensagens.

Atendimento > Chat Privado

Chat Privado

/chat-privado

Comunicação interna entre os usuários do sistema e com as equipes, com mensagens, anexos e chamadas de áudio e vídeo. Os clientes não participam dessas conversas.

Conversar com a equipe no Chat Privadovídeo · sem som

O que dá para fazer

  • Aba Usuários com a lista de colegas, status Online/Offline e prévia da última mensagem.
  • Aba Equipes para conversar com todos os membros de uma equipe de uma vez.
  • Botões Chamada de áudio e Chamada de vídeo no topo da conversa.
  • Rodapé com Emoji, Anexar arquivo, Enviar link de videoconferência, Gravar áudio e Enviar.
  • Para administradores: ícone de escudo Auditar conversas (espiar) com as abas Individual e Equipe, em modo somente leitura.

Passo a passo

Como conversar com um colega
  1. Abra a aba Usuários.
  2. Clique no nome do colega.
  3. Escreva no campo Digite uma mensagem... e pressione Enter.
Como falar com uma equipe
  1. Abra a aba Equipes.
  2. Selecione a equipe.
  3. Envie a mensagem; todos os membros recebem.
Como fazer uma chamada
  1. Abra a conversa com o colega.
  2. Clique no telefone (Chamada de áudio) ou na câmera (Chamada de vídeo).

Atendimento > Contatos

Contatos

/contatos

A base de clientes da empresa. Aqui você cria, edita, importa e exporta contatos, filtra por etiqueta, carteira, fila ou endereço e consulta o histórico de cada um.

Criar um contatovídeo · sem som

O que dá para fazer

  • + Adicionar Contato com nome, número, e-mail, endereço (CEP com busca), Tags, Carteira, Fila e Campos extras.
  • Mais campos e IDs de canais: CPF / CNPJ, Data de Nascimento, Empresa e identificadores de outros canais.
  • Filtros Localize, Todas as etiquetas, Todas as carteiras, Todas as filas e Endereço (Bairro, Cidade, UF).
  • Colunas para escolher quais informações aparecem na tabela.
  • Importar Contatos (CSV), Importacao Inteligente, Modelo CSV e Exportar Contatos (respeita os filtros aplicados).
  • Utilitários: Sincronizar Contatos, Sincronizar Grupos, Remover Duplicados, Agrupar LID e Verificar 9° Dígito.
  • Ações por linha: ver histórico, editar e excluir.

Passo a passo

Como criar um contato
  1. Clique em + Adicionar Contato.
  2. Preencha Nome e Número (com código do país e DDD).
  3. (Opcional) Informe e-mail e endereço; em Tags, clique em Selecionar tags e escolha as etiquetas.
  4. (Opcional) Defina Carteira (atendente responsável) e Fila.
  5. Clique em Salvar.
Como importar contatos em lote
  1. Clique em Modelo CSV para baixar a planilha-modelo.
  2. Preencha a planilha com seus contatos.
  3. Clique em Importar Contatos e selecione o arquivo (ou use Importacao Inteligente para mapear as colunas com ajuda).
Como filtrar e exportar uma lista
  1. Use Todas as etiquetas, Todas as carteiras, Todas as filas ou Endereço para filtrar.
  2. Ajuste as Colunas visíveis, se quiser.
  3. Clique em Exportar Contatos: o arquivo segue os filtros aplicados.
Como editar um contato
  1. Clique no lápis na linha do contato.
  2. Altere os dados desejados (nome, número, e-mail, endereço, tags...).
  3. Clique em Salvar (ou Cancelar para sair sem alterar).

Módulo

Comunicação e Marketing

Campanhas, disparos em massa, e-mail marketing, mídias, grupos, respostas prontas e redes sociais.

Comunicação e Marketing > Campanhas

Campanhas

/campanhas

Crie e agende campanhas de WhatsApp para uma lista de contatos. Cada contato recebe uma de três variações da mensagem, com intervalo entre envios e janela de horário para reduzir o risco de bloqueio do número.

Criar uma campanhavídeo · sem som

O que dá para fazer

  • + Nova Campanha com Nome, Sessão/WhatsApp, Data/hora de início e Delay entre mensagens (seg).
  • Opções Janela de envio, Limite diário de mensagens e Exibir mensagem original ao receber resposta.
  • Mensagem 1, Mensagem 2 e Mensagem 3: variações obrigatórias; cada contato recebe uma delas, sorteada.
  • Botões IA (gera a mensagem) e Variáveis (Nome, Primeiro nome, Empresa e outros).
  • Preview em um celular simulado e anexo de Mídia (opcional).
  • Na lista: iniciar, cancelar ou duplicar campanhas e acompanhar entregues, pendentes e falhas.

Passo a passo

Como criar uma campanha
  1. Clique em + Nova Campanha.
  2. Informe o Nome e escolha a Sessão/WhatsApp que fará os envios.
  3. Defina Data/hora de início e o Delay entre mensagens (seg).
  4. (Opcional) Ative Janela de envio e Limite diário de mensagens; anexe uma Mídia.
  5. Escreva as 3 variações (use Variáveis ou IA), confira no Preview e clique em Criar campanha. Depois, adicione os contatos e agende ou envie.

Comunicação e Marketing > E-mail Marketing

E-mail Marketing

/email-marketing

Monte modelos de e-mail reutilizáveis com um editor visual e mantenha a lista de e-mails descadastrados, que não recebem campanhas nem disparos em massa.

E-mail Marketing: modelosvídeo · sem som

O que dá para fazer

  • Aba Modelos com + Novo modelo e tabela Nome, Assunto, Anexos, Atualizado em.
  • Editor visual com blocos Título, Texto, Imagem, Botão, Linha divisória, Espaço e modelos prontos Boas-vindas e Novidade.
  • Editor clássico / HTML para quem prefere editar o código.
  • Painel Configurações do bloco e Estilo do e-mail (fundo, largura, fonte).
  • Variáveis do contato, Adicionar anexo (até 10 arquivos de 25 MB), Visualizar e Enviar teste.
  • Aba Descadastrados com + Adicionar, Importar e Exportar.

Passo a passo

Como criar um modelo de e-mail
  1. Na aba Modelos, clique em + Novo modelo.
  2. Preencha Nome do modelo e Assunto.
  3. Comece por Boas-vindas ou Novidade, ou adicione blocos (Título, Texto, Imagem, Botão...).
  4. Selecione um bloco para editá-lo à direita e ajuste o Estilo do e-mail.
  5. Clique em Visualizar, envie um teste com Enviar teste e clique em Salvar.
Como descadastrar um e-mail
  1. Abra a aba Descadastrados.
  2. Digite o e-mail no campo e clique em + Adicionar (ou use Importar para uma lista).

Comunicação e Marketing > Envio em Massa

Envio em Massa

/massa

Dispare mensagens imediatas para muitos contatos por WhatsApp (template oficial ou texto livre), chamadas de voz, SMS e e-mail, e acompanhe o resultado na aba Relatório.

Envio em Massa: visão geralvídeo · sem som

O que dá para fazer

  • Abas Template, Template Variável, Texto, Texto Variável, WaVoIP, SMS, E-mail e Relatório.
  • Intervalo aleatório entre envios em Min (s) e Max (s).
  • Chaves Fechar ticket, Atribuir fila e Atribuir usuário após o envio.
  • Destinatários por Números, Importar CSV ou filtros Filtrar por Etiqueta, Filtrar Kanban, Filtrar por carteira, Grupos e Todos os Contatos.
  • Abas variáveis aceitam uma linha por contato no formato número,var1,var2.
  • PREVIEW em celular simulado e Relatório com status, tipo e progresso de cada disparo.

Passo a passo

Como disparar um texto pelo WhatsApp
  1. Abra a aba Texto.
  2. Em WhatsApp / Conexão, escolha a conexão e defina Min (s) e Max (s).
  3. Escolha os destinatários (digite em Números, use Importar CSV ou ative um filtro).
  4. Ative Incluir Texto, escreva a mensagem (e, se quiser, Incluir Arquivo Local).
  5. Confira o Preview, clique em Enviar e acompanhe na aba Relatório.
Como disparar um template oficial (WABA)
  1. Abra a aba Template e escolha a conexão da API oficial.
  2. Defina os destinatários.
  3. Clique em Selecionar Template e envie.
  4. Para variáveis por contato, use a aba Template Variável, escolha o template e cole uma linha número,var1,var2 por contato; clique em Enviar (ou Enviar Marketing para templates de marketing).
Como disparar e-mails em massa
  1. Abra a aba E-mail e escolha o Canal de e-mail.
  2. Cole os Destinatários e ajuste os intervalos.
  3. (Opcional) Ligue Rodapé de descadastro.
  4. Escolha um Modelo de e-mail ou Conteúdo livre, preencha o Assunto e clique em Disparar.

Comunicação e Marketing > Galeria

Galeria

/galeria

Biblioteca central de arquivos (imagens, vídeos, áudios, PDFs e documentos) para reutilizar em atendimentos, campanhas e mensagens.

Galeria de mídiavídeo · sem som

O que dá para fazer

  • Botão Enviar arquivo para adicionar arquivos do computador.
  • Indicador Espaço da galeria e busca Buscar arquivos....
  • Filtros por tipo: Todos, Imagens, Vídeos, Áudios, PDF, Documentos, Arquivos compactados e Outros.
  • Ao passar o mouse no arquivo: Ver (prévia com Baixar) e excluir.

Passo a passo

Como adicionar e reutilizar um arquivo
  1. Clique em Enviar arquivo e selecione o arquivo no computador.
  2. No atendimento, clique no clipe e escolha Da galeria para enviá-lo ao cliente.
Como visualizar ou baixar um arquivo
  1. Passe o mouse sobre o arquivo e clique em Ver.
  2. Confira a prévia e clique em Baixar, se precisar.

Comunicação e Marketing > Google Calendar

Google Calendar

/google-calendar

Veja e crie eventos do Google Agenda dentro do CRM e vincule-os a oportunidades do funil de vendas. Disponível após conectar uma conta Google nas configurações.

Tela Google Calendar no Formula IA
Tela de Google Calendar

O que dá para fazer

  • Lista de eventos do Google Calendar por calendário e período.
  • Novo evento para criar compromissos que aparecem também no Google Calendar.
  • Sincronização nos dois sentidos: eventos criados no Google aparecem aqui.
  • Vínculo de eventos a oportunidades do funil de vendas.

Passo a passo

Como começar a usar
  1. Peça ao administrador para conectar a conta Google em Configurações > Integrações > Google Calendar (Conectar Google Calendar).
  2. Volte a esta página, escolha o calendário e o período.
  3. Clique em Novo evento para criar um compromisso.

Comunicação e Marketing > Grupos

Grupos

/grupo

Ferramentas para administrar grupos de WhatsApp em massa: criar grupos, alterar título, descrição e imagem, gerenciar participantes e administradores, moderar e enviar boas-vindas e despedidas automáticas.

Grupos: recursosvídeo · sem som

O que dá para fazer

  • Massa Grupos: + Criar grupos em massa, Listar IDs dos Grupos, Listar Participantes e Exportar para XLS.
  • Massa Grupos 2: Alterar título, Alterar descrição, Alterar imagem por URL/por arquivo e Alterar permissão de mensagens.
  • Massa Usuários: Promover a administrador, Remover de administrador, Adicionar ao grupo e Remover do grupo.
  • Ban List (números banidos) e Word List (palavras proibidas).
  • Saudação e Despedida: mensagens automáticas ao entrar e sair do grupo.

Passo a passo

Como criar grupos em massa
  1. Na aba Massa Grupos, clique em + Criar grupos em massa.
  2. Escolha a Conexão e digite o Nome do Grupo.
  3. Informe o Número do Participante Inicial e a Quantidade de Grupos.
  4. Clique em Salvar e aguarde a criação.
Como exportar os participantes
  1. Na aba Massa Grupos, escolha a Conexão e os Grupos.
  2. Clique em Listar Participantes.
  3. Clique em Exportar para XLS.
Como configurar uma mensagem de boas-vindas
  1. Abra a aba Saudação e clique em + Adicionar.
  2. Escreva a Mensagem, escolha a Conexão e o Grupo.
  3. Clique em Salvar.

Comunicação e Marketing > Mensagens Rápidas

Mensagens Rápidas

/mensagens-rapidas

Cadastre respostas prontas com atalhos (ex.: /boasvindas) para inserir em segundos durante o atendimento. Elas podem ter variáveis, anexos, áudio, botões, listas ou templates WABA.

Criar uma mensagem rápidavídeo · sem som

O que dá para fazer

  • + Nova Mensagem com Atalho e Mensagem.
  • Variáveis como nome do cliente, saudação (bom dia/boa tarde), protocolo e atendente.
  • Tipo de mensagem: Texto, Botoes, Lista ou Template WABA.
  • Anexo: até 5 arquivos ou Gravar áudio; chave Mensagem de Voz.
  • Chave Mensagem pública: quando ligada, todos os usuários podem usar o atalho.

Passo a passo

Como criar uma mensagem rápida
  1. Clique em + Nova Mensagem.
  2. Digite o Atalho (ex.: /boasvindas).
  3. Escreva a Mensagem e insira Variáveis se quiser personalizar.
  4. Escolha o Tipo de mensagem e, se quiser, adicione anexos.
  5. Ligue Mensagem pública para a equipe toda usar e clique em Salvar.
Como usar no atendimento
  1. Na caixa de mensagem de um ticket, digite /.
  2. Escolha o atalho na lista e pressione Enter.

Comunicação e Marketing > Redes sociais (Facebook, Instagram, TikTok, YouTube)

Redes sociais — comentários

/instagram-comentarios

Acompanhe e responda comentários das suas publicações no Facebook, Instagram, TikTok e YouTube sem sair do CRM. No Instagram e no Facebook também é possível ver e criar publicações. Disponível após conectar a conta da rede social em Canais.

Comentários das redes sociaisvídeo · sem som

O que dá para fazer

  • Cada rede tem sua página no menu: Facebook, Instagram, TikTok e YouTube.
  • Bloco Conexão para escolher a conta e botão Carregar publicações (ou Carregar videos).
  • Gestão de Comentários: busca por ID da publicação e Buscar comentários; responder, editar e excluir.
  • Gestão de Posts (Instagram e Facebook): lista de publicações e + Novo Post / + Nova Publicacao.
  • No Instagram, o post pode ser Foto, Reel ou Carrossel, com Legenda, Agendar para, Salvar rascunho ou Publicar.
  • TikTok: comentários, curtidas e visualizações dos vídeos, somente leitura por enquanto.

Passo a passo

Como responder um comentário
  1. Abra a página da rede (ex.: Instagram) e escolha a Conexão.
  2. Clique em Carregar publicações e escolha o post (ou informe o ID da publicação).
  3. Clique em Buscar comentários.
  4. Clique em Responder no comentário e envie a resposta pública.
Como publicar ou agendar um post no Instagram
  1. Abra a aba Gestão de Posts e clique em + Novo Post.
  2. Escolha o Tipo de mídia e selecione os arquivos.
  3. Escreva a Legenda e, se quiser, defina Agendar para.
  4. Clique em Publicar, Agendar ou Salvar rascunho.

Comunicação e Marketing > Rocket.Chat

Rocket.Chat

/chat-interno-rc

Chat interno da equipe com canais e mensagens diretas, incorporado ao CRM. Disponível após o administrador habilitar o Rocket.Chat para a sua empresa.

Tela Rocket.Chat no Formula IA
Tela de Rocket.Chat

O que dá para fazer

  • Canais de conversa da equipe e mensagens diretas entre usuários.
  • Funciona dentro do sistema, sem precisar abrir outra ferramenta.
  • Habilitado pelo administrador em Configurações > Integrações > Rocket.Chat.

Passo a passo

Como começar a usar
  1. Peça ao administrador para ligar Habilitar Rocket.Chat em Configurações > Integrações.
  2. Abra Rocket.Chat no menu e converse nos canais ou mensagens diretas da equipe.

Módulo

Gestão

Agenda de consultas, funil de vendas, Kanban de contatos e tarefas da equipe.

Gestão > Agenda

Agenda

/agenda

Gerencie consultas e compromissos com contatos e configure lembretes automáticos por WhatsApp enviados algumas horas antes de cada consulta.

Criar um compromisso na Agendavídeo · sem som

O que dá para fazer

  • Aba Consultas com + Nova Consulta e filtros Situação, De/Até, Buscar e Ordem.
  • Status da consulta: Pendente, Confirmado, Cancelado, Concluído e Não compareceu.
  • Aba Calendário com a visão mensal das consultas.
  • Aba Lembretes com + Novo Lembrete: Horas antes do evento, Mensagem de texto ou Template WABA e Canal WhatsApp.
  • Variáveis no lembrete: nome, primeiro nome, telefone, data, hora e título.

Passo a passo

Como agendar uma consulta
  1. Na aba Consultas, clique em + Nova Consulta.
  2. Digite o Título e escolha o Contato (ou informe nome e telefone com código do país).
  3. Defina Data e hora início (e fim, se quiser) e o Status.
  4. Clique em Criar e confira na aba Calendário.
Como criar um lembrete automático
  1. Abra a aba Lembretes e clique em + Novo Lembrete.
  2. Dê um Nome e defina Horas antes do evento (ex.: 24).
  3. Escolha o Tipo de mensagem e escreva a mensagem com as variáveis de data e hora.
  4. Escolha o Canal WhatsApp, deixe Ativo ligado e clique em Criar.

Gestão > Funil

Funil

/funil

O funil de vendas (pipeline) organiza suas oportunidades por etapa, com valores, responsáveis e previsão de fechamento. Inclui painel de métricas, quadro Kanban, calendário e automações por etapa.

Criar e mover uma oportunidade no Funilvídeo · sem som

O que dá para fazer

  • Abas Dashboard, Kanban, Pipelines, Calendário, Ações e Ações Ticket.
  • Dashboard: Criadas, Abertas, Ganhas, Perdidas, Ticket Médio, Taxa de Conversão e Valor por etapa.
  • Kanban: cards de oportunidade arrastáveis entre etapas, Filtros, Exportar CSV e painel de Alertas de oportunidades paradas.
  • Pipelines: crie funis com etapas, cores e aviso para fila ou atendente ao entrar na etapa.
  • Calendário: oportunidades no dia da previsão de fechamento.
  • Ações e Ações Ticket: automações como enviar mensagem, mudar etapa, adicionar etiqueta ou agir quando o cliente não responde há X horas.

Passo a passo

Como criar uma oportunidade
  1. Na aba Kanban, clique em + Nova Oportunidade (ou no botão + flutuante).
  2. Preencha Nome e escolha Pipeline, Etapa e Responsável.
  3. Busque o Contato (digite pelo menos 2 letras).
  4. Informe Previsão de Fechamento e Valor (R$) e clique em Salvar.
Como avançar ou fechar uma oportunidade
  1. Arraste o card para a próxima etapa.
  2. Ao finalizar, clique no card e mude o Status para Ganho ou Perdido.
  3. Clique em Salvar.
Como criar um pipeline
  1. Abra a aba Pipelines e clique em + Novo Pipeline.
  2. Digite o Nome do Pipeline.
  3. Clique em + Adicionar Etapa para cada etapa (nome, cor e, se quiser, notificar fila ou atendente).
  4. Arraste as etapas para ordenar e clique em Criar.
Como automatizar um follow-up por etapa
  1. Abra a aba Ações e clique em + Nova Ação.
  2. Escolha Pipeline, Etapa e o Tipo de Ação (ex.: Enviar Mensagem).
  3. Escreva a mensagem, escolha o WhatsApp e defina Dias para Disparar.
  4. Deixe Ativo ligado e clique em Criar; acompanhe em Logs de Ações.

Gestão > Kanban

Kanban

/kanban

Quadro que mostra os contatos (não as oportunidades) em colunas chamadas lanes, para acompanhar em que etapa cada cliente está e iniciar atendimentos a partir do quadro.

Conhecer o Kanban de contatosvídeo · sem som

O que dá para fazer

  • Aba Quadro com uma coluna por lane (ex.: Triagem, Lead Frio, Lead Quente, Negociação).
  • Filtro Status: Abertos, Pendentes, Finalizados e Sem ticket.
  • Aba Etiqueta: colunas por etiqueta, com filtro Todas / Ativas / Inativas.
  • Cards com nome, telefone, etiqueta e número do ticket; ícones Espiar conversa e Conversa e ações do contato.
  • Arraste os cards entre as colunas para atualizar a etapa do contato.

Passo a passo

Como acompanhar leads pelo quadro
  1. Abra a aba Quadro.
  2. Ajuste o filtro Status e busque o contato em Buscar contato....
  3. Arraste o card para a próxima lane (ex.: de Lead Frio para Lead Morno).
Como iniciar um atendimento pelo quadro
  1. Clique no card do contato.
  2. Escolha a conexão e inicie o ticket (se já houver um ticket aberto, o sistema avisa).

Gestão > Tarefas

Tarefas

/tarefas

Crie e acompanhe tarefas internas da equipe com prioridade, prazo, responsável e recorrência, em lista ou em quadro por status.

Criar e concluir uma tarefavídeo · sem som

O que dá para fazer

  • + Nova Tarefa com Nome, Descrição, Comentários, Prioridade, Status, Prazo e Responsável.
  • Recorrência: diária, dias da semana, semanal, quinzenal, mensal, trimestral e outras.
  • Visualização Lista ou Kanban (colunas por status).
  • Busca Buscar tarefa... e caixa para marcar a tarefa como concluída.

Passo a passo

Como criar uma tarefa
  1. Clique em + Nova Tarefa.
  2. Digite o Nome e defina o Prazo.
  3. Escolha o Responsável, a Prioridade e, se for repetitiva, a Recorrência.
  4. Clique em Salvar.
Como concluir uma tarefa
  1. Marque a caixa da tarefa na lista (ou edite e mude o Status para Concluída).

Módulo

Administração

Conecte os canais de atendimento, organize equipes e cadastre usuários e perfis de acesso.

Administração > Canais

Canais

/sessoes

Aqui você conecta e gerencia os canais de comunicação: WhatsApp (por QR Code ou API oficial), Instagram, Facebook, Telegram, e-mail, webchat e outros. É o primeiro passo para usar o Atendimento.

Adicionar um canalvídeo · sem som

O que dá para fazer

  • + Adicionar Canal com o Tipo de Canal em grupos: META (OFICIAL), WHATSAPP NÃO OFICIAIS e OUTROS.
  • QR Code (não oficial): conecta o WhatsApp lendo um QR Code no celular, como no WhatsApp Web; também aceita Usar código de pareamento.
  • API oficial (Meta/WABA): conexão autorizada pela Meta, com modelos (templates) aprovados; feita pelo botão Conectar via WhatsApp OAuth após configurar Integrações Meta.
  • Cartões com status CONNECTED / DISCONNECTED e botões Novo QR Code, Reconectar e Desconectar.
  • Atribuições de cada canal: ChatFlow (bot), Fila e Usuário padrão; também Agente de IA vinculado e Mensagem de Despedida.
  • Recursos do Canal: avaliação automática, transcrição de áudio, auto distribuir, mensagem de aniversário, controle de horário, posição na fila e mais.
  • Menu ⋮: Editar, Definir padrão, Transferir Canal, Fechar tickets abertos, Fechar tickets pendentes e Excluir.

Passo a passo

Como conectar o WhatsApp por QR Code
  1. Clique em + Adicionar Canal.
  2. Em Tipo de Canal, escolha uma opção de WHATSAPP NÃO OFICIAIS (ex.: Baileys).
  3. Digite o Nome do Canal e, em Atribuições, defina bot, fila e usuário padrão, se quiser.
  4. Clique em Criar Canal e, no cartão, clique em Novo QR Code.
  5. No celular, abra WhatsApp > Aparelhos conectados > Conectar aparelho, leia o QR Code e aguarde o status CONNECTED.
Como conectar o WhatsApp pela API oficial
  1. Configure o aplicativo Meta em Configuração > Integrações Meta.
  2. Em Canais, clique em + Adicionar Canal e escolha WhatsApp Oficial.
  3. Selecione o Aplicativo Meta e clique em Conectar via WhatsApp OAuth.
  4. Autorize na janela da Meta; o canal é criado automaticamente.
Como reconectar um canal desconectado
  1. Localize o cartão com status DISCONNECTED.
  2. Clique em Novo QR Code e leia o código com o celular (ou em Reconectar, nos canais da Meta com acesso vencido).
  3. Aguarde o status voltar para CONNECTED.

Administração > Equipes

Equipes

/equipes

Agrupe usuários por área (Suporte, Vendas, Financeiro...) para conversar em grupo no Chat Privado e organizar o trabalho.

Criar uma equipevídeo · sem som

O que dá para fazer

  • + Nova Equipe com foto, Nome e chave Ativa.
  • Tabela com ID, Nome, Status e Membros.
  • Ações Gerenciar membros, Editar e Excluir.

Passo a passo

Como criar uma equipe
  1. Clique em + Nova Equipe.
  2. Digite o Nome (e adicione uma foto, se quiser), deixe Ativa ligada e clique em Salvar.
  3. Na linha da equipe, clique em Gerenciar membros.
  4. Marque os usuários e clique em Salvar membros.

Administração > Usuários

Usuários

/usuarios

Cadastre atendentes, supervisores e administradores, defina o perfil de acesso, as filas e os canais de cada um, além de horários e permissões de menu.

Cadastrar um usuário e conhecer os perfisvídeo · sem som

O que dá para fazer

  • + Novo Usuário com Nome, Email, Senha, Telefone e Perfil (Atendente, Supervisor, Administrador ou Personalizado).
  • Usuário Restrito limita a visão às próprias conversas e filas.
  • Permissões de Menu para escolher quais módulos o usuário vê; Horário de Atendimento por dia da semana.
  • Botões por linha: Filas e Conexões (o que o usuário atende), Editar, Inativar e Excluir.
  • Gerenciar Perfis: crie perfis de acesso reutilizáveis com + Novo perfil e Sugerir com IA.
  • Coluna Online mostra quem está conectado agora.

Passo a passo

Como cadastrar um atendente
  1. Clique em + Novo Usuário.
  2. Preencha Nome, Email (login) e Senha e escolha o Perfil Atendente.
  3. (Opcional) Ajuste Permissões de Menu e Horário de Atendimento e clique em Salvar.
  4. Na linha do usuário, clique em Filas, marque as filas que ele atende e clique em Salvar.
  5. Clique em Conexões, marque os canais e clique em Salvar.
Como criar um perfil de acesso personalizado
  1. Clique em Gerenciar Perfis e depois em + Novo perfil.
  2. (Opcional) Descreva o que o perfil precisa e clique em Sugerir (Sugerir com IA).
  3. Preencha Nome do perfil e marque os Modulos visiveis; clique em Salvar.
  4. Edite o usuário, escolha o Perfil Personalizado e selecione o perfil criado.
Como remover o acesso de um ex-colaborador
  1. Na linha do usuário, clique em Inativar.
  2. O acesso é bloqueado e o histórico de atendimentos é preservado.

Módulo

Automação

Mensagens agendadas, agentes de IA, aniversários, chatbots visuais e respostas automáticas no Instagram.

Automação > Agendamentos

Agendamentos

/agendamentos

Agende mensagens de WhatsApp para serem enviadas automaticamente a um contato em data e hora definidas, com opção de repetição. Não confunda com a Agenda de consultas.

Agendar uma mensagemvídeo · sem som

O que dá para fazer

  • + Novo Agendamento com Conexão, Contato e Quando (Personalizado, +30 minutos, Amanhã, Próxima semana).
  • Recorrência de 5 a 60 dias ou personalizada.
  • Chave Assinatura para incluir seu nome na mensagem.
  • Abrir ticket ao enviar: se o contato responder, vai direto para a Fila/Usuário escolhidos.
  • Lista com Status: Pendente, Enviado, Falhou e Cancelado.

Passo a passo

Como agendar um follow-up
  1. Clique em + Novo Agendamento.
  2. Escolha a Conexão e busque o Contato.
  3. Em Quando, use um atalho como Amanhã ou escolha Personalizado com data e hora.
  4. Escreva a Mensagem e, se quiser, defina Recorrência e Abrir ticket ao enviar.
  5. Clique em Agendar e acompanhe o Status na lista.

Automação > Agentes de IA

Agentes de IA

/agentes-ia

Crie agentes de IA de pré-atendimento que respondem clientes com base no conteúdo da sua empresa, seguem o estilo definido, executam ações e transferem a conversa para a equipe certa.

Conhecer a criação de um Agente de IAvídeo · sem som

O que dá para fazer

  • Modelos prontos: Um agente (Recepção, Vendas, Suporte, Financeiro, Agendamento, Pós-venda) ou Equipe pronta (Recepção + especialistas).
  • + Novo Agente com as abas Perfil, Provedor, Conhecimento, Roteamento, Acoes e Ferramentas.
  • Perfil: instruções e estilo, Palavra de saída (o cliente pede um humano) e Atraso na resposta.
  • Conhecimento: artigos, documentos (PDF, Word, planilha...), links de páginas e perguntas frequentes.
  • Roteamento: destinos (Fila, Atendente, Fluxo ou Outro agente de IA), Resumo automático na transferência e Fila de emergência.
  • Acoes: aplicar etiqueta, mover no funil, criar oportunidade, anotar, avisar a equipe ou parar a IA.
  • Ferramentas: consultar a agenda, agendar mensagens, consultar outros agentes e Servidores MCP.

Passo a passo

Como criar um agente a partir de um modelo
  1. Clique em Modelos prontos, escolha Um agente e o modelo (ex.: Vendas) e clique em Continuar.
  2. Na aba Provedor, informe a Chave da IA e o Modelo e clique em Salvar.
  3. Na aba Conhecimento, complete e ative as perguntas de exemplo e adicione artigos ou documentos.
  4. Na aba Roteamento, adicione os destinos e defina a Fila de emergência.
  5. Deixe o agente Ativo e vincule-o a um canal (em Canais) ou ao bloco Agente de IA do Chat Flow.
Como criar um agente do zero
  1. Clique em + Novo Agente.
  2. Na aba Perfil, dê um Nome e escreva as Instruções e estilo de atendimento.
  3. Na aba Provedor, informe a chave e o modelo e clique em Salvar (a aba Conhecimento só libera depois do primeiro salvamento).
  4. Preencha Conhecimento, Roteamento, Acoes e Ferramentas e salve novamente.

Automação > Aniversários

Aniversários

/aniversarios

Veja os contatos que fazem aniversário no mês ou no dia e envie mensagens de parabéns. Também ajuda a corrigir datas de nascimento com dia e mês trocados.

Consultar aniversariantesvídeo · sem som

O que dá para fazer

  • Lista de Aniversariantes com filtro de mês (Todos os meses, Janeiro a Dezembro) e contador.
  • Busca Buscar contato....
  • Ícone de mensagem ao lado do contato para enviar parabéns, com a opção Ir para atendimento.
  • Revisar datas: aponta datas suspeitas (dia e mês possivelmente trocados em importações).

Passo a passo

Como parabenizar um cliente
  1. Escolha o mês no filtro (ou veja os aniversariantes de hoje).
  2. Clique no ícone de mensagem ao lado do contato.
  3. Escolha a conexão e escreva a mensagem.
  4. Envie ou clique em Ir para atendimento para abrir a conversa.

Automação > Chat Flow

Chat Flow

/chat-flow

Construa chatbots de forma visual, ligando passos com mensagens, menus de botões ou listas, integrações, ações de CRM e encaminhamentos para filas e atendentes.

Abrir um fluxo no Chat Flowvídeo · sem som

O que dá para fazer

  • + Novo Fluxo com Nome do Fluxo, Número para Teste, Ativo e regras de Quando ativar (público, tags, canais, prioridade e horário).
  • Cartões com Abrir editor do fluxo, Editar informações, Duplicar fluxo, Importar JSON e Excluir fluxo.
  • Editor visual com + Passo, Tabela de horários, Blocos, Auto Layout, Desfazer/Refazer, Avisos e Salvar.
  • Blocos MENSAGENS: Mensagem, Mídia, Botões, Lista, Template (HSM), Sticker, Contato, Localização, Vídeo Conferência e Botão PIX.
  • Blocos ROTEAMENTO: Transferir, Carência, Trocar de Canal, Sub-fluxo, Atraso e Bloquear Chatbot.
  • Blocos INTEGRAÇÕES: Webhook, Webhook Avançado, ChatGPT, Agente de IA, Typebot, n8n, VAPI e SMS.
  • Blocos CRM E AÇÕES: Etiqueta, Kanban, Oportunidade, Google Agenda, Agendamento, Razões, Notas, Consulta Agenda e Notificar equipe.
  • Nó Configurações: opção inválida, timeout, tentativas, fora do horário, distribuição automática e mensagem de despedida.

Passo a passo

Como criar um menu de boas-vindas
  1. Clique em + Novo Fluxo, dê um nome, preencha Número para Teste com o seu número e clique em Criar Fluxo.
  2. Abra o editor e clique em + Passo; em Interações, adicione Botões com o texto e até 3 opções.
  3. Em Condições, defina para cada resposta o Encaminhar para (fila, atendente ou outro passo).
  4. Ligue o nó Início ao passo e configure Opção inválida e Sem resposta (timeout) em Configurações.
  5. Clique em Salvar, teste pelo seu WhatsApp e, quando estiver tudo certo, apague o Número para Teste para liberar a todos.
Como adicionar blocos ao fluxo
  1. No editor, clique em Blocos.
  2. Busque o bloco ou navegue pelas categorias.
  3. Arraste o bloco para o canvas e ligue-o aos passos.
  4. Clique em Salvar.

Automação > Instagram

Automação do Instagram

/instagram-automacao

Respostas automáticas a comentários em posts e lives, menções e respostas a stories e posts compartilhados por DM, além de agendamento de publicações. Disponível após conectar uma conta profissional do Instagram em Canais.

Visão geral da Automação Instagramvídeo · sem som

O que dá para fazer

  • Bloco Canal para escolher a conta e botão Validar permissões.
  • Aba Automações com + Nova automação em 4 etapas: Gatilho, Publicações, Condições e Ações.
  • Gatilhos: Comentário, Comentário em live, Menção em story, Resposta a story e Post compartilhado em DM.
  • Ações: Responder publicamente no comentário, Responder via DM, Aplicar ChatFlow após a DM e Follow-up se não responder.
  • Aba Posts agendados com + Novo post agendado (Foto, Reel ou Carrossel).
  • Aba Histórico com os disparos das automações.

Passo a passo

Como criar a automação “comente e receba na DM”
  1. Escolha o Canal e clique em + Nova automação.
  2. Em Gatilho, dê um nome, escolha Comentário e a prioridade; clique em Avançar.
  3. Em Publicações, escolha o post (ou todas); em Condições, informe a palavra-chave, o modo Contém e o Intervalo por contato (horas).
  4. Em Ações, escreva a resposta pública e a mensagem da DM (com o link).
  5. Clique em Salvar e acompanhe em Histórico.
Como agendar um post
  1. Abra a aba Posts agendados e clique em + Novo post agendado.
  2. Escolha o Tipo, selecione os arquivos (ou Buscar na galeria) e escreva a Legenda.
  3. Defina Agendar para e clique em Agendar.

Módulo

Gestão Comercial

Cadastros da operação (filas, etiquetas, horários, pausas, catálogo, cobranças, lojas) e análises e registros do atendimento.

Gestão Comercial > Operação > Agendamento Público

Agendamento Público

/agendamento-publico

Crie páginas públicas de agendamento para que os clientes marquem horários sozinhos, com confirmação e check-in pelo WhatsApp.

Criar uma página de agendamento públicovídeo · sem som

O que dá para fazer

  • Coluna Páginas com Nova página e a lista das páginas criadas.
  • Campos Título, Link (slug), Descrição, Fuso horário e Canal WhatsApp.
  • IDENTIDADE VISUAL: URL do logo, Cor principal e Mensagem de boas-vindas.
  • CHECK-IN (A CAMINHO?): Minutos antes para enviar o check-in (0 desliga).
  • Chave Página ativa.

Passo a passo

Como criar uma página de agendamento
  1. Clique em Nova página.
  2. Preencha Título, Link (slug) e Descrição.
  3. Escolha o Fuso horário e o Canal WhatsApp.
  4. (Opcional) Personalize logo, cor, boas-vindas e minutos do check-in.
  5. Deixe Página ativa ligada, clique em Criar e copie o link público da página.

Gestão Comercial > Operação > Cobranças

Cobranças

/cobrancas

Acompanhe o que foi cobrado pelo WhatsApp e dê baixa nos pagamentos recebidos. As cobranças são criadas dentro da conversa com o cliente.

Acompanhar cobrançasvídeo · sem som

O que dá para fazer

  • Cartões Total a receber e Total recebido.
  • Filtro Situação: Aguardando pagamento, Pago, Cobrança cancelada, Cobrança expirada e Cobrança não enviada.
  • Busca por Nº da cobrança.
  • Marcação da cobrança como paga após conferir o recebimento.

Passo a passo

Como dar baixa em uma cobrança
  1. Filtre a Situação por Aguardando pagamento.
  2. Confira o recebimento na sua conta.
  3. Marque a cobrança como paga.

Gestão Comercial > Operação > Etiquetas

Etiquetas

/etiquetas

Etiquetas (tags) coloridas classificam contatos e atendimentos, por exemplo VIP, Orçamento ou Urgente. Podem ser aplicadas automaticamente quando o cliente envia uma palavra-chave.

Criar uma etiquetavídeo · sem som

O que dá para fazer

  • Nova Etiqueta com Nome, Cor e Ativo.
  • Palavra-chave gatilho: a etiqueta é aplicada sozinha quando a palavra aparece numa mensagem.
  • Tabela com ID, Nome, Cor, Ativo e ações Editar e Excluir.

Passo a passo

Como criar uma etiqueta
  1. Clique em Nova Etiqueta.
  2. Digite o Nome e escolha a Cor.
  3. (Opcional) Digite uma Palavra-chave gatilho e clique em +.
  4. Deixe Ativo marcado e clique em Salvar.
Como etiquetar um contato no atendimento
  1. Na conversa, clique no ⓘ para abrir Detalhes do contato.
  2. Na aba Perfil, em Etiquetas, clique em Adicionar tag... e escolha a etiqueta.

Gestão Comercial > Operação > Fechamento

Fechamento

/fechamento

Cadastre as mensagens enviadas ao encerrar um atendimento e as demandas (motivos) que categorizam cada encerramento.

Mensagens de fechamento e demandasvídeo · sem som

O que dá para fazer

  • Aba Mensagens de fechamento com Novo Fechamento: Nome, Mensagem de fechamento e Demanda vinculada (opcional).
  • Aba Demandas com Nova Demanda: Nome e Cor.
  • Ao usar uma mensagem com demanda vinculada, a demanda é registrada automaticamente no atendimento.

Passo a passo

Como configurar o encerramento
  1. Na aba Demandas, clique em Nova Demanda, defina nome e cor e clique em Salvar.
  2. Na aba Mensagens de fechamento, clique em Novo Fechamento.
  3. Dê um nome, escreva a mensagem e vincule a demanda.
  4. Clique em Criar.

Gestão Comercial > Operação > Filas

Filas

/filas

Filas são os setores (Comercial, Financeiro, Suporte...) para onde os atendimentos são direcionados. Cada fila tem cor, horário próprio e distribuição automática opcional.

Criar uma fila de atendimentovídeo · sem som

O que dá para fazer

  • Nova Fila com Ativa, Nome e Cor.
  • Horário de atendimento por dia: Aberto, Por horário (com 1º período e 2º período) ou Fechado.
  • Distribuição Automática: novos clientes vão direto para o atendente disponível.
  • Fora do horário: mensagem enviada quando a fila está fechada.

Passo a passo

Como criar uma fila
  1. Clique em Nova Fila.
  2. Digite o Nome e escolha a Cor.
  3. Para cada dia, escolha Aberto, Por horário (e preencha os períodos) ou Fechado.
  4. Ligue Distribuição Automática, se quiser, e escreva a mensagem de fora do horário.
  5. Clique em Salvar. Depois, vincule os atendentes em Usuários > Filas.

Gestão Comercial > Operação > Horário Atendimento

Horário de Atendimento

/horario-atendimento

Defina o horário geral de atendimento da empresa, a mensagem enviada fora do expediente e os feriados. As filas podem ter horário próprio.

Horário de atendimento da empresavídeo · sem som

O que dá para fazer

  • Horários por Dia: 24 horas, Agendado (com início e fim) ou Fechado.
  • Mensagem Fora do Horário enviada automaticamente.
  • Feriados com Adicionar Feriado; feriados ativos bloqueiam o atendimento no dia.
  • Botão Salvar no topo.

Passo a passo

Como configurar o expediente
  1. Para cada dia, escolha 24 horas, Agendado (informe início e fim) ou Fechado.
  2. Escreva a Mensagem Fora do Horário.
  3. Clique em Adicionar Feriado para cada feriado.
  4. Clique em Salvar.

Gestão Comercial > Operação > Motivos de Pausa

Motivos de Pausa

/motivos-pausa

Cadastre os motivos que os atendentes escolhem ao pausar (Almoço, Banheiro, Reunião), com limites de tempo e de uso por dia.

Criar um motivo de pausavídeo · sem som

O que dá para fazer

  • Novo motivo com Nome e Cor.
  • Tempo máximo (min): ao ultrapassar, o operador e a gestão são alertados.
  • Máx. usos/dia por atendente.
  • Opções Alertar ao estourar o tempo e Ativo.

Passo a passo

Como criar um motivo de pausa
  1. Clique em Novo motivo.
  2. Digite o Nome e escolha a Cor.
  3. Defina Tempo máximo (min) e Máx. usos/dia.
  4. Clique em Salvar.

Gestão Comercial > Operação > Notas

Notas

/notas

Lista central das notas internas registradas nas conversas. Use para encontrar anotações da equipe e abrir o atendimento correspondente.

Consultar notas e avaliaçõesvídeo · sem som

O que dá para fazer

  • Busca Buscar notas... e filtros Data início e Data fim.
  • Tabela com Ticket ID, Conteúdo, Usuário e Data.
  • Ações Espiar conversa, Ir para atendimento, Editar e Excluir.

Passo a passo

Como consultar notas
  1. Busque por texto ou filtre o período.
  2. Clique no olho para espiar a conversa com a nota destacada, ou em Ir para atendimento.
  3. Se necessário, edite ou exclua a nota.

Gestão Comercial > Operação > Nuvemshop

Nuvemshop

/nuvemshop

Veja os pedidos e cadastre produtos da sua loja Nuvemshop sem sair do CRM. Disponível após conectar a loja Nuvemshop.

Tela Nuvemshop no Formula IA
Tela de Nuvemshop

O que dá para fazer

  • Aba Pedidos com busca e filtros Status, Pagamento e período.
  • Aba Produtos com Novo Produto: nome, tipo, status, preços, SKU, descrições, estoque, peso e imagem.
  • O produto criado aqui é publicado na loja.

Passo a passo

Como consultar pedidos
  1. Abra a aba Pedidos.
  2. Filtre por Status, Pagamento ou período e clique em Atualizar.
Como cadastrar um produto na loja
  1. Abra a aba Produtos e clique em Novo Produto.
  2. Preencha os dados e escolha a imagem.
  3. Clique em Criar.

Gestão Comercial > Operação > WooCommerce

WooCommerce

/woocommerce

Veja os pedidos e cadastre produtos da sua loja WooCommerce sem sair do CRM. Disponível após conectar a loja WooCommerce.

Tela WooCommerce no Formula IA
Tela de WooCommerce

O que dá para fazer

  • Aba Pedidos com busca, filtro Status e período.
  • Aba Produtos com Novo Produto: nome, tipo, status, preços, SKU, descrições, estoque, peso e imagem.
  • O produto criado aqui é publicado na loja.

Passo a passo

Como consultar pedidos
  1. Abra a aba Pedidos.
  2. Filtre por Status ou período e clique em Atualizar.
Como cadastrar um produto na loja
  1. Abra a aba Produtos e clique em Novo Produto.
  2. Preencha os dados e escolha a imagem.
  3. Clique em Criar.

Gestão Comercial > Análise & Registros > Avaliações

Avaliações

/avaliacoes

Pesquisa de satisfação enviada ao cliente quando o atendimento é resolvido, com lista de notas, relatório NPS e configurações da pesquisa.

Consultar notas e avaliaçõesvídeo · sem som

O que dá para fazer

  • Aba Avaliações: filtros por data e Nota; ações Visualizar conversa, Ir para atendimento e Excluir.
  • Aba Relatório NPS: período, Agrupar por (Dia, Semana, Mês) e NPS = % Promotores − % Detratores.
  • Aba Configurações: Tipo de avaliação (Nota nativa ou Link externo / Plataforma) e comportamento ao resolver.
  • Etiqueta e mensagem de resposta automáticas para cada nota.
  • Habilitar avaliações, Privacidade das avaliações, Pontuação máxima e faixas de Classificação NPS.

Passo a passo

Como ativar a pesquisa de satisfação
  1. Abra a aba Configurações.
  2. Escolha o Tipo de avaliação e o comportamento ao resolver o atendimento.
  3. (Opcional) Defina etiquetas e mensagens para cada nota.
  4. Ligue Habilitar avaliações, ajuste as faixas NPS e clique em Salvar configurações.
Como ver o NPS do período
  1. Abra a aba Relatório NPS.
  2. Escolha o período (ou 7 dias, 30 dias, 90 dias) e o agrupamento.

Gestão Comercial > Análise & Registros > Log Ligações

Log de Ligações

/logligacao

Histórico das ligações de voz realizadas e recebidas pelo WhatsApp (WaVoIP), com filtros por período, status, agente e números.

Consultar protocolos e ligaçõesvídeo · sem som

O que dá para fazer

  • Filtros Data Início, Data Fim, Status, Agente, Número Origem e Número Destino.
  • Status como Completada, Perdida, Ocupado e Falhou.
  • Botões Buscar, Atualizar e Exportar CSV.

Passo a passo

Como consultar ligações
  1. Defina o período.
  2. Filtre por status, agente ou números.
  3. Clique em Buscar e, se quiser, em Exportar CSV.

Gestão Comercial > Análise & Registros > Painel Atendimentos

Painel de Atendimentos

/painel-atendimentos

Painel de supervisão em tempo real: mostra os atendimentos abertos e pendentes de cada atendente, fila ou canal e permite assumir ou redistribuir conversas.

Supervisionar no Painel de Atendimentosvídeo · sem som

O que dá para fazer

  • Chave Ao Vivo e botão Atualizar agora.
  • Indicadores Total Abertos, Pendentes e Total Tickets.
  • Uma coluna por atendente e a coluna Pendentes (sem atribuição).
  • Cartões com Atender e Espiar conversa.
  • Filtros com período e Tipo de Visualização: Por Usuário, Por Fila ou Por Canal.
  • Ações em massa: resolver tickets abertos ou pendentes, encerrar atendimentos do período, transferir entre usuários, filas ou canais e marcar todos como lidos.

Passo a passo

Como supervisionar a operação
  1. Deixe Ao Vivo ligado e veja os totais.
  2. Clique em Filtros e escolha o Tipo de Visualização.
  3. Clique no olho para espiar uma conversa.
  4. Clique em Atender num pendente para assumir o cliente.

Gestão Comercial > Análise & Registros > Protocolos

Protocolos

/protocolos

Lista dos números de protocolo gerados automaticamente para cada atendimento. Use para localizar uma conversa a partir do protocolo informado pelo cliente.

Consultar protocolos e ligaçõesvídeo · sem som

O que dá para fazer

  • Busca Buscar protocolos... e filtros Data início e Data fim.
  • Tabela com Protocolo, Ticket ID, Contato e Data.
  • Ações Espiar conversa, Ir para atendimento, Editar e Excluir.

Passo a passo

Como localizar um atendimento pelo protocolo
  1. Digite o número em Buscar protocolos... ou filtre por data.
  2. Clique em Espiar conversa ou em Ir para atendimento.

Gestão Comercial > Análise & Registros > Relatórios

Relatórios

/relatorios

Galeria de relatórios de contatos, atendimentos, vendas, tarefas e pausas, com filtros de período, impressão e exportação para Excel ou CSV.

Gerar um relatóriovídeo · sem som

O que dá para fazer

  • Atendimento: Atendimentos (filtros avançados), Resumo por Usuário e Produtividade Diária.
  • Contatos: Contatos, Contatos por Carteira, Contatos por Estado, Contatos por Etiqueta e Contatos por Kanban.
  • Vendas e relacionamento: Ações até a venda, Funil por atendente e Relacionamento por tipo.
  • Equipe: Tarefas por atendente e Pausas dos Atendentes.
  • Atalhos de período Hoje, 7 dias, 30 dias e 90 dias.
  • Botões Gerar Relatório (ou Aplicar), Imprimir e Exportar Excel/XLSX/CSV.

Passo a passo

Como gerar um relatório
  1. Clique no cartão do relatório desejado.
  2. Defina o período (ou use um atalho, como 90 dias) e os filtros.
  3. Clique em Gerar Relatório (ou Gerar / Aplicar).
  4. Se quiser, clique em Imprimir ou Exportar.

Gestão Comercial > Análise & Registros > WaVoIP

WaVoIP

/wavoip

Gerencie as chamadas de voz pelo WhatsApp feitas com o WaVoIP. Disponível após contratar o WaVoIP e vincular um token a uma conexão.

O que dá para fazer

  • Aba Login e Chamadas: autenticação na conta WaVoIP com Autorizar e Carregar Chamadas.
  • Aba Por Token: lista as chamadas de um token já cadastrado.
  • O histórico consolidado também aparece em Log Ligações.

Passo a passo

Como ver as chamadas
  1. Na aba Login e Chamadas, informe as credenciais da sua conta WaVoIP.
  2. Clique em Autorizar e Carregar Chamadas.
  3. Ou abra a aba Por Token e selecione um token cadastrado.

Módulo

Configuração

Integrações por API, parâmetros gerais do sistema, contas oficiais da Meta e registro de auditoria.

Configuração > API

API

/api-service

Crie tokens de API para integrar sistemas externos (enviar mensagens, criar tickets, contatos e mais) e consulte a documentação e o sandbox dos endpoints.

APIs: tokens, documentação e sandboxvídeo · sem som

O que dá para fazer

  • + Nova API com Nome e Sessão (o canal pelo qual a API envia).
  • Cartões com URL DE INTEGRAÇÃO (com botão copiar), PREFIXO DO TOKEN, renovar token, editar e excluir.
  • Documentação de rotas agrupada por tema, com Expandir tudo / Recolher tudo.
  • Sandbox para testar os endpoints direto na página.
  • Botão Postman com a coleção pronta.

Passo a passo

Como criar um token de API
  1. Clique em + Nova API.
  2. Dê um Nome e escolha a Sessão.
  3. Clique em Salvar e copie o token exibido.
  4. Use a URL DE INTEGRAÇÃO e envie o token no cabeçalho Authorization: Bearer.
  5. Teste os endpoints no Sandbox.

Configuração > Configurações

Configurações

/configuracoes

Parâmetros gerais do sistema: regras de tickets e distribuição, notificações, e-mail, segurança, integrações com IA e outros serviços, apps de lojas e redes, e itens do CRM.

Encontrar uma configuraçãovídeo · sem som

O que dá para fazer

  • Aba Gerais: regras de atendimento (visibilidade, pausa, notificações, janela WABA, região e idioma), SMTP, A2F (autenticação em 2 fatores) e Importar histórico.
  • Aba Bots IA: idioma da IA, Copiloto de IA e integrações como ChatGPT, Gemini, Claude, Typebot, N8N e Dify.
  • Aba Integrações: Meta, Webhooks, Webchat (widget para o site), Google Calendar, Rocket.Chat, SMS e outros serviços.
  • Aba Apps: credenciais de apps para LinkedIn, Mercado Livre, OLX, TikTok, WooCommerce, Nuvemshop, Google e YouTube.
  • Aba CRM: Lanes (Kanban), Demandas, Variáveis e Tipos de relacionamento.
  • Aba Sessões: atalho para gerenciar os canais conectados.
  • Campo Buscar configuração... (atalho /), chips Ativadas e Alteradas agora e filtro por tema.

Passo a passo

Como encontrar e alterar uma configuração
  1. Na aba Gerais, clique em Buscar configuração... (ou tecle /).
  2. Digite um termo, por exemplo “pausa”, ou use Filtrar por tema.
  3. Ligue ou desligue a opção (ex.: Permitir pausar atendimento).
  4. Clique em Salvar.
Como ativar o Copiloto de IA
  1. Abra a aba Bots IA e clique em Copiloto de IA.
  2. Ligue Habilitar Copiloto e escolha o Provedor de IA.
  3. Informe a API Key e, se quiser, o modelo e o prompt.
  4. Clique em Testar e depois em Salvar.
Como ativar a autenticação em 2 fatores
  1. Na aba Gerais, abra A2F.
  2. Ligue Habilitar A2F e clique em Salvar.
Como colocar um chat no seu site
  1. Crie um canal do tipo Webchat em Canais.
  2. Em Integrações > Webchat, selecione o canal.
  3. Clique em Gerar Widget e cole o código no seu site.
Como criar as etapas do Kanban
  1. Na aba CRM, abra Lanes (Kanban).
  2. Clique em + Nova Lane, defina Nome e Cor e clique em Salvar.
  3. Use ↑ e ↓ para reordenar.

Configuração > Integrações Meta

Integrações Meta

/integracoes-meta

Conecte e administre as contas oficiais da Meta: WhatsApp Business API (WABA), Instagram e Facebook Messenger, com webhooks, tokens e modelos de mensagem (templates).

Tela Integrações Meta no Formula IA
Tela de Integrações Meta

O que dá para fazer

  • Aba Contas Meta com Login / OAuth (Aplicativo Meta, Login com Facebook, Verificar Status), WhatsApp, Instagram e Facebook.
  • Gerenciamento de Telefones WABA: telefone, webhook, perfil, operação, uso e limites e custos.
  • Aba Configurações: URLs de Webhook para copiar, links de Política de Privacidade e Termos de Uso, Token Meta e Verificação WABA.
  • Aba Templates: Lista de Templates e Criar Template com Gerar com IA e Prévia.

Passo a passo

Como conectar sua conta Meta
  1. Em Login / OAuth, selecione o Aplicativo.
  2. Clique em Login com Facebook e autorize as permissões na janela da Meta.
  3. Carregue as contas WABA, escolha o número e crie o canal (ele aparece em Administração > Canais).
Como criar um template de mensagem
  1. Abra Templates > Criar Template.
  2. (Opcional) Use Gerar com IA.
  3. Preencha Nome do Template (só letras minúsculas, números e _), Idioma, Categoria e o Corpo.
  4. Confira a Prévia e clique em Criar Template; aguarde a aprovação da Meta.

Configuração > Log de Auditoria

Log de Auditoria

/audit-log

Registro de todas as ações feitas no sistema (quem, quando, o quê e de onde), para segurança e conformidade.

Meu Perfil e Log de Auditoriavídeo · sem som

O que dá para fazer

  • Filtros Ação, Entidade, Usuário, Data inicial e Data final, com o botão Filtrar.
  • Tabela com Data/Hora, Usuário, Ação (Criar, Atualizar, Excluir), Entidade, Status e IP.
  • Ver detalhes de cada registro.
  • Exportar CSV para arquivar.

Passo a passo

Como investigar uma alteração
  1. Filtre por Usuário, Entidade, Ação ou período.
  2. Clique em Filtrar.
  3. Na linha desejada, clique em Ver detalhes.

Módulo

Conta

Seus dados pessoais, senha, instalação do aplicativo e tour de boas-vindas.

Conta > Meu Perfil

Meu Perfil

/meu-perfil

Atualize seus dados pessoais, troque sua senha, instale o aplicativo no dispositivo e reveja o tour de boas-vindas.

Meu Perfil e Log de Auditoriavídeo · sem som

O que dá para fazer

  • Card Meu Perfil com Nome, E-mail e Telefone e o botão Salvar perfil.
  • Alterar Senha com Senha atual, Nova senha e Confirmar nova senha.
  • Instalar App para acessar o sistema como aplicativo no computador ou celular.
  • Tour de boas-vindas com o botão Rever tour.

Passo a passo

Como atualizar seus dados
  1. Edite Nome, E-mail ou Telefone.
  2. Clique em Salvar perfil.
Como trocar sua senha
  1. Preencha Senha atual, Nova senha e Confirmar nova senha.
  2. Clique em Alterar senha.

Para desenvolvedores

API: rotas e testes

As 216 rotas da API externa do Fórmula, com parâmetros e exemplos. Use o testador para enviar uma requisição real com a sua API.

URL basehttps://api.formulaia.ai/v2/api/external/{ApiID}
AutenticaçãoAuthorization: Bearer {token}
Onde pegarEm Configuração > API, clique em + Nova API. O ApiID é o código no fim da URL de integração, e o token aparece uma única vez ao criar. Veja API (tokens).

Testar a API

Atenção: o teste executa a ação de verdade na sua conta. Rotas de envio mandam mensagens reais e rotas de exclusão apagam dados.

GET/

O token é enviado ao servidor deste guia só para repassar a requisição à API do Fórmula. Ele não é gravado. Se você marcar "Lembrar", ele fica salvo apenas neste navegador.

Agendamentos10

POST/appointment/createAppointmentCreate

Criar um novo agendamento. Obrigatórios: title (até 255 caracteres) e startAt. Datas (startAt e endAt) aceitas em: AAAA-MM-DD com ou sem hora (2025-01-15, 2025-01-15T14:30:00 ou 2025-01-15 14:30), com fuso opcional Z, ±HH:mm ou ±HHmm (2025-01-15T14:30:00-03:00, 2025-01-15T17:30:00.000Z), e DD/MM/AAAA com hora opcional HH:mm ou HH:mm:ss (15/01/2025 ou 15/01/2025 14:30). Com barra é sempre dia/mês/ano. Sem fuso, a hora vale no fuso horário do servidor (mande o fuso, ex.: -03:00, para não depender dele); só a data = 00:00. Número (timestamp) ou outro formato responde 400. endAt é opcional e não pode ser anterior a startAt. status: pending (padrão), confirmed, cancelled, completed ou no_show. contactId, whatsappId, userId (atendente responsável) e bookingProfessionalId (profissional da página de agendamento), quando enviados, precisam ser da empresa do token; sem userId o agendamento nasce sem atendente vinculado. Outros campos do corpo são ignorados (location, meetingLink e checkInStatus só pelo AppointmentUpdate). Erros: 400 ERR_MISSING_FIELDS (com fields), ERR_INVALID_APPOINTMENT_TITLE, ERR_INVALID_START_AT, ERR_INVALID_END_AT, ERR_END_AT_BEFORE_START_AT e ERR_INVALID_STATUS; 404 ERR_CONTACT_NOT_FOUND, ERR_CHANNEL_NOT_FOUND, ERR_USER_NOT_FOUND e ERR_BOOKING_PROFESSIONAL_NOT_FOUND.

https://api.formulaia.ai/v2/api/external/{ApiID}/appointment/create
Corpo (JSON)
{
  "title": "Reunião",
  "description": "Alinhamento de projeto",
  "contactId": 1,
  "contactName": "João Silva",
  "contactPhone": "5511999999999",
  "whatsappId": 1,
  "userId": 1,
  "bookingProfessionalId": 1,
  "startAt": "2025-01-15T14:30:00",
  "endAt": "2025-01-15T15:30:00",
  "status": "pending",
  "notes": "Detalhes do agendamento"
}
GET/appointment/listAppointmentList

Listar agendamentos com filtros, em ordem de início (startAt). startFrom e startTo aceitam os mesmos formatos de data do AppointmentCreate (com barra é sempre DD/MM/AAAA; sem fuso vale o fuso horário do servidor). Só a data = 00:00 desse dia: para incluir o último dia inteiro, mande a hora em startTo (ex.: 31/01/2025 23:59:59). Data fora desses formatos responde 400 ERR_INVALID_FIELD com field (startFrom ou startTo).

https://api.formulaia.ai/v2/api/external/{ApiID}/appointment/list
Query params
pageNúmero da páginaEx.: 1
limitItens por páginaEx.: 20
statuspending, confirmed, cancelled, completed ou no_show (opcional)
startFromInício a partir desta data, inclusive (ex.: 2025-01-01, 01/01/2025 ou 01/01/2025 08:00)
startToInício até esta data, inclusive (ex.: 2025-01-31T23:59:59 ou 31/01/2025 23:59:59; só a data = 00:00 desse dia)
searchBusca no título e no nome do contato (opcional)
GET/appointment/show/:idAppointmentShow
https://api.formulaia.ai/v2/api/external/{ApiID}/appointment/show/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
POST/appointment/update/:idAppointmentUpdate

Atualizar um agendamento existente. Só os campos enviados mudam: title, description, startAt, endAt, status, checkInStatus, contactId, whatsappId, userId, bookingProfessionalId, contactName, contactPhone, notes, location e meetingLink (outros campos são ignorados). Para remarcar, use startAt (e endAt) nos mesmos formatos de data do AppointmentCreate (com barra é sempre DD/MM/AAAA); endAt null ou vazio apaga o término. userId (atendente responsável) e bookingProfessionalId (profissional da página de agendamento) precisam ser da sua empresa, como contactId e whatsappId; null ou vazio desvincula. checkInStatus: none, confirmed, on_the_way ou no_show (null ou vazio volta para none). Erros: 400 ERR_INVALID_APPOINTMENT_TITLE, ERR_INVALID_START_AT, ERR_INVALID_END_AT, ERR_END_AT_BEFORE_START_AT, ERR_INVALID_STATUS e ERR_INVALID_FIELD (com field, ex.: checkInStatus fora da lista); 404 ERR_APPOINTMENT_NOT_FOUND, ERR_CONTACT_NOT_FOUND, ERR_CHANNEL_NOT_FOUND, ERR_USER_NOT_FOUND e ERR_BOOKING_PROFESSIONAL_NOT_FOUND.

https://api.formulaia.ai/v2/api/external/{ApiID}/appointment/update/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "startAt": "16/01/2025 10:00",
  "endAt": "16/01/2025 11:00",
  "title": "Reunião Atualizada",
  "status": "confirmed",
  "checkInStatus": "confirmed",
  "notes": "Novos detalhes"
}
POST/appointment/delete/:idAppointmentDelete

Excluir um agendamento.

https://api.formulaia.ai/v2/api/external/{ApiID}/appointment/delete/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}
POST/scheduleReminder/createScheduleReminderCreate

Criar um lembrete automático para agendamentos. O lembrete não tem data própria: ele dispara hoursBeforeEvent horas antes de cada agendamento. hoursBeforeEvent e messageType (message ou waba_template) são obrigatórios.

https://api.formulaia.ai/v2/api/external/{ApiID}/scheduleReminder/create
Corpo (JSON)
{
  "name": "Lembrete de consulta",
  "description": "Aviso enviado antes do agendamento",
  "hoursBeforeEvent": 24,
  "messageType": "message",
  "messageContent": "Lembrete: sua consulta é amanhã!",
  "whatsappId": 1,
  "active": true
}
GET/scheduleReminder/listScheduleReminderList
https://api.formulaia.ai/v2/api/external/{ApiID}/scheduleReminder/list
POST/scheduleReminder/update/:idScheduleReminderUpdate

Atualizar um lembrete agendado. Campos aceitos: name, description, hoursBeforeEvent, messageType, messageContent, whatsappId e active. Campo com outro nome é descartado sem erro.

https://api.formulaia.ai/v2/api/external/{ApiID}/scheduleReminder/update/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "name": "Lembrete de consulta",
  "hoursBeforeEvent": 12,
  "messageType": "message",
  "messageContent": "Mensagem atualizada",
  "whatsappId": 1,
  "active": true
}
POST/scheduleReminder/delete/:idScheduleReminderDelete

Excluir um lembrete agendado.

https://api.formulaia.ai/v2/api/external/{ApiID}/scheduleReminder/delete/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}
POST/scheduleReminder/toggle/:idScheduleReminderToggle

Alternar o estado de um lembrete: a cada chamada ele inverte entre ativo e inativo. Não recebe corpo e não é idempotente, então repetir a chamada volta ao estado anterior.

https://api.formulaia.ai/v2/api/external/{ApiID}/scheduleReminder/toggle/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}

Campanhas15

POST/campaign/createCampaignCreate

Criar uma nova campanha de disparo. Campos obrigatórios: name e sessionId (ou whatsappId). Informe message1/message2/message3 (ou message) — ou, para WABA, templateName + templateLanguage. start e delay têm default (agora e 20s). Esta rota não anexa mídia: a campanha nasce só com texto e o arquivo precisa ser anexado pelo painel.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/create
Corpo (JSON)
{
  "name": "Campanha Promo",
  "sessionId": 1,
  "message1": "Olá {{name}}!",
  "message2": "Olá {{name}}, tudo bem?",
  "message3": "Oi {{name}}!",
  "start": "2026-05-01 10:00",
  "delay": 20,
  "sendTimeWindowEnabled": false,
  "sendTimeStart": null,
  "sendTimeEnd": null
}
GET/campaign/listCampaignList

Listar campanhas com paginação. Esta rota não filtra por status.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/list
Query params
pageNúmero da páginaEx.: 1
limitItens por páginaEx.: 20
POST/campaign/update/:campaignIdCampaignUpdate

Atualizar dados de uma campanha. Só é aceito enquanto a campanha estiver em pending, scheduled, paused ou canceled; em processing ou finished a rota responde 404. O texto vai em message1/message2/message3 e a variável é {{name}}. O status não é editável aqui: use start, cancel, pause ou resume.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/update/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
Corpo (JSON)
{
  "name": "Campanha Atualizada",
  "message1": "Nova mensagem {{name}}!"
}
POST/campaign/duplicate/:campaignIdCampaignDuplicate

Duplicar uma campanha existente.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/duplicate/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
Corpo (JSON)
{}
POST/campaign/start/:campaignIdCampaignStart

Iniciar o disparo de uma campanha.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/start/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
Corpo (JSON)
{}
POST/campaign/cancel/:campaignIdCampaignCancel

Cancelar uma campanha em andamento.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/cancel/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
Corpo (JSON)
{}
POST/campaign/pause/:campaignIdCampaignPause

Pausar uma campanha em andamento.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/pause/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
Corpo (JSON)
{}
POST/campaign/resume/:campaignIdCampaignResume

Retomar uma campanha pausada.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/resume/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
Corpo (JSON)
{}
POST/campaign/skip/:campaignIdCampaignSkip

Pular para o próximo contato da campanha.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/skip/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
Corpo (JSON)
{}
GET/campaign/report/:campaignIdCampaignReport
https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/report/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
POST/campaign/delete/:campaignIdCampaignDelete

Excluir uma campanha.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/delete/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
Corpo (JSON)
{}
GET/campaign/contacts/:campaignIdCampaignContactsList
https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/contacts/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
POST/campaign/contacts/add/:campaignIdCampaignContactsAdd

Adicionar contatos a uma campanha. Aceita 3 formatos: (1) array de IDs [{ id }], (2) array com number/name (cria ou reusa o contato), (3) objeto { contactsIds: [1,2,3] }.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/contacts/add/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
Corpo (JSON)
[
  {
    "name": "Contato 1",
    "number": "5511999990001"
  },
  {
    "id": 42
  }
]
POST/campaign/contacts/remove/:campaignId/:contactIdCampaignContactsRemove

Remover um contato de uma campanha.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/contacts/remove/:campaignId/:contactId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
contactIdobrigatórioSubstitui :contactId na rota
Corpo (JSON)
{}
POST/campaign/contacts/removeAll/:campaignIdCampaignContactsRemoveAll

Remover todos os contatos de uma campanha.

https://api.formulaia.ai/v2/api/external/{ApiID}/campaign/contacts/removeAll/:campaignId
Parâmetros de caminho
campaignIdobrigatórioSubstitui :campaignId na rota
Corpo (JSON)
{}

Canais e Sessões8

POST/showChannelShowChannelInformation

Buscar informações de um canal pelo número.

https://api.formulaia.ai/v2/api/external/{ApiID}/showChannel
Corpo (JSON)
{
  "number": "5511999999999"
}
POST/showChannelByIdShowChannelInformationById

Buscar informações de um canal pelo ID.

https://api.formulaia.ai/v2/api/external/{ApiID}/showChannelById
Corpo (JSON)
{
  "id": 43
}
POST/listGroupInfoListGroupsInfo

Listar grupos e participantes da sessão WhatsApp.

https://api.formulaia.ai/v2/api/external/{ApiID}/listGroupInfo
Corpo (JSON)
{
  "listGroups": true,
  "listParticipants": true
}
POST/createtSessionCreateSession

Criar uma nova sessão/instância WhatsApp.

https://api.formulaia.ai/v2/api/external/{ApiID}/createtSession
Corpo (JSON)
{
  "name": "Minha Instância",
  "status": "DISCONNECTED",
  "type": "baileys"
}
POST/deleteSessionDeleteSession

Excluir uma sessão WhatsApp.

https://api.formulaia.ai/v2/api/external/{ApiID}/deleteSession
Corpo (JSON)
{
  "whatsappId": 1
}
POST/startSessionStartSession

Iniciar/conectar uma sessão WhatsApp.

https://api.formulaia.ai/v2/api/external/{ApiID}/startSession
Corpo (JSON)
{
  "whatsappId": 1
}
POST/qrCodeSessionShowQrCode

Obter o QR Code de uma sessão para conexão.

https://api.formulaia.ai/v2/api/external/{ApiID}/qrCodeSession
Corpo (JSON)
{
  "whatsappId": 1
}
POST/requestNewQrCodeSessionRequestNewQrCode

Solicitar novo QR Code para uma sessão.

https://api.formulaia.ai/v2/api/external/{ApiID}/requestNewQrCodeSession
Corpo (JSON)
{
  "whatsappId": 1
}

Contatos13

POST/createContactCreateContact

Criar um novo contato no sistema. Endereço opcional: cep (até 20 caracteres), logradouro (rua), numeroEndereco, complemento, bairro e cidade (até 255 cada) e estado (até 100). Os textos são aparados e o que passar do limite é cortado, sem erro; o estado é gravado como veio. A resposta traz o contato com os 7 campos de endereço (cep, logradouro, numeroEndereco, complemento, bairro, cidade, estado).

https://api.formulaia.ai/v2/api/external/{ApiID}/createContact
Corpo (JSON)
{
  "name": "Nome Completo",
  "number": "5511999999999",
  "email": "contato@email.com",
  "cpf": "000.000.000-00",
  "firstName": "Nome",
  "lastName": "Sobrenome",
  "businessName": "Empresa",
  "birthdayDate": "01/01/1990",
  "cep": "01310-100",
  "logradouro": "Avenida Paulista",
  "numeroEndereco": "1000",
  "complemento": "Sala 101",
  "bairro": "Bela Vista",
  "cidade": "São Paulo",
  "estado": "SP"
}
POST/showcontactShowContact

Buscar dados de um contato pelo número do WhatsApp. A resposta traz o endereço do contato: cep, logradouro, numeroEndereco, complemento, bairro, cidade e estado.

https://api.formulaia.ai/v2/api/external/{ApiID}/showcontact
Corpo (JSON)
{
  "number": "5511999999999"
}
POST/updateContactUpdateContact

Atualizar dados de um contato existente. Endereço: cep (até 20 caracteres), logradouro (rua), numeroEndereco, complemento, bairro e cidade (até 255 cada) e estado (até 100), aparados e cortados no limite, sem erro; o estado é gravado como veio. Em cada campo de endereço, "" ou null apaga o valor e campo ausente fica como está. A resposta traz o contato com os 7 campos de endereço.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateContact
Corpo (JSON)
{
  "name": "Nome Atualizado",
  "number": "5511999999999",
  "email": "novo@email.com",
  "cpf": "000.000.000-00",
  "firstName": "Nome",
  "lastName": "Sobrenome",
  "businessName": "Empresa",
  "birthdayDate": "01/01/1990",
  "kanban": 2,
  "cep": "01310-100",
  "logradouro": "Avenida Paulista",
  "numeroEndereco": "1000",
  "complemento": "Sala 101",
  "bairro": "Bela Vista",
  "cidade": "São Paulo",
  "estado": "SP"
}
POST/telegramInviteTelegramInvite

Gerar o link de convite do Telegram de um contato já cadastrado: quando a pessoa abre o link e toca em Iniciar, a conta do Telegram dela é ligada a esse contato e o atendimento pelo Telegram fica disponível para ele. O link vale 7 dias, é de uso único e só o mais recente de cada contato funciona (gerar de novo invalida o anterior); quem tiver o link consegue usá-lo. Informe contactId ou, no lugar dele, number (número de telefone do contato; número que corresponde a mais de um contato devolve 422 ERR_NUMBER_AMBIGUOUS com a lista candidates). whatsappId é o bot do Telegram: opcional quando o token é de uma sessão do Telegram (vale o bot do token; outro whatsappId responde 403 ERR_SESSION_NOT_AUTH_TOKEN) ou quando a empresa tem um só bot conectado. Resposta (em data): { link, expiresAt, contactId, whatsappId }. Erros: 400 ERR_CONTACT_OR_NUMBER_REQUIRED (sem contactId e sem number), 404 ERR_CONTACT_NOT_FOUND (contato inexistente ou mesclado), 409 ERR_TELEGRAM_ALREADY_LINKED (o contato já tem Telegram), 400 ERR_TELEGRAM_INVITE_GROUP (grupo), 409 ERR_TELEGRAM_BOT_NOT_FOUND (nenhum bot do Telegram conectado, ou whatsappId que não é um bot do Telegram da empresa), 400 ERR_TELEGRAM_BOT_REQUIRED (mais de um bot conectado: informe whatsappId), 409 ERR_TELEGRAM_BOT_OFFLINE (bot desconectado), 424 ERR_TELEGRAM_BOT_UNAVAILABLE (o Telegram não respondeu ao consultar o bot), 409 ERR_TELEGRAM_INVITE_DISABLED (recurso desligado no servidor), 409 ERR_TELEGRAM_INVITE_UNAVAILABLE (servidor ainda sem a atualização do banco).

https://api.formulaia.ai/v2/api/external/{ApiID}/telegramInvite
Corpo (JSON)
{
  "contactId": 123,
  "whatsappId": 7
}
POST/blockContactBlockContact

Bloquear ou desbloquear um contato.

https://api.formulaia.ai/v2/api/external/{ApiID}/blockContact
Corpo (JSON)
{
  "contactId": 1,
  "blocked": true
}
POST/contacts/searchSearchContacts

Buscar contatos com filtros avançados (texto, tag, wallet, bloqueado e endereço). addressBairro e addressCidade buscam por "contém", sem diferenciar acento e maiúsculas. addressUfs aceita as siglas das 27 UFs em texto separado por vírgula ("SP,RJ") ou em lista (["SP", "RJ"]) e acha também o estado gravado por extenso (ex.: "São Paulo"); UF pedida sem nenhuma sigla válida devolve lista vazia. Resposta: { success, data, pagination: { page, limit, total, totalPages, hasMore }, meta: { addressFilter } }; cada contato de data traz id, number, name, email, blocked, cep, logradouro, numeroEndereco, complemento, bairro, cidade, estado, tags e wallets. meta.addressFilter false indica servidor sem as colunas de endereço: os filtros de endereço foram ignorados.

https://api.formulaia.ai/v2/api/external/{ApiID}/contacts/search
Corpo (JSON)
{
  "searchParam": "",
  "page": 1,
  "limit": 40,
  "tagId": null,
  "walletId": null,
  "blocked": false,
  "addressBairro": "Bela Vista",
  "addressCidade": "São Paulo",
  "addressUfs": "SP,RJ"
}
POST/updateContactKanbanUpdateContactKanban

Atualizar o kanban (carteira) de um contato.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateContactKanban
Corpo (JSON)
{
  "contactId": 1,
  "kanban": 2
}
POST/updateContactWalletUpdateContactWallet

Definir as wallets (carteiras) de um contato. A lista enviada substitui a atual: para tirar uma wallet, reenvie apenas as que devem permanecer; walletIds: [] (ou walletId: null) descarteiriza o contato.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateContactWallet
Corpo (JSON)
{
  "contactId": 1,
  "walletId": 2
}
GET/getContactExtraInfoGetContactExtraInfo

Buscar campos personalizados (extraInfo) de um contato.

https://api.formulaia.ai/v2/api/external/{ApiID}/getContactExtraInfo
Query params
contactIdobrigatórioID do contatoEx.: 1
POST/updateContactExtraInfoUpdateContactExtraInfo

Atualizar campos personalizados de um contato.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateContactExtraInfo
Corpo (JSON)
{
  "contactId": 1,
  "extraInfo": [
    {
      "name": "Campo 1",
      "value": "Valor 1"
    },
    {
      "name": "Campo 2",
      "value": "Valor 2"
    }
  ]
}
POST/findduplicatecontactsFindDuplicateContacts

Listar pares de contatos duplicados (variantes do 9º dígito BR / colisões) candidatos a mesclagem. Sem paginação: use limit para ampliar o lote. O limit é aplicado antes do filtro matchKinds.

https://api.formulaia.ai/v2/api/external/{ApiID}/findduplicatecontacts
Corpo (JSON)
{
  "limit": 500,
  "matchKinds": [
    "nine_digit_variant",
    "cross_collision"
  ]
}
POST/mergecontactsMergeContacts

Mesclar contatos duplicados em lote. Cada par indica o contato principal e o duplicado, por id (primaryId/duplicateId) ou por número (primaryNumber/duplicateNumber).

https://api.formulaia.ai/v2/api/external/{ApiID}/mergecontacts
Corpo (JSON)
{
  "pairs": [
    {
      "primaryId": 1,
      "duplicateId": 2
    },
    {
      "primaryNumber": "5511999999999",
      "duplicateNumber": "551199999999"
    }
  ]
}
POST/unmergecontactsUnmergeContacts

Desfazer a mesclagem de contatos previamente mesclados. Informe duplicateIds (ids dos contatos duplicados) ou mergeLogIds (ids dos registros de mesclagem). Um dos dois é obrigatório.

https://api.formulaia.ai/v2/api/external/{ApiID}/unmergecontacts
Corpo (JSON)
{
  "duplicateIds": [
    2
  ]
}

CRM Pipeline10

POST/pipeline/createPipelineCreate

Criar um novo pipeline de CRM. O pipeline só tem nome: não existe campo de descrição.

https://api.formulaia.ai/v2/api/external/{ApiID}/pipeline/create
Corpo (JSON)
{
  "name": "Pipeline de Vendas"
}
GET/pipeline/listPipelineList

Listar os pipelines do tenant, com paginação.

https://api.formulaia.ai/v2/api/external/{ApiID}/pipeline/list
Query params
pageNúmero da páginaEx.: 1
limitItens por páginaEx.: 20
GET/pipeline/show/:idPipelineShow
https://api.formulaia.ai/v2/api/external/{ApiID}/pipeline/show/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
POST/pipeline/update/:idPipelineUpdate

Atualizar um pipeline existente. O pipeline só tem nome: não existe campo de descrição.

https://api.formulaia.ai/v2/api/external/{ApiID}/pipeline/update/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "name": "Pipeline Atualizado"
}
POST/pipeline/delete/:idPipelineDelete

Excluir um pipeline. Só é aceito quando o pipeline não tem nenhuma etapa, oportunidade ou ação vinculada; caso contrário a rota responde 500. Apague as etapas e oportunidades antes.

https://api.formulaia.ai/v2/api/external/{ApiID}/pipeline/delete/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}
POST/stage/createStageCreate

Criar uma etapa (stage) em um pipeline.

https://api.formulaia.ai/v2/api/external/{ApiID}/stage/create
Corpo (JSON)
{
  "name": "Prospecção",
  "pipelineId": 1,
  "order": 1,
  "color": "#4A90E2"
}
GET/stage/listStageList

Listar etapas de um pipeline.

https://api.formulaia.ai/v2/api/external/{ApiID}/stage/list
Query params
pipelineIdobrigatórioID do pipelineEx.: 1
GET/stage/show/:idStageShow
https://api.formulaia.ai/v2/api/external/{ApiID}/stage/show/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
POST/stage/update/:idStageUpdate

Atualizar uma etapa existente.

https://api.formulaia.ai/v2/api/external/{ApiID}/stage/update/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "name": "Negociação",
  "order": 2,
  "color": "#E24A4A"
}
POST/stage/delete/:idStageDelete

Excluir uma etapa de pipeline. Só é aceito quando a etapa não tem oportunidade nem ação apontando para ela; caso contrário a rota responde 500. Mova as oportunidades antes.

https://api.formulaia.ai/v2/api/external/{ApiID}/stage/delete/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}

Dashboard10

GET/dash/ticketsAndTimesDashTicketsAndTimes

Estatísticas gerais do período: quantidade de atendimentos, demanda ativa e receptiva, tempos médios e novos contatos. Por padrão considera apenas atendimentos individuais.

https://api.formulaia.ai/v2/api/external/{ApiID}/dash/ticketsAndTimes
Query params
startDateData inicial (YYYY-MM-DD)
endDateData final (YYYY-MM-DD)
isGrouptrue traz somente grupos; ausente ou false traz somente atendimentos individuais (não há valor que some os dois)Ex.: false
GET/dash/ticketsChannelsDashTicketsChannels

Tickets agrupados por canal de comunicação.

https://api.formulaia.ai/v2/api/external/{ApiID}/dash/ticketsChannels
Query params
startDateData inicial (YYYY-MM-DD)
endDateData final (YYYY-MM-DD)
isGrouptrue traz somente grupos; ausente ou false traz somente atendimentos individuais (não há valor que some os dois)Ex.: false
GET/dash/ticketsEvolutionDashTicketsEvolution

Evolução diária/mensal do volume de tickets.

https://api.formulaia.ai/v2/api/external/{ApiID}/dash/ticketsEvolution
Query params
startDateData inicial (YYYY-MM-DD)
endDateData final (YYYY-MM-DD)
isGrouptrue traz somente grupos; ausente ou false traz somente atendimentos individuais (não há valor que some os dois)Ex.: false
GET/dash/ticketsEvolutionByValueDashTicketsEvolutionByValue

Evolução de tickets por valor (CRM).

https://api.formulaia.ai/v2/api/external/{ApiID}/dash/ticketsEvolutionByValue
Query params
startDateData inicial (YYYY-MM-DD)
endDateData final (YYYY-MM-DD)
isGrouptrue traz somente grupos; ausente ou false traz somente atendimentos individuais (não há valor que some os dois)Ex.: false
GET/dash/ticketsEvolutionChannelsNameDashTicketsEvolutionChannelsName

Evolução de tickets por nome de canal.

https://api.formulaia.ai/v2/api/external/{ApiID}/dash/ticketsEvolutionChannelsName
Query params
startDateData inicial (YYYY-MM-DD)
endDateData final (YYYY-MM-DD)
isGrouptrue traz somente grupos; ausente ou false traz somente atendimentos individuais (não há valor que some os dois)Ex.: false
GET/dash/ticketsPerUserDashTicketsPerUser

Tickets atribuídos por usuário/atendente.

https://api.formulaia.ai/v2/api/external/{ApiID}/dash/ticketsPerUser
Query params
startDateData inicial (YYYY-MM-DD)
endDateData final (YYYY-MM-DD)
isGrouptrue traz somente grupos; ausente ou false traz somente atendimentos individuais (não há valor que some os dois)Ex.: false
GET/dash/ticketsUserDashTicketsUser

Resumo de tickets por usuário com métricas.

https://api.formulaia.ai/v2/api/external/{ApiID}/dash/ticketsUser
Query params
startDateData inicial (YYYY-MM-DD)
endDateData final (YYYY-MM-DD)
isGrouptrue traz somente grupos; ausente ou false traz somente atendimentos individuais (não há valor que some os dois)Ex.: false
GET/dash/ticketsQueueDashTicketsQueue

Tickets agrupados por fila de atendimento.

https://api.formulaia.ai/v2/api/external/{ApiID}/dash/ticketsQueue
Query params
startDateData inicial (YYYY-MM-DD)
endDateData final (YYYY-MM-DD)
isGrouptrue traz somente grupos; ausente ou false traz somente atendimentos individuais (não há valor que some os dois)Ex.: false
GET/dash/ticketsStatusDashTicketsStatus

Tickets agrupados por status (aberto, pendente, encerrado).

https://api.formulaia.ai/v2/api/external/{ApiID}/dash/ticketsStatus
Query params
startDateData inicial (YYYY-MM-DD)
endDateData final (YYYY-MM-DD)
isGrouptrue traz somente grupos; ausente ou false traz somente atendimentos individuais (não há valor que some os dois)Ex.: false
GET/dash/ticketsReasonsDashTicketsReasons

Tickets agrupados por motivo de encerramento.

https://api.formulaia.ai/v2/api/external/{ApiID}/dash/ticketsReasons
Query params
startDateData inicial (YYYY-MM-DD)
endDateData final (YYYY-MM-DD)
isGrouptrue traz somente grupos; ausente ou false traz somente atendimentos individuais (não há valor que some os dois)Ex.: false

Envio em Lote8

POST/bulkFastMessageBulkFastMessage

Disparo rápido para lista de números sem criar tickets. Só funciona em canais whatsapp, baileys e zapo, e whatsappType é obrigatório.

https://api.formulaia.ai/v2/api/external/{ApiID}/bulkFastMessage
Corpo (form-data)
whatsappIdID da sessão
whatsappTypewhatsapp, baileys ou zapo (obrigatório)
arrayNumbers5511999999999,5511888888888 (lista separada por vírgula)
groupsfalse
messageTexto da mensagem
min3 (intervalo mínimo em segundos)
max8 (intervalo máximo em segundos)
mediaarquivo (opcional)
mediaLocaltrue (obrigatório ao enviar o arquivo)
POST/bulkSendMessageBulkSendMessage

Disparo em lote criando tickets para cada contato. whatsappType é obrigatório.

https://api.formulaia.ai/v2/api/external/{ApiID}/bulkSendMessage
Corpo (form-data)
whatsappIdID da sessão
whatsappTypewhatsapp, baileys, zapo, meow, evo, evogo, zapi ou uazapi (obrigatório)
arrayNumbers5511999999999,5511888888888 (lista separada por vírgula)
groupsfalse
messageTexto da mensagem
min3 (intervalo mínimo em segundos)
max8 (intervalo máximo em segundos)
mediaarquivo (opcional; por URL use media=true + mediaUrl)
mediaLocaltrue (obrigatório ao enviar o arquivo)
POST/bulkSendMessageWithVariableBulkSendMessageWithVariable

Disparo com registro de lote, um destinatário por chamada. A substituição das variáveis é feita pelo integrador: o texto enviado em message sai literalmente como está.

https://api.formulaia.ai/v2/api/external/{ApiID}/bulkSendMessageWithVariable
Corpo (form-data)
whatsappIdID da sessão
whatsappTypewhatsapp, baileys, zapo, meow, evo, evogo, zapi ou uazapi (obrigatório)
number5511999999999
messageOlá João, seu pedido chegou (já interpolado)
min3 (intervalo mínimo em segundos)
max8 (intervalo máximo em segundos)
dataInputlinhas do lote (opcional; só dimensiona o relatório)
bulkDispatchIdid devolvido na 1ª chamada (opcional; agrupa o relatório)
POST/bulkIndividualBulkIndividual

Disparo individual de mensagem a um único número. whatsappType é obrigatório.

https://api.formulaia.ai/v2/api/external/{ApiID}/bulkIndividual
Corpo (form-data)
whatsappIdID da sessão
whatsappTypewhatsapp, baileys, zapo, meow, evo, evogo, zapi, uazapi, waba, gupshup ou dialog360 (obrigatório)
number5511999999999
messageTexto da mensagem
mediaarquivo (opcional)
mediaLocaltrue (obrigatório ao enviar o arquivo; whatsapp, baileys e zapo)
GET/bulkDispatch/listBulkDispatchList

Listar registros de disparos em lote. Disparos de SMS em massa (dispatchType "sms") não têm canal (whatsapp null) e vêm sem a lista de números (metadata.contacts); o detalhe traz a lista.

https://api.formulaia.ai/v2/api/external/{ApiID}/bulkDispatch/list
Query params
pageNúmero da páginaEx.: 1
limitItens por páginaEx.: 20
statuspending, processing, completed, failed ou cancelled (opcional)
GET/bulkDispatch/show/:idBulkDispatchShow
https://api.formulaia.ai/v2/api/external/{ApiID}/bulkDispatch/show/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
POST/bulkDispatch/update/:idBulkDispatchUpdate

Atualizar status de um disparo em lote. Disparos de SMS em massa (dispatchType "sms") são controlados pelo servidor e respondem 400 ERR_SMS_BULK_READONLY por aqui.

https://api.formulaia.ai/v2/api/external/{ApiID}/bulkDispatch/update/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "status": "cancelled",
  "cancellationReason": "Motivo do cancelamento"
}
POST/bulkDispatch/incrementProgress/:idBulkDispatchIncrementProgress

Incrementar o progresso de um disparo em lote. Disparos de SMS em massa (dispatchType "sms") são controlados pelo servidor e respondem 400 ERR_SMS_BULK_READONLY.

https://api.formulaia.ai/v2/api/external/{ApiID}/bulkDispatch/incrementProgress/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "success": true,
  "error": null
}

Envio por Ticket (Omnichannel)4

POST/sendMessageByTicketSendMessageByTicketText

Enviar texto livre usando o ticketId como identificador da conversa — em QUALQUER canal do tenant (WhatsApp, Instagram, Messenger, Telegram, Webchat, E-mail, Hub, Mercado Livre...). O canal é resolvido pelo próprio ticket; o token vale para qualquer ticket do tenant. Ticket fechado exige reopen: true (senão 409 ERR_TICKET_CLOSED). Resposta inclui ticketId efetivo, messageId e delivered (webchat).

https://api.formulaia.ai/v2/api/external/{ApiID}/sendMessageByTicket
Corpo (JSON)
{
  "ticketId": 1262,
  "body": "Olá! Como posso ajudar?",
  "externalKey": "chave-001",
  "reopen": false,
  "isClosed": false
}
POST/sendMessageByTicketSendMessageByTicketFile

Enviar arquivo por ticketId via multipart/form-data (imagem, vídeo, áudio, documento — conforme o canal suportar).

https://api.formulaia.ai/v2/api/external/{ApiID}/sendMessageByTicket
Corpo (form-data)
mediaarquivo (tipo: file)
ticketId1262
bodylegenda/texto opcional
externalKeychave-001
reopenfalse
isClosedfalse
POST/sendMessageByTicketSendMessageByTicketMediaUrl

Enviar mídia por ticketId a partir de URL pública (o backend baixa a URL; esquema http/https, sem redirect, hosts internos bloqueados).

https://api.formulaia.ai/v2/api/external/{ApiID}/sendMessageByTicket
Corpo (JSON)
{
  "ticketId": 1262,
  "mediaUrl": "https://exemplo.com/imagem.png",
  "body": "Legenda opcional",
  "externalKey": "chave-001"
}
POST/sendMessageByTicketSendMessageByTicketBase64

Enviar arquivo em Base64 por ticketId (mimeType obrigatório; fileName opcional, sem caminhos).

https://api.formulaia.ai/v2/api/external/{ApiID}/sendMessageByTicket
Corpo (JSON)
{
  "ticketId": 1262,
  "body": "Legenda opcional",
  "base64Data": "iVBORw0KGgoAAAANSUhEUgAAAAUA...",
  "mimeType": "image/png",
  "fileName": "exemplo",
  "externalKey": "chave-001"
}

Filas CRUD3

POST/createQueueDataCreateQueueData

Criar uma nova fila de atendimento. O nome da fila vai no campo queue, único obrigatório. Cor e responsável não são definidos por esta rota: a fila nasce sem cor e vinculada ao usuário dono do token.

https://api.formulaia.ai/v2/api/external/{ApiID}/createQueueData
Corpo (JSON)
{
  "queue": "Fila Suporte",
  "isActive": true,
  "businessHours": [],
  "messageBusinessHours": "Estamos fora do horário de atendimento."
}
POST/updateQueueData/:idUpdateQueueData

Atualizar uma fila de atendimento existente. O nome da fila vai no campo queue. Atenção: esta rota zera a cor da fila e refaz o vínculo com o usuário dono do token; para preservar a cor, edite pelo painel.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateQueueData/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "queue": "Fila Suporte Atualizada",
  "isActive": true,
  "businessHours": [],
  "messageBusinessHours": "Estamos fora do horário de atendimento."
}
POST/deleteQueueData/:idDeleteQueueData

Excluir uma fila de atendimento pelo ID.

https://api.formulaia.ai/v2/api/external/{ApiID}/deleteQueueData/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}

Galeria3

GET/gallery/listGalleryList

Listar arquivos da galeria do tenant, com paginação fixa de 20 itens por página.

https://api.formulaia.ai/v2/api/external/{ApiID}/gallery/list
Query params
pageNumberNúmero da páginaEx.: 1
searchParamBusca por nome do arquivo ou descrição (opcional)
fileTypeimage, pdf, video, audio, document, archive ou other — aceita lista separada por vírgula (opcional)
POST/gallery/uploadGalleryUpload

Fazer upload de arquivo(s) para a galeria (máx. 10 arquivos, 500MB).

https://api.formulaia.ai/v2/api/external/{ApiID}/gallery/upload
Corpo (form-data)
filesarquivo(s) (tipo: file, até 10 arquivos)
POST/gallery/delete/:idGalleryDelete

Excluir um arquivo da galeria pelo ID.

https://api.formulaia.ai/v2/api/external/{ApiID}/gallery/delete/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}

Gerenciamento de Grupos15

POST/group/listGroupList

Listar grupos do WhatsApp da sessão.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/list
Corpo (JSON)
{
  "whatsappId": 1
}
POST/group/showByIdGroupShowById

Buscar informações de um grupo pelo ID.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/showById
Corpo (JSON)
{
  "whatsappId": 1,
  "groupId": "12345678901@g.us"
}
POST/group/createGroupCreate

Criar um ou mais grupos no WhatsApp. titles aceita texto ou lista e cria um grupo por título; number é o participante inicial (um só). A resposta traz apenas o status por título, sem o ID do grupo: para obter o ID, chame /group/list logo depois e localize o grupo pelo nome.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/create
Corpo (JSON)
{
  "whatsappId": 1,
  "titles": [
    "Grupo de Suporte"
  ],
  "number": "5511999999999"
}
POST/group/listParticipantsGroupListParticipants

Listar participantes de um ou mais grupos.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/listParticipants
Corpo (JSON)
{
  "whatsappId": 1,
  "groupIds": [
    "12345678901@g.us"
  ]
}
POST/group/addParticipantGroupAddParticipant

Adicionar participante(s) a um ou mais grupos. Em geral exige que o número conectado seja administrador (a não ser que o grupo permita que qualquer membro adicione). A resposta traz um item por grupo: { groupId, status, message?, reason?, providerStatus?, participants? }. Nos canais por QR Code (Baileys e Zapo), participants traz cada número: { participant, jid, status (success, error ou unknown), code, reason }; reason do número: invite_required (a pessoa só entra por convite), already_in_group, not_allowed, not_on_whatsapp ou rejected. Se todos os números forem recusados, o grupo vem com status error, message ERR_GROUP_PARTICIPANTS_REJECTED e reason participants_rejected. Nas demais falhas, reason do grupo: session_not_connected, not_admin, group_not_found, timeout, invalid_request (por exemplo participants vazio, com message ERR_GROUP_PARTICIPANTS_REQUIRED), provider_error (com providerStatus, o status HTTP do provedor) ou unknown.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/addParticipant
Corpo (JSON)
{
  "whatsappId": 1,
  "groupIds": [
    "12345678901@g.us"
  ],
  "participants": [
    "5511777777777"
  ]
}
POST/group/removeParticipantGroupRemoveParticipant

Remover participante(s) de um ou mais grupos. Requer que o número conectado seja administrador do grupo. A resposta traz um item por grupo: { groupId, status, message?, reason?, providerStatus?, participants? }. Nos canais por QR Code (Baileys e Zapo), participants traz cada número: { participant, jid, status (success, error ou unknown), code, reason }; reason do número: not_in_group (o número não está no grupo) ou rejected. Se todos os números forem recusados, o grupo vem com status error, message ERR_GROUP_PARTICIPANTS_REJECTED e reason participants_rejected. Nas demais falhas, reason do grupo: session_not_connected, not_admin, group_not_found, timeout, invalid_request (por exemplo participants vazio, com message ERR_GROUP_PARTICIPANTS_REQUIRED), provider_error (com providerStatus, o status HTTP do provedor) ou unknown.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/removeParticipant
Corpo (JSON)
{
  "whatsappId": 1,
  "groupIds": [
    "12345678901@g.us"
  ],
  "participants": [
    "5511777777777"
  ]
}
POST/group/promoteGroupPromote

Promover participante(s) a administrador do grupo. Requer que o número conectado seja administrador do grupo. A resposta traz um item por grupo: { groupId, status, message?, reason?, providerStatus?, participants? }. Nos canais por QR Code (Baileys e Zapo), participants traz cada número: { participant, jid, status (success, error ou unknown), code, reason }; reason do número: not_in_group (o número não está no grupo) ou rejected. Se todos os números forem recusados, o grupo vem com status error, message ERR_GROUP_PARTICIPANTS_REJECTED e reason participants_rejected. Nas demais falhas, reason do grupo: session_not_connected, not_admin, group_not_found, timeout, invalid_request (por exemplo participants vazio, com message ERR_GROUP_PARTICIPANTS_REQUIRED), provider_error (com providerStatus, o status HTTP do provedor) ou unknown.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/promote
Corpo (JSON)
{
  "whatsappId": 1,
  "groupIds": [
    "12345678901@g.us"
  ],
  "participants": [
    "5511777777777"
  ]
}
POST/group/demoteGroupDemote

Rebaixar administrador(es) a participante comum. Requer que o número conectado seja administrador do grupo. A resposta traz um item por grupo: { groupId, status, message?, reason?, providerStatus?, participants? }. Nos canais por QR Code (Baileys e Zapo), participants traz cada número: { participant, jid, status (success, error ou unknown), code, reason }; reason do número: not_in_group (o número não está no grupo) ou rejected. Se todos os números forem recusados, o grupo vem com status error, message ERR_GROUP_PARTICIPANTS_REJECTED e reason participants_rejected. Nas demais falhas, reason do grupo: session_not_connected, not_admin, group_not_found, timeout, invalid_request (por exemplo participants vazio, com message ERR_GROUP_PARTICIPANTS_REQUIRED), provider_error (com providerStatus, o status HTTP do provedor) ou unknown.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/demote
Corpo (JSON)
{
  "whatsappId": 1,
  "groupIds": [
    "12345678901@g.us"
  ],
  "participants": [
    "5511777777777"
  ]
}
POST/group/changeTitleGroupChangeTitle

Alterar o nome/título de um grupo.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/changeTitle
Corpo (JSON)
{
  "whatsappId": 1,
  "groupIds": [
    "12345678901@g.us"
  ],
  "title": "Novo Nome do Grupo"
}
POST/group/changeDescriptionGroupChangeDescription

Alterar a descrição de um grupo.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/changeDescription
Corpo (JSON)
{
  "whatsappId": 1,
  "groupIds": [
    "12345678901@g.us"
  ],
  "description": "Nova descrição do grupo"
}
POST/group/setAdminsOnlyGroupSetAdminsOnly

Configurar se apenas admins podem enviar mensagens.

https://api.formulaia.ai/v2/api/external/{ApiID}/group/setAdminsOnly
Corpo (JSON)
{
  "whatsappId": 1,
  "groupIds": [
    "12345678901@g.us"
  ],
  "adminsOnly": true
}
POST/group/getInviteLinkGroupGetInviteLink

Obter o link de convite de um grupo. Requer que o número conectado seja administrador do grupo. Disponível nos canais por QR Code (Baileys e Zapo); em outros canais responde com inviteCode nulo. Resposta: { groupId, inviteCode, inviteLink } e, quando não houver código, um campo adicional reason (not_admin, group_not_found, timeout, channel_not_supported ou unknown).

https://api.formulaia.ai/v2/api/external/{ApiID}/group/getInviteLink
Corpo (JSON)
{
  "whatsappId": 1,
  "groupId": "12345678901@g.us"
}
POST/group/revokeInviteLinkGroupRevokeInviteLink

Revogar o link de convite atual do grupo e gerar um novo. Requer que o número conectado seja administrador. O link anterior deixa de funcionar imediatamente. Disponível nos canais por QR Code (Baileys e Zapo).

https://api.formulaia.ai/v2/api/external/{ApiID}/group/revokeInviteLink
Corpo (JSON)
{
  "whatsappId": 1,
  "groupId": "12345678901@g.us"
}
POST/group/changePictureGroupChangePicture

Alterar a foto de perfil de um grupo (multipart/form-data).

https://api.formulaia.ai/v2/api/external/{ApiID}/group/changePicture
Corpo (form-data)
picturearquivo de imagem (tipo: file)
whatsappIdID da sessão
groupIdsID(s) do grupo, separados por vírgula (12345678901@g.us,98765432109@g.us)
POST/group/leaveGroupLeave

Sair de um grupo (somente canal WABA oficial — outros tipos retornam ERR_LEAVE_GROUP_WABA_ONLY).

https://api.formulaia.ai/v2/api/external/{ApiID}/group/leave
Corpo (JSON)
{
  "whatsappId": 1,
  "groupId": "12345678901@g.us"
}

Interativo InstagramInstagram only5

POST/sendInteractive/instagram/quickReplyInstagramQuickReply

Enviar Quick Reply via Instagram DM. Suporta texto e tipo user_phone_number.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/instagram/quickReply
Corpo (JSON)
{
  "ticketId": 1262,
  "message": "Escolha uma opção:",
  "quickReplies": [
    {
      "content_type": "text",
      "title": "Sim",
      "payload": "YES"
    },
    {
      "content_type": "text",
      "title": "Não",
      "payload": "NO"
    },
    {
      "content_type": "user_phone_number"
    }
  ]
}
POST/sendInteractive/instagram/buttonTemplateInstagramButtonTemplate

Enviar Button Template via Instagram DM (até 3 botões postback/web_url).

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/instagram/buttonTemplate
Corpo (JSON)
{
  "ticketId": 1262,
  "message": "Selecione uma ação:",
  "buttons": [
    {
      "type": "postback",
      "title": "Comprar",
      "payload": "BUY"
    },
    {
      "type": "web_url",
      "title": "Visitar site",
      "url": "https://exemplo.com"
    }
  ]
}
POST/sendInteractive/instagram/genericTemplateInstagramGenericTemplate

Enviar Generic Template (carrossel de cards com imagem, título e botões) via Instagram DM.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/instagram/genericTemplate
Corpo (JSON)
{
  "ticketId": 1262,
  "elements": [
    {
      "title": "Produto 1",
      "subtitle": "Descrição",
      "image_url": "https://exemplo.com/img.jpg",
      "buttons": [
        {
          "type": "postback",
          "title": "Ver",
          "payload": "PROD_1"
        }
      ]
    }
  ]
}
POST/instagram/iceBreakersInstagramIceBreakers

Gerenciar Ice Breakers do Instagram (perguntas iniciais). action: get | set | delete.

https://api.formulaia.ai/v2/api/external/{ApiID}/instagram/iceBreakers
Corpo (JSON)
{
  "action": "set",
  "iceBreakers": [
    {
      "question": "Qual o horário?",
      "payload": "HOURS"
    },
    {
      "question": "Vocês fazem entrega?",
      "payload": "DELIVERY"
    }
  ]
}
POST/instagram/persistentMenuInstagramPersistentMenu

Gerenciar Persistent Menu do Instagram. action: get | set | delete.

https://api.formulaia.ai/v2/api/external/{ApiID}/instagram/persistentMenu
Corpo (JSON)
{
  "action": "set",
  "composerInputDisabled": false,
  "menuItems": [
    {
      "type": "postback",
      "title": "Menu",
      "payload": "MAIN_MENU"
    },
    {
      "type": "web_url",
      "title": "Site",
      "url": "https://exemplo.com"
    }
  ]
}

Interativo MessengerMessenger only9

POST/sendInteractive/messenger/quickReplyMessengerQuickReply

Enviar Quick Reply via Messenger. Suporta texto e tipo user_phone_number.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/messenger/quickReply
Corpo (JSON)
{
  "ticketId": 1262,
  "message": "Escolha uma opção:",
  "quickReplies": [
    {
      "content_type": "text",
      "title": "Sim",
      "payload": "YES"
    },
    {
      "content_type": "text",
      "title": "Não",
      "payload": "NO"
    }
  ]
}
POST/sendInteractive/messenger/buttonTemplateMessengerButtonTemplate

Enviar Button Template via Messenger (até 3 botões postback/web_url).

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/messenger/buttonTemplate
Corpo (JSON)
{
  "ticketId": 1262,
  "message": "Selecione:",
  "buttons": [
    {
      "type": "postback",
      "title": "Opção 1",
      "payload": "OPT_1"
    },
    {
      "type": "web_url",
      "title": "Visitar",
      "url": "https://exemplo.com"
    }
  ]
}
POST/sendInteractive/messenger/genericTemplateMessengerGenericTemplate

Enviar Generic Template (carrossel de cards) via Messenger.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/messenger/genericTemplate
Corpo (JSON)
{
  "ticketId": 1262,
  "elements": [
    {
      "title": "Card 1",
      "subtitle": "Subtítulo",
      "image_url": "https://exemplo.com/img.jpg",
      "buttons": [
        {
          "type": "postback",
          "title": "Ação",
          "payload": "ACT"
        }
      ]
    }
  ]
}
POST/sendInteractive/messenger/mediaTemplateMessengerMediaTemplate

Enviar Media Template (imagem/vídeo) com botões via Messenger. URL externa é convertida em attachment_id automaticamente.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/messenger/mediaTemplate
Corpo (JSON)
{
  "ticketId": 1262,
  "mediaType": "image",
  "mediaUrl": "https://exemplo.com/imagem.jpg",
  "buttons": [
    {
      "type": "postback",
      "title": "Comprar",
      "payload": "BUY"
    }
  ]
}
POST/sendInteractive/messenger/receiptTemplateMessengerReceiptTemplate

Enviar Receipt Template (recibo de compra) via Messenger.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/messenger/receiptTemplate
Corpo (JSON)
{
  "ticketId": 1262,
  "receipt": {
    "recipient_name": "João Silva",
    "order_number": "ORD-001",
    "currency": "BRL",
    "payment_method": "PIX",
    "summary": {
      "total_cost": 150
    },
    "elements": [
      {
        "title": "Produto A",
        "price": 100,
        "quantity": 1
      },
      {
        "title": "Produto B",
        "price": 50,
        "quantity": 1
      }
    ]
  }
}
POST/sendInteractive/messenger/messageTagMessengerMessageTag

Enviar mensagem fora da janela de 24h com Message Tag (ex: POST_PURCHASE_UPDATE, ACCOUNT_UPDATE, CONFIRMED_EVENT_UPDATE, HUMAN_AGENT).

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/messenger/messageTag
Corpo (JSON)
{
  "ticketId": 1262,
  "message": "Seu pedido foi aprovado.",
  "tag": "POST_PURCHASE_UPDATE"
}
POST/sendInteractive/messenger/customerFeedbackMessengerCustomerFeedback

Enviar Customer Feedback Template (CSAT/NPS/CES) via Messenger. Requer business_privacy_url.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/messenger/customerFeedback
Corpo (JSON)
{
  "ticketId": 1262,
  "title": "Avalie sua experiência",
  "subtitle": "Opcional",
  "business_privacy_url": "https://exemplo.com/privacidade",
  "expires_in_days": 7,
  "feedback_screens": [
    {
      "questions": [
        {
          "id": "CSAT",
          "type": "csat",
          "title": "Como foi nosso atendimento?"
        }
      ]
    }
  ]
}
POST/messenger/greetingMessengerGreeting

Gerenciar Greeting Text da página do Messenger. action: get | set | delete.

https://api.formulaia.ai/v2/api/external/{ApiID}/messenger/greeting
Corpo (JSON)
{
  "action": "set",
  "greetings": [
    {
      "locale": "default",
      "text": "Olá! Como podemos ajudar?"
    }
  ]
}
POST/messenger/personasMessengerPersonas

Gerenciar Personas da página do Messenger. action: list | create | delete. Para create, informe name e profilePictureUrl; para delete, informe personaId (o id vem do retorno de list).

https://api.formulaia.ai/v2/api/external/{ApiID}/messenger/personas
Corpo (JSON)
{
  "action": "create",
  "name": "Atendente Ana",
  "profilePictureUrl": "https://exemplo.com/ana.jpg"
}

Interativo Não OficialBaileys only6

POST/sendInteractive/baileys/quickReplyBaileysQuickReply

Enviar botões de resposta rápida (Quick Reply) via Baileys. Exige canal do tipo baileys.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/baileys/quickReply
Corpo (JSON)
{
  "ticketId": 1262,
  "body": {
    "text": "Escolha uma opção:"
  },
  "footer": {
    "text": "Rodapé opcional"
  },
  "buttons": [
    {
      "display_text": "Opção 1",
      "id": "op1"
    },
    {
      "display_text": "Opção 2",
      "id": "op2"
    }
  ]
}
POST/sendInteractive/baileys/singleSelectBaileysSingleSelect

Enviar lista de seleção única com seções e itens via Baileys.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/baileys/singleSelect
Corpo (JSON)
{
  "ticketId": 1262,
  "body": {
    "text": "Escolha uma opção:"
  },
  "footer": {
    "text": "Rodapé opcional"
  },
  "list": {
    "title": "Ver opções",
    "sections": [
      {
        "title": "Seção 1",
        "rows": [
          {
            "id": "1",
            "title": "Item 1",
            "description": "Descrição"
          },
          {
            "id": "2",
            "title": "Item 2"
          }
        ]
      }
    ]
  }
}
POST/sendInteractive/baileys/pixButtonBaileysPixButton

Enviar botão PIX com chave copia-e-cola via Baileys.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/baileys/pixButton
Corpo (JSON)
{
  "ticketId": 1262,
  "pixType": "EVP",
  "pixKey": "chave-aleatoria-uuid",
  "pixName": "Nome Beneficiário",
  "bodyText": "Pague com PIX:"
}
POST/sendInteractive/baileys/ctaCopyBaileysCtaCopy

Enviar botão CTA de copiar código (ex: cupom, código de rastreio) via Baileys.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/baileys/ctaCopy
Corpo (JSON)
{
  "ticketId": 1262,
  "body": {
    "text": "Copie seu código de rastreio:"
  },
  "footer": {
    "text": "Válido por 24h"
  },
  "displayText": "Copiar código",
  "copyCode": "BR123456789"
}
POST/sendInteractive/baileys/ctaUrlBaileysCtaUrl

Enviar botão CTA de abrir URL via Baileys.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/baileys/ctaUrl
Corpo (JSON)
{
  "ticketId": 1262,
  "body": {
    "text": "Acesse nosso site:"
  },
  "footer": {
    "text": "Clique para visitar"
  },
  "displayText": "Visitar site",
  "url": "https://exemplo.com"
}
POST/sendInteractive/baileys/ctaCallBaileysCtaCall

Enviar botão CTA de ligar (link tel:) via Baileys.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/baileys/ctaCall
Corpo (JSON)
{
  "ticketId": 1262,
  "body": {
    "text": "Precisa de ajuda?"
  },
  "footer": {
    "text": "Ligue para nós"
  },
  "displayText": "Ligar agora",
  "phoneNumber": "+5511999999999"
}

Interativo UazAPIUazapi only7

POST/sendInteractive/uazapi/buttonUazapiButton

Enviar botões de resposta rápida via UazAPI (até 3 opções). Exige canal do tipo uazapi.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/uazapi/button
Corpo (JSON)
{
  "ticketId": 1262,
  "text": "Escolha uma opção:",
  "choices": [
    "Opção 1",
    "Opção 2",
    "Opção 3"
  ],
  "footerText": "Rodapé opcional",
  "imageButton": "https://exemplo.com/img.png"
}
POST/sendInteractive/uazapi/listUazapiList

Enviar lista de opções com botão de abertura via UazAPI. Exige canal do tipo uazapi.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/uazapi/list
Corpo (JSON)
{
  "ticketId": 1262,
  "text": "Escolha uma opção:",
  "choices": [
    "Item 1",
    "Item 2",
    "Item 3",
    "Item 4"
  ],
  "listButton": "Ver opções",
  "footerText": "Selecione uma opção"
}
POST/sendInteractive/uazapi/pollUazapiPoll

Enviar enquete com múltiplas opções via UazAPI. Exige canal do tipo uazapi.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/uazapi/poll
Corpo (JSON)
{
  "ticketId": 1262,
  "text": "Qual sua preferência?",
  "choices": [
    "Opção A",
    "Opção B",
    "Opção C"
  ],
  "selectableCount": 1
}
POST/sendInteractive/uazapi/carouselUazapiCarousel

Enviar carrossel de cards com botões via UazAPI.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/uazapi/carousel
Corpo (JSON)
{
  "ticketId": 1262,
  "text": "Confira nossas opções:",
  "carousel": [
    {
      "text": "Produto A",
      "image": "https://exemplo.com/a.png",
      "buttons": [
        {
          "text": "Ver detalhes",
          "type": "REPLY"
        }
      ]
    },
    {
      "text": "Produto B",
      "image": "https://exemplo.com/b.png",
      "buttons": [
        {
          "text": "Comprar",
          "type": "URL"
        }
      ]
    }
  ]
}
POST/sendInteractive/uazapi/pixButtonUazapiPixButton

Enviar botão PIX nativo via UazAPI.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/uazapi/pixButton
Corpo (JSON)
{
  "ticketId": 1262,
  "pixType": "EVP",
  "pixKey": "chave-aleatoria-uuid",
  "pixName": "Nome Beneficiário"
}
POST/sendInteractive/uazapi/locationButtonUazapiLocationButton

Enviar botão de compartilhar localização via UazAPI.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/uazapi/locationButton
Corpo (JSON)
{
  "ticketId": 1262,
  "text": "Por favor, compartilhe sua localização:"
}
POST/sendInteractive/uazapi/requestPaymentUazapiRequestPayment

Enviar cobrança interativa via UazAPI. Obrigatórios: ticketId e amount. Opcionais: PIX (pixType, pixKey, pixName), boleto (boletoCode), link de pagamento (paymentLink) e anexo (fileUrl, fileName).

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/uazapi/requestPayment
Corpo (JSON)
{
  "ticketId": 1262,
  "amount": 150,
  "title": "Pedido #001",
  "text": "Sua cobrança está pronta:",
  "footer": "Vencimento em 3 dias",
  "itemName": "Produto X",
  "invoiceNumber": "NF-001",
  "pixType": "EVP",
  "pixKey": "chave-aleatoria-uuid",
  "pixName": "Nome Beneficiário",
  "paymentLink": "https://pagamento.exemplo.com/001",
  "boletoCode": "34191790010104351004791020150008291070026000",
  "fileUrl": "https://exemplo.com/boleto.pdf",
  "fileName": "boleto.pdf"
}

Interativo WabaWaba only2

POST/sendButtonWABASendButtonWABA

Enviar mensagem com botões interativos (até 3) via WABA. Exige canal do tipo WhatsApp Business API (waba): canais Dialog360 e Gupshup respondem 400 ERR_CHANNEL_WABA_REQUIRED.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendButtonWABA
Corpo (JSON)
{
  "number": "5511999999999",
  "message": "Escolha uma opção:",
  "button1": "Opção 1",
  "button2": "Opção 2",
  "button3": "Opção 3",
  "ticketId": 1262
}
POST/sendListWABASendListWABA

Enviar lista interativa com seções e itens selecionáveis via WABA. Exige canal do tipo WhatsApp Business API (waba): canais Dialog360 e Gupshup respondem 400 ERR_CHANNEL_WABA_REQUIRED. Recusa da Meta (número inválido, fora da janela de 24 h, lista fora do formato) responde 400 { success: false, error: "ERR_WABA_SEND_FAILED", metaStatus, metaCode, metaSubcode, message } com o código e a mensagem da Meta.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendListWABA
Corpo (JSON)
{
  "number": "5511999999999",
  "header": "Menu Principal",
  "body": "Escolha uma opção:",
  "footer": "Selecione uma opção",
  "button_text": "Ver opções",
  "sections": [
    {
      "title": "Seção 1",
      "rows": [
        {
          "id": "1",
          "title": "Opção 1",
          "description": "Desc 1"
        },
        {
          "id": "2",
          "title": "Opção 2",
          "description": "Desc 2"
        }
      ]
    }
  ],
  "ticketId": 1262
}

Interativo ZapoZapo only7

POST/sendInteractive/zapo/quickReplyZapoQuickReply

Enviar botões de resposta rápida (Quick Reply) via Zapo (até 3 botões). Exige canal do tipo zapo.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/zapo/quickReply
Corpo (JSON)
{
  "ticketId": 1262,
  "body": {
    "text": "Escolha uma opção:"
  },
  "footer": {
    "text": "Rodapé opcional"
  },
  "buttons": [
    {
      "display_text": "Opção 1",
      "id": "op1"
    },
    {
      "display_text": "Opção 2",
      "id": "op2"
    }
  ]
}
POST/sendInteractive/zapo/singleSelectZapoSingleSelect

Enviar lista de seleção única com seções e itens via Zapo.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/zapo/singleSelect
Corpo (JSON)
{
  "ticketId": 1262,
  "body": {
    "text": "Escolha uma opção:"
  },
  "footer": {
    "text": "Rodapé opcional"
  },
  "list": {
    "title": "Ver opções",
    "sections": [
      {
        "title": "Seção 1",
        "rows": [
          {
            "id": "1",
            "title": "Item 1",
            "description": "Descrição"
          },
          {
            "id": "2",
            "title": "Item 2"
          }
        ]
      }
    ]
  }
}
POST/sendInteractive/zapo/pixButtonZapoPixButton

Enviar botão PIX com chave copia-e-cola via Zapo.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/zapo/pixButton
Corpo (JSON)
{
  "ticketId": 1262,
  "pixType": "EVP",
  "pixKey": "chave-aleatoria-uuid",
  "pixName": "Nome Beneficiário",
  "bodyText": "Pague com PIX:"
}
POST/sendInteractive/zapo/ctaCopyZapoCtaCopy

Enviar botão CTA de copiar código (ex: cupom, código de rastreio) via Zapo.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/zapo/ctaCopy
Corpo (JSON)
{
  "ticketId": 1262,
  "body": {
    "text": "Copie seu código de rastreio:"
  },
  "footer": {
    "text": "Válido por 24h"
  },
  "displayText": "Copiar código",
  "copyCode": "BR123456789"
}
POST/sendInteractive/zapo/ctaUrlZapoCtaUrl

Enviar botão CTA de abrir URL via Zapo.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/zapo/ctaUrl
Corpo (JSON)
{
  "ticketId": 1262,
  "body": {
    "text": "Acesse nosso site:"
  },
  "footer": {
    "text": "Clique para visitar"
  },
  "displayText": "Visitar site",
  "url": "https://exemplo.com"
}
POST/sendInteractive/zapo/ctaCallZapoCtaCall

Enviar botão CTA de ligar (link tel:) via Zapo.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/zapo/ctaCall
Corpo (JSON)
{
  "ticketId": 1262,
  "body": {
    "text": "Precisa de ajuda?"
  },
  "footer": {
    "text": "Ligue para nós"
  },
  "displayText": "Ligar agora",
  "phoneNumber": "+5511999999999"
}
POST/sendInteractive/zapo/pollZapoPoll

Enviar enquete com múltiplas opções via Zapo.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendInteractive/zapo/poll
Corpo (JSON)
{
  "ticketId": 1262,
  "name": "Qual sua preferência?",
  "options": [
    "Opção A",
    "Opção B",
    "Opção C"
  ],
  "selectableCount": 1
}

Kanban4

GET/listKanbanListKanban
https://api.formulaia.ai/v2/api/external/{ApiID}/listKanban
POST/createKanbanCreateKanban

Criar um novo kanban. Esta rota não define cor: o kanban nasce sem cor e ela só pode ser ajustada pelo painel.

https://api.formulaia.ai/v2/api/external/{ApiID}/createKanban
Corpo (JSON)
{
  "name": "Kanban 1",
  "position": 1
}
POST/updateKanban/:idUpdateKanban

Atualizar um kanban existente. Esta rota não altera a cor: a cor atual é preservada e só pode ser ajustada pelo painel.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateKanban/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "name": "Kanban Atualizado",
  "position": 2
}
POST/deleteKanban/:idDeleteKanban

Excluir um kanban pelo ID.

https://api.formulaia.ai/v2/api/external/{ApiID}/deleteKanban/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}

Listagens8

GET/listChannelsListChannels
https://api.formulaia.ai/v2/api/external/{ApiID}/listChannels
GET/listSessionsListSessions
https://api.formulaia.ai/v2/api/external/{ApiID}/listSessions
GET/getAllSessionApisGetAllSessionApis
https://api.formulaia.ai/v2/api/external/{ApiID}/getAllSessionApis
GET/listTicketsListTickets

Listar tickets com filtros de status, fila e canal.

https://api.formulaia.ai/v2/api/external/{ApiID}/listTickets
Query params
pageNumberobrigatórioNúmero da páginaEx.: 1
statusobrigatórioopen, pending ou closed — obrigatório (sem ele a rota responde 404)Ex.: open
searchParamBusca textual (opcional)
queuesIdsIDs das filas (opcional). Só é aplicado às filas do usuário vinculado à API; fora delas o filtro é ignorado e a lista volta completa
whatsappIdsIDs dos canais (opcional)
GET/listOpportunitiesListOpportunities

Listar oportunidades com paginação e filtros.

https://api.formulaia.ai/v2/api/external/{ApiID}/listOpportunities
Query params
pageobrigatórioNúmero da páginaEx.: 1
limitobrigatórioLimite por páginaEx.: 40
statusopen, win, lose (opcional)
pipelineIdID do pipeline (opcional)
GET/listContactsListContacts

Listar contatos com paginação e filtros. Cada contato traz o endereço: cep, logradouro, numeroEndereco, complemento, bairro, cidade e estado.

https://api.formulaia.ai/v2/api/external/{ApiID}/listContacts
Query params
pageNumberobrigatórioNúmero da páginaEx.: 1
searchParamBusca textual (opcional)
walletIdID da wallet (opcional)
tagIdID da tag (opcional)
GET/listTagsListTags

Listar tags disponíveis.

https://api.formulaia.ai/v2/api/external/{ApiID}/listTags
Query params
isActivetrue lista só as tags ativas; omitido (ou false) lista todasEx.: true
GET/listQueuesListQueues
https://api.formulaia.ai/v2/api/external/{ApiID}/listQueues

Listagens Utilitárias3

GET/listFastRepliesListFastReplies
https://api.formulaia.ai/v2/api/external/{ApiID}/listFastReplies
GET/listAutoRepliesListAutoReplies
https://api.formulaia.ai/v2/api/external/{ApiID}/listAutoReplies
GET/listChatFlowsListChatFlows
https://api.formulaia.ai/v2/api/external/{ApiID}/listChatFlows

Mensagens7

GET/params/SendMessageParams

Enviar mensagem via query params (GET). Útil para integrações simples sem body. É a única rota do catálogo que não aceita o token no header Authorization: o token vai obrigatoriamente no parâmetro bearertoken. Nos canais whatsapp e baileys, número sem WhatsApp responde 424 ERR_WAPP_CONTACT_UNVERIFIED (número sem WhatsApp ou consulta ao WhatsApp indisponível no momento; pode tentar de novo); no baileys, canal aguardando a leitura do QR responde 400 ERR_CHANNEL_DISCONNECTED.

https://api.formulaia.ai/v2/api/external/{ApiID}/params/
Query params
bodyobrigatórioTexto da mensagemEx.: Olá!
numberobrigatórioNúmero do destinatário (5511999999999)Ex.: 5511999999999
externalKeyobrigatórioChave única de controleEx.: chave-001
bearertokenobrigatórioToken da API — obrigatório nesta rota (o header Authorization é ignorado)
POST/SendMessageAPIText

Enviar mensagem de texto. Abre ou reutiliza ticket existente. O campo number carrega o ID da plataforma do canal do token: telefone (família WhatsApp), IGSID (Instagram), PSID (Messenger), telegramId (Telegram). O canal e-mail também exige number (ou bsuid) e usa email como destinatário e subject como assunto. Aceita ticketId opcional — usado apenas quando consistente com o contato/canal do ticket. body em número vira texto; objeto ou lista responde 400 ERR_INVALID_BODY. Nos canais whatsapp e baileys, número sem WhatsApp responde 424 ERR_WAPP_CONTACT_UNVERIFIED (número sem WhatsApp ou consulta ao WhatsApp indisponível no momento; pode tentar de novo); no baileys, canal aguardando a leitura do QR responde 400 ERR_CHANNEL_DISCONNECTED.

https://api.formulaia.ai/v2/api/external/{ApiID}/
Corpo (JSON)
{
  "body": "A mensagem desejada",
  "number": "5511999999999",
  "externalKey": "chave-001",
  "isClosed": false
}
POST/SendMessageAPIFile

Enviar arquivo via multipart/form-data (imagem, documento, vídeo).

https://api.formulaia.ai/v2/api/external/{ApiID}/
Corpo (form-data)
mediaarquivo (tipo: file)
bodytexto da mensagem
number5511999999999
externalKeychave-001
isClosedfalse
POST/urlSendMessageAPIFileURL

Enviar mídia a partir de URL pública (imagem, documento). body (legenda) em número vira texto; objeto ou lista responde 400 ERR_INVALID_BODY. Nos canais whatsapp e baileys, número sem WhatsApp responde 424 ERR_WAPP_CONTACT_UNVERIFIED (número sem WhatsApp ou consulta ao WhatsApp indisponível no momento; pode tentar de novo); no baileys, canal aguardando a leitura do QR responde 400 ERR_CHANNEL_DISCONNECTED.

https://api.formulaia.ai/v2/api/external/{ApiID}/url
Corpo (JSON)
{
  "mediaUrl": "https://exemplo.com/imagem.png",
  "body": "A mensagem desejada",
  "number": "5511999999999",
  "externalKey": "chave-001",
  "isClosed": false
}
POST/voiceSendMessageAPIVoice

Enviar áudio/mensagem de voz via URL pública (.ogg, .mp3). No baileys, número sem WhatsApp responde 424 ERR_WAPP_CONTACT_UNVERIFIED (número sem WhatsApp ou consulta ao WhatsApp indisponível no momento; pode tentar de novo) e canal aguardando a leitura do QR, 400 ERR_CHANNEL_DISCONNECTED.

https://api.formulaia.ai/v2/api/external/{ApiID}/voice
Corpo (JSON)
{
  "audio": "https://exemplo.com/audio.ogg",
  "number": "5511999999999",
  "externalKey": "chave-001",
  "isClosed": false
}
POST/base64SendMessageAPITextBase64

Enviar arquivo codificado em Base64 junto com mensagem. body (legenda) em número vira texto; objeto ou lista responde 400 ERR_INVALID_BODY. Nos canais whatsapp e baileys, número sem WhatsApp responde 424 ERR_WAPP_CONTACT_UNVERIFIED (número sem WhatsApp ou consulta ao WhatsApp indisponível no momento; pode tentar de novo); no baileys, canal aguardando a leitura do QR responde 400 ERR_CHANNEL_DISCONNECTED.

https://api.formulaia.ai/v2/api/external/{ApiID}/base64
Corpo (JSON)
{
  "body": "A mensagem desejada",
  "number": "5511999999999",
  "base64Data": "iVBORw0KGgoAAAANSUhEUgAAAAUA...",
  "mimeType": "image/png",
  "fileName": "exemplo",
  "isClosed": false
}
GET/getMessageByMessageIdGetMessageByMessageId

Buscar mensagem pelo ID retornado pela Meta (wamid).

https://api.formulaia.ai/v2/api/external/{ApiID}/getMessageByMessageId
Query params
messageIdobrigatórioID da mensagem (ex: wamid.xxxxx)Ex.: wamid.xxxxx

Mensagens Avançadas3

POST/sendLocationSendLocation

Enviar localização geográfica para um contato. O destinatário vem de number; ticketId é obrigatório e é o atendimento em que a mensagem fica registrada (sem ele 400 ERR_MISSING_TICKET; atendimento que não é da sua empresa 404 ERR_TICKET_NOT_FOUND).

https://api.formulaia.ai/v2/api/external/{ApiID}/sendLocation
Corpo (JSON)
{
  "number": "5511999999999",
  "latitude": -23.5505,
  "longitude": -46.6333,
  "name": "São Paulo",
  "address": "Av. Paulista, 1000",
  "ticketId": 1262
}
POST/sendVcardSendVcard

Enviar contato (vCard). O destinatário vem de number; ticketId é obrigatório e é o atendimento em que a mensagem fica registrada (sem ele 400 ERR_MISSING_TICKET; atendimento que não é da sua empresa 404 ERR_TICKET_NOT_FOUND). Dentro de contact, os campos fullName, wuid e phoneNumber são obrigatórios.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendVcard
Corpo (JSON)
{
  "number": "5511999999999",
  "contact": {
    "fullName": "Nome Contato",
    "wuid": "5511888888888",
    "phoneNumber": "5511888888888",
    "organization": "Empresa Exemplo",
    "email": "contato@email.com"
  },
  "ticketId": 1262
}
GET/searchMessagesSearchMessages

Buscar mensagens por texto dentro de um ticket.

https://api.formulaia.ai/v2/api/external/{ApiID}/searchMessages
Query params
ticketIdobrigatórioID do ticketEx.: 1262
searchParamobrigatórioTexto para buscaEx.: olá

Mensagens em Grupo3

POST/groupSendGroupMessageAPIText

Enviar mensagem de texto para grupo do WhatsApp. Sem body (e sem arquivo) responde 400 ERR_MISSING_BODY_OR_MEDIA; body em número vira texto e objeto ou lista responde 400 ERR_INVALID_BODY. No baileys, canal aguardando a leitura do QR responde 400 ERR_CHANNEL_DISCONNECTED.

https://api.formulaia.ai/v2/api/external/{ApiID}/group
Corpo (JSON)
{
  "body": "A mensagem desejada",
  "number": "12356818915189153",
  "externalKey": "chave-001",
  "isClosed": false
}
POST/groupSendGroupMessageAPIFile

Enviar arquivo para grupo via multipart/form-data. Um arquivo por requisição.

https://api.formulaia.ai/v2/api/external/{ApiID}/group
Corpo (form-data)
mediaarquivo único (tipo: file, apenas 1 por requisição)
bodytexto da mensagem
number12356818915189153 (ID do grupo)
externalKeychave-001
isClosedfalse
POST/groupMediaUrlSendMessageAPIFileURLGroup

Enviar mídia por URL para grupo do WhatsApp.

https://api.formulaia.ai/v2/api/external/{ApiID}/groupMediaUrl
Corpo (JSON)
{
  "mediaUrl": "https://exemplo.com/imagem.png",
  "body": "A mensagem desejada",
  "number": "12356818915189153",
  "externalKey": "chave-001",
  "isClosed": false
}

Motivos (Reasons)4

GET/listReasonsListReasons
https://api.formulaia.ai/v2/api/external/{ApiID}/listReasons
POST/createReasonCreateReason

Criar um novo motivo de encerramento. Esta rota não define cor: o motivo nasce sem cor e ela só pode ser ajustada pelo painel.

https://api.formulaia.ai/v2/api/external/{ApiID}/createReason
Corpo (JSON)
{
  "name": "Resolvido"
}
POST/updateReason/:idUpdateReason

Atualizar um motivo existente. Esta rota não altera a cor: a cor atual é preservada e só pode ser ajustada pelo painel.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateReason/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "name": "Resolvido (atualizado)"
}
POST/deleteReason/:idDeleteReason

Excluir um motivo pelo ID.

https://api.formulaia.ai/v2/api/external/{ApiID}/deleteReason/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}

Oportunidades3

POST/createOpportunityCreateOpportunity

Criar nova oportunidade vinculada a um contato (number; contactName e email são usados só se o contato ainda não existir). Obrigatórios: number, name (até 255 caracteres), pipelineId, stageId (etapa desse funil) e responsibleId (usuário da empresa). Opcionais: value (número, ex.: 1500.50), status (open, win ou lose), description e closingForecast, aceito só como AAAA-MM-DD, DD/MM/AAAA ou data e hora ISO 8601 (ex.: 2024-12-31T18:00:00-03:00). Outros campos do corpo são ignorados. Erros (400): ERR_MISSING_FIELDS (com fields), ERR_INVALID_OPPORTUNITY_REFERENCE (com field: funil, etapa ou responsável inexistente ou de outra empresa), ERR_STAGE_NOT_IN_PIPELINE, ERR_INVALID_OPPORTUNITY_NAME, ERR_INVALID_VALUE, ERR_INVALID_STATUS, ERR_INVALID_DESCRIPTION e ERR_INVALID_CLOSING_FORECAST.

https://api.formulaia.ai/v2/api/external/{ApiID}/createOpportunity
Corpo (JSON)
{
  "number": "5511999999999",
  "contactName": "Nome do Contato",
  "email": "contato@email.com",
  "name": "Nome da Oportunidade",
  "value": 10000,
  "status": "open",
  "pipelineId": 16,
  "stageId": 7,
  "responsibleId": 1,
  "closingForecast": "2024-12-31",
  "description": "Descrição da oportunidade"
}
POST/deleteOpportunityDeleteOpportunity

Excluir uma oportunidade pelo ID.

https://api.formulaia.ai/v2/api/external/{ApiID}/deleteOpportunity
Corpo (JSON)
{
  "opportunityId": 19
}
POST/updateOpportunityUpdateOpportunity

Atualizar dados de uma oportunidade existente. Só opportunityId é obrigatório; campo ausente fica como está; nos demais, vazio ou null também fica como está, exceto description e closingForecast, em que vazio ou null limpam o valor. Mesmas regras do CreateOpportunity: pipelineId, stageId e responsibleId da empresa, etapa do funil da oportunidade (ou do pipelineId enviado; trocar de funil exige stageId desse funil), value numérico, status open, win ou lose e closingForecast em AAAA-MM-DD, DD/MM/AAAA ou data e hora ISO 8601. Erros: 404 ERR_OPPORTUNITY_NOT_FOUND; 400 ERR_INVALID_OPPORTUNITY_REFERENCE (com field), ERR_STAGE_NOT_IN_PIPELINE, ERR_INVALID_OPPORTUNITY_NAME, ERR_INVALID_VALUE, ERR_INVALID_STATUS, ERR_INVALID_DESCRIPTION e ERR_INVALID_CLOSING_FORECAST.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateOpportunity
Corpo (JSON)
{
  "opportunityId": 30,
  "name": "Nome Atualizado",
  "value": 500,
  "status": "open",
  "pipelineId": 16,
  "stageId": 7,
  "responsibleId": 1,
  "closingForecast": "2024-12-31",
  "description": "Descrição atualizada"
}

Tags CRUD3

POST/createTagCreateTag

Criar uma nova tag. O nome da tag vai no campo tag. tag e color são obrigatórios. Nome já usado na empresa responde 409 ERR_TAG_DUPLICATED; nome, cor ou palavras-gatilho acima de 255 caracteres respondem 400 ERR_TAG_TOO_LONG.

https://api.formulaia.ai/v2/api/external/{ApiID}/createTag
Corpo (JSON)
{
  "tag": "Tag Nova",
  "color": "#FF5733",
  "isActive": true
}
POST/updateTagData/:idUpdateTagData

Atualizar dados de uma tag existente. O nome da tag vai no campo tag. Nome de outra tag da empresa responde 409 ERR_TAG_DUPLICATED; nome, cor ou palavras-gatilho acima de 255 caracteres respondem 400 ERR_TAG_TOO_LONG.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateTagData/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "tag": "Tag Atualizada",
  "color": "#33A1FF",
  "isActive": true
}
POST/deleteTag/:idDeleteTag

Excluir uma tag pelo ID.

https://api.formulaia.ai/v2/api/external/{ApiID}/deleteTag/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}

Templates WABA3

POST/templateSendTemplateWaba

Enviar template aprovado do WhatsApp Business API (WABA). A resposta retorna o ticketId do atendimento criado/reutilizado. templateData é objeto (texto JSON também é aceito) e template.components precisa ser lista: fora disso responde 400 ERR_INVALID_TEMPLATE_DATA ou ERR_INVALID_TEMPLATE_COMPONENTS.

https://api.formulaia.ai/v2/api/external/{ApiID}/template
Corpo (JSON)
{
  "number": "5511999999999",
  "isClosed": false,
  "templateData": {
    "messaging_product": "whatsapp",
    "to": "5511999999999",
    "type": "template",
    "template": {
      "name": "hello_world",
      "language": {
        "code": "pt_BR"
      }
    }
  }
}
POST/templateBodySendTemplateWabaBody

Enviar template WABA com parâmetros de body personalizados. A resposta retorna o ticketId do atendimento criado/reutilizado. templateData é objeto (texto JSON também é aceito) e components precisa ser lista; text de parâmetro e variables em número viram texto, e objeto ou lista nesses campos responde 400 ERR_INVALID_TEMPLATE_PARAMETER. Fora do formato: 400 ERR_INVALID_TEMPLATE_DATA ou ERR_INVALID_TEMPLATE_COMPONENTS.

https://api.formulaia.ai/v2/api/external/{ApiID}/templateBody
Corpo (JSON)
{
  "number": "5511999999999",
  "isClosed": false,
  "templateData": {
    "messaging_product": "whatsapp",
    "to": "5511999999999",
    "type": "template",
    "template": {
      "name": "hello_world",
      "language": {
        "code": "pt_BR"
      },
      "components": [
        {
          "type": "body",
          "parameters": [
            {
              "type": "text",
              "text": "valor1"
            }
          ]
        }
      ]
    }
  }
}
POST/templateMarketingBodySendTemplateWabaMarketing

Enviar template de marketing WABA com componentes de header e body. A resposta retorna o ticketId do atendimento criado/reutilizado. templateData é objeto (texto JSON também é aceito) e components precisa ser lista; text de parâmetro e variables em número viram texto, e objeto ou lista nesses campos responde 400 ERR_INVALID_TEMPLATE_PARAMETER. Fora do formato: 400 ERR_INVALID_TEMPLATE_DATA ou ERR_INVALID_TEMPLATE_COMPONENTS.

https://api.formulaia.ai/v2/api/external/{ApiID}/templateMarketingBody
Corpo (JSON)
{
  "number": "5511999999999",
  "isClosed": false,
  "templateData": {
    "messaging_product": "whatsapp",
    "to": "5511999999999",
    "type": "template",
    "template": {
      "name": "nome_template_marketing",
      "language": {
        "code": "pt_BR"
      },
      "components": [
        {
          "type": "header",
          "parameters": [
            {
              "type": "image",
              "image": {
                "link": "https://exemplo.com/img.png"
              }
            }
          ]
        },
        {
          "type": "body",
          "parameters": [
            {
              "type": "text",
              "text": "valor1"
            }
          ]
        }
      ]
    }
  }
}

Tickets19

POST/createTicketCreateTicket

Criar ticket de atendimento. Suporta WhatsApp e Webmail.

https://api.formulaia.ai/v2/api/external/{ApiID}/createTicket
Corpo (JSON)
{
  "body": "Mensagem inicial",
  "number": "5511999999999",
  "externalKey": "chave-001",
  "userId": 1,
  "status": "pending",
  "queueId": null,
  "kanbanId": null,
  "chatFlowId": null,
  "reasonId": null,
  "value": null
}
POST/createTicketCreateTicketWebmail

Criar ticket via canal Webmail (email).

https://api.formulaia.ai/v2/api/external/{ApiID}/createTicket
Corpo (JSON)
{
  "body": "Mensagem via email",
  "email": "contato@exemplo.com",
  "channelId": 17841443941506796,
  "externalKey": "chave-001",
  "userId": 1,
  "status": "pending",
  "name": "Nome do Contato"
}
POST/createTicketCreateTicketFile

Criar ticket enviando um arquivo (multipart/form-data). Suporta imagem, documento e outros formatos.

https://api.formulaia.ai/v2/api/external/{ApiID}/createTicket
Corpo (form-data)
mediaarquivo a ser enviado (tipo: file)
bodytexto da mensagem inicial
number5511999999999
externalKeychave-001
userId1
statuspending
queueId1 (opcional)
kanbanId1 (opcional)
chatFlowId10 (opcional)
channelId(opcional, para webmail)
email(opcional, para webmail)
name(opcional, para webmail)
POST/updatequeueSetQueue

Definir ou alterar a fila de atendimento de um ticket.

https://api.formulaia.ai/v2/api/external/{ApiID}/updatequeue
Corpo (JSON)
{
  "ticketId": 4,
  "queueId": 1
}
POST/updatetagSetTag

Substituir as tags do contato do ticket pela tag informada. Atenção: as demais tags do contato são removidas, e o efeito vale para todos os tickets desse contato. Para acrescentar sem remover, use /addTag.

https://api.formulaia.ai/v2/api/external/{ApiID}/updatetag
Corpo (JSON)
{
  "ticketId": 4,
  "tag": 1
}
POST/updateticketinfoSetTicketInfo

Atualizar informações completas de um ticket. ticketId é o id numérico do ticket (400 ERR_INVALID_TICKET_ID). status aceita open, pending ou closed (400 ERR_INVALID_STATUS). typebotStatus, lmStatus, chatgptStatus, dialogflowStatus, difyStatus e n8nStatus aceitam true/false (também "enabled"/"disabled" e 1/0; outro valor responde 400 ERR_INVALID_FIELD com o campo em field). queueId, userId e chatFlowId precisam existir na sua empresa (senão 404 ERR_QUEUE_NOT_FOUND, ERR_USER_NOT_FOUND ou ERR_CHATFLOW_NOT_FOUND); null limpa o campo.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateticketinfo
Corpo (JSON)
{
  "ticketId": 1262,
  "userId": 1,
  "status": "pending",
  "queueId": null,
  "typebotStatus": false,
  "chatgptStatus": false,
  "dialogflowStatus": false,
  "difyStatus": false,
  "n8nStatus": false,
  "chatFlowId": null
}
POST/showticketShowTicketInformation

Buscar informações de um ticket aberto do contato. Só considera tickets com status open: contato sem ticket aberto responde 404, mesmo tendo histórico. Havendo mais de um aberto, não há garantia de que seja o mais recente.

https://api.formulaia.ai/v2/api/external/{ApiID}/showticket
Corpo (JSON)
{
  "number": "5511999999999"
}
POST/showticketchatbotShowTicketInformationChatBot

Buscar o primeiro ticket do contato que tenha fluxo de chatbot vinculado, independente do status. Ticket fechado com fluxo também é retornado; ticket aberto sem fluxo responde 404.

https://api.formulaia.ai/v2/api/external/{ApiID}/showticketchatbot
Corpo (JSON)
{
  "number": "5511999999999"
}
POST/showallticketShowAllTicketInformation

Buscar todos os tickets de um contato pelo número.

https://api.formulaia.ai/v2/api/external/{ApiID}/showallticket
Corpo (JSON)
{
  "number": "5511999999999"
}
POST/showAllMessagesShowAllMessages

Listar todas as mensagens de um ticket. Informe o id em ticket (ou ticketId); sem ele responde 400 ERR_MISSING_TICKET.

https://api.formulaia.ai/v2/api/external/{ApiID}/showAllMessages
Corpo (JSON)
{
  "ticket": "123"
}
POST/updateTicketChannelUpdateTicketChannel

Alterar o canal (WhatsApp) de um ticket existente.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateTicketChannel
Corpo (JSON)
{
  "ticketId": 1262,
  "whatsappId": 1,
  "channel": "whatsapp"
}
POST/createNotesCreateNotes

Criar uma nota interna em um ticket. ticketId é obrigatório (400 ERR_MISSING_FIELDS). idFront é opcional: quando informado, uma nota com o mesmo idFront não é criada de novo.

https://api.formulaia.ai/v2/api/external/{ApiID}/createNotes
Corpo (JSON)
{
  "notes": "Conteúdo da nota",
  "ticketId": 1262,
  "userId": 1,
  "idFront": "ID_UNICA_NOTA_001"
}
POST/updateNoteUpdateNote

Atualizar o conteúdo de uma nota existente.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateNote
Corpo (JSON)
{
  "noteId": 1,
  "notes": "Conteúdo atualizado"
}
GET/listNotesListNotes

Listar todas as notas de um ticket.

https://api.formulaia.ai/v2/api/external/{ApiID}/listNotes
Query params
ticketIdobrigatórioID do ticketEx.: 1262
POST/addTagAddTag

Adicionar uma ou mais tags a um ticket.

https://api.formulaia.ai/v2/api/external/{ApiID}/addTag
Corpo (JSON)
{
  "ticketId": 4,
  "tagId": 1
}
POST/removeTagRemoveTag

Remover uma ou mais tags de um ticket.

https://api.formulaia.ai/v2/api/external/{ApiID}/removeTag
Corpo (JSON)
{
  "ticketId": 4,
  "tagId": 1
}
POST/addTagContactAddTagContact

Adicionar uma ou mais tags diretamente a um CONTATO, sem precisar de ticket. Informe contactId OU number. Mantém as tags existentes.

https://api.formulaia.ai/v2/api/external/{ApiID}/addTagContact
Corpo (JSON)
{
  "contactId": 123,
  "tagId": 1
}
POST/removeTagContactRemoveTagContact

Remover uma ou mais tags diretamente de um CONTATO, sem precisar de ticket. Informe contactId OU number.

https://api.formulaia.ai/v2/api/external/{ApiID}/removeTagContact
Corpo (JSON)
{
  "number": "5511999999999",
  "tagIds": [
    1,
    2
  ]
}
POST/sendPresenceSendPresence

Enviar estado de presença (digitando, gravando, etc). Nos canais oficiais (WhatsApp Business oficial e 360dialog) só typing funciona, e a Meta marca como lida a última mensagem recebida do contato; recording, paused e o canal Gupshup respondem 400 ERR_PRESENCE_NOT_SUPPORTED.

https://api.formulaia.ai/v2/api/external/{ApiID}/sendPresence
Corpo (JSON)
{
  "ticketId": 1262,
  "state": "typing"
}

Tickets Avançados8

POST/showTicketByIdShowTicketById

Buscar dados completos de um ticket pelo ID.

https://api.formulaia.ai/v2/api/external/{ApiID}/showTicketById
Corpo (JSON)
{
  "ticketId": 1262
}
POST/ticket/pause/start/:ticketIdStartTicketPause

Iniciar pausa em um ticket (para controle de SLA).

https://api.formulaia.ai/v2/api/external/{ApiID}/ticket/pause/start/:ticketId
Parâmetros de caminho
ticketIdobrigatórioSubstitui :ticketId na rota
Corpo (JSON)
{
  "pauseReason": "Aguardando retorno do cliente"
}
POST/ticket/pause/end/:ticketIdEndTicketPause

Encerrar pausa de um ticket.

https://api.formulaia.ai/v2/api/external/{ApiID}/ticket/pause/end/:ticketId
Parâmetros de caminho
ticketIdobrigatórioSubstitui :ticketId na rota
Corpo (JSON)
{}
GET/ticket/pause/logs/:ticketIdListTicketPauseLogs
https://api.formulaia.ai/v2/api/external/{ApiID}/ticket/pause/logs/:ticketId
Parâmetros de caminho
ticketIdobrigatórioSubstitui :ticketId na rota
GET/listTicketEvaluationsListTicketEvaluations

Listar avaliações de atendimento.

https://api.formulaia.ai/v2/api/external/{ApiID}/listTicketEvaluations
Query params
pageNúmero da páginaEx.: 1
limitItens por páginaEx.: 20
searchBusca textual (opcional)
startDateData inicial (opcional)
endDateData final (opcional)
evaluationFiltrar por nota (opcional)
POST/sendEvaluationSendEvaluation

Enviar a pesquisa de satisfação para um atendimento e registrar a avaliação pendente (a nota do cliente é capturada automaticamente). Informe ticketId OU number (usa o ticket aberto do contato). Respeita o modo configurado (escala nativa ou link externo). Recusa grupos e canais sem suporte; retorna 409 se já houver avaliação pendente do contato (use force para reenviar).

https://api.formulaia.ai/v2/api/external/{ApiID}/sendEvaluation
Corpo (JSON)
{
  "ticketId": 1262,
  "body": "",
  "externalKey": "",
  "force": false
}
POST/ticket/shareTicketShareCreate

Compartilhar um ticket com outros usuários. Os usuários que ganham acesso vão em userIdArray. Um ticket só aceita um convite de compartilhamento: repetir a chamada responde 400.

https://api.formulaia.ai/v2/api/external/{ApiID}/ticket/share
Corpo (JSON)
{
  "ticketId": 1262,
  "userIdArray": [
    2
  ],
  "inviteUrl": ""
}
GET/ticket/share/:ticketIdTicketShareShow
https://api.formulaia.ai/v2/api/external/{ApiID}/ticket/share/:ticketId
Parâmetros de caminho
ticketIdobrigatórioSubstitui :ticketId na rota

To-Do List5

POST/todo/createTodoCreate

Criar uma nova tarefa no to-do list.

https://api.formulaia.ai/v2/api/external/{ApiID}/todo/create
Corpo (JSON)
{
  "name": "Ligar para o cliente",
  "description": "Retornar sobre a proposta enviada",
  "limitDate": "2026-06-15",
  "owner": "João Silva",
  "ownerId": 1,
  "status": "pending",
  "priority": "high",
  "comments": "Cliente pediu retorno pela manhã"
}
GET/todo/listTodoList
https://api.formulaia.ai/v2/api/external/{ApiID}/todo/list
POST/todo/update/:idTodoUpdate

Atualizar uma tarefa existente.

https://api.formulaia.ai/v2/api/external/{ApiID}/todo/update/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{
  "name": "Tarefa atualizada",
  "status": "finished",
  "priority": "medium"
}
POST/todo/delete/:idTodoDelete

Excluir uma tarefa.

https://api.formulaia.ai/v2/api/external/{ApiID}/todo/delete/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
Corpo (JSON)
{}
GET/todo/logs/:userIdTodoLogs
https://api.formulaia.ai/v2/api/external/{ApiID}/todo/logs/:userId
Parâmetros de caminho
userIdobrigatórioSubstitui :userId na rota

Usuários4

POST/createUserCreateUser

Criar um novo usuário no sistema.

https://api.formulaia.ai/v2/api/external/{ApiID}/createUser
Corpo (JSON)
{
  "email": "usuario@example.com",
  "password": "senha123",
  "name": "Nome do Usuário",
  "profile": "user"
}
POST/updateUserUpdateUser

Atualizar dados de um usuário existente: nome, email, senha, perfil, filas, canais permitidos, permissões de menu, ramal SIP, horário de atendimento e usuário restrito. Só userId é obrigatório; campos ausentes ficam inalterados. Perfil superadmin é recusado com 403.

https://api.formulaia.ai/v2/api/external/{ApiID}/updateUser
Corpo (JSON)
{
  "userId": 1,
  "name": "Nome Atualizado",
  "email": "novoemail@example.com"
}
GET/listUsersListUsers

Listar usuários com paginação e busca opcional.

https://api.formulaia.ai/v2/api/external/{ApiID}/listUsers
Query params
pageNumberobrigatórioNúmero da páginaEx.: 1
searchParamBusca (opcional)
GET/getUserStatusGetUserStatus

Buscar o status atual de um usuário.

https://api.formulaia.ai/v2/api/external/{ApiID}/getUserStatus
Query params
userIdobrigatórioID do usuárioEx.: 1

WaVoIP e Chamadas4

GET/wavoip/callsWavoipCallList

Listar chamadas WaVoIP do tenant.

https://api.formulaia.ai/v2/api/external/{ApiID}/wavoip/calls
Query params
pageNúmero da páginaEx.: 1
limitItens por páginaEx.: 20
startDateData inicial (opcional)
endDateData final (opcional)
phoneFiltrar por telefone (opcional)
directionSentido da chamada (opcional)
callStatusSituação da chamada (opcional)
userIdFiltrar por usuário (opcional)
ticketIdFiltrar por atendimento (opcional)
queueIdFiltrar por fila (opcional)
contactIdFiltrar por contato (opcional)
GET/wavoip/calls/:idWavoipCallShow
https://api.formulaia.ai/v2/api/external/{ApiID}/wavoip/calls/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota
GET/callLog/listCallLogList

Listar logs de chamadas do sistema. Esta rota não filtra por período: para recorte por data use /wavoip/calls.

https://api.formulaia.ai/v2/api/external/{ApiID}/callLog/list
Query params
pageNúmero da páginaEx.: 1
limitItens por páginaEx.: 20
orderByCampo de ordenação (padrão createdAt)
orderDirectionASC ou DESC (padrão DESC)
GET/callLog/show/:idCallLogShow
https://api.formulaia.ai/v2/api/external/{ApiID}/callLog/show/:id
Parâmetros de caminho
idobrigatórioSubstitui :id na rota

Central de ajuda

Dúvidas frequentes

90 respostas rápidas, organizadas por assunto. Filtre por categoria ou digite uma palavra.

Acesso e conta6

Login, senha, segurança e preferências pessoais como idioma, tema e status.

Esqueci minha senha. Como recupero o acesso?

Seu login é o e-mail cadastrado pelo administrador da sua empresa. Peça a ele que defina uma nova senha editando o seu usuário em Administração > Usuários (campo Senha). Depois de entrar, troque-a por uma senha só sua em Conta > Meu Perfil > Alterar Senha.

Como faço para trocar minha senha?

Abra Conta > Meu Perfil (ou clique no seu avatar > Meu Perfil). No card Alterar Senha, preencha Senha atual, Nova senha e Confirmar nova senha e clique em Alterar senha.

Ver no guia:Meu Perfil
Como ativo a autenticação em dois fatores (A2F/2FA)?

Um administrador ativa em Configuração > Configurações > Gerais > A2F: ligue Habilitar A2F e clique em Salvar. A partir daí, a verificação em duas etapas passa a valer para os usuários da conta. É uma boa prática de segurança, principalmente para quem tem perfil de administrador.

Ver no guia:Configurações
Como mudo o idioma da tela ou ativo o modo escuro?

Para o idioma, clique em PT na barra superior e escolha entre Português, English, Español e outros. Para o tema, clique em Modo Escuro no rodapé do menu lateral (ou digite “Modo Escuro” no Ctrl+K). O idioma das mensagens automáticas enviadas aos clientes é outro ajuste, em Configuração > Configurações > Gerais > Região e idioma.

O que significam os status Online, Pausado e Offline?

Online: você está disponível e pode receber novos atendimentos. Pausado: você faz uma pausa informando um motivo (ex.: Almoço). Offline: você fica indisponível. Para mudar, clique no seu avatar e escolha na seção Status; dependendo da configuração da sua conta, fechar a aba do sistema pode deixá-lo offline automaticamente.

Como encontro rapidamente uma página ou configuração?

Pressione Ctrl+K (ou clique em Buscar... no topo), digite parte do nome — por exemplo “filas” ou “SMTP” — e tecle Enter. A busca também traz ações como Nova Conversa, Modo Escuro e Rever tour. Em quase todas as páginas, o ícone ? ao lado do título abre o resumo Como usar esta página.

Canais e conexão8

Como conectar e manter o WhatsApp, as redes da Meta e o e-mail funcionando.

Como conecto o WhatsApp por QR Code?

1) Em Administração > Canais, clique em + Adicionar Canal. 2) Em Tipo de Canal, escolha uma opção de WHATSAPP NÃO OFICIAIS e preencha o Nome do Canal. 3) Clique em Criar Canal e, no cartão, em Novo QR Code. 4) No celular, abra WhatsApp > Aparelhos conectados > Conectar aparelho, leia o código e aguarde o status CONNECTED.

Ver no guia:Canais
Não consigo ler o QR Code. Existe outra forma de conectar?

Sim. Ao criar ou editar um canal de WhatsApp não oficial, ligue a chave Usar código de pareamento. Assim, em vez de ler o QR Code, você conecta o celular informando um código, em WhatsApp > Aparelhos conectados.

Ver no guia:Canais
Meu canal aparece como DISCONNECTED. Como reconecto?

Em Administração > Canais, localize o cartão com status DISCONNECTED e clique em Novo QR Code; leia o código no celular em WhatsApp > Aparelhos conectados > Conectar aparelho. Nos canais da Meta com aviso de acesso vencido, clique em Reconectar. Aguarde o status voltar para CONNECTED.

Ver no guia:Canais
Preciso de um número exclusivo para cada canal?

É o recomendado. Use uma conta de WhatsApp dedicada para cada canal, não use o mesmo número em outros sistemas ao mesmo tempo e mantenha o celular com internet estável. Isso evita quedas e conflitos de conexão.

Ver no guia:Canais
Qual a diferença entre a API Oficial e a API não oficial do WhatsApp?

A API Oficial (grupo META (OFICIAL), como WhatsApp Oficial e WABA) é autorizada pela Meta, conecta por login na Meta e exige modelos (templates) aprovados para falar com o cliente fora da janela de 24 horas. As opções de WHATSAPP NÃO OFICIAIS (ex.: Baileys, Uazapi, Evolution) conectam por QR Code ou código de pareamento, como o WhatsApp Web, e dependem do celular conectado. A escolha depende do seu volume, dos recursos de que você precisa e do que está disponível no seu plano.

Como conecto o WhatsApp pela API Oficial?

1) Configure o aplicativo Meta em Configuração > Integrações Meta (é preciso ter um app no Meta for Developers e uma conta Business verificada). 2) Em Administração > Canais, clique em + Adicionar Canal > WhatsApp Oficial. 3) Selecione o Aplicativo Meta e clique em Conectar via WhatsApp OAuth. 4) Autorize na janela da Meta; o canal é criado automaticamente.

O cliente está fora da janela de 24 horas da API Oficial. Como falo com ele?

Na API Oficial, depois de 24 horas sem mensagem do cliente, só é possível retomar a conversa com um modelo (template) aprovado pela Meta. Crie o modelo em Configuração > Integrações Meta > Templates > Criar Template (há a opção Gerar com IA), confira a Prévia e aguarde a aprovação. Depois, use-o no atendimento (com uma Mensagem Rápida do tipo Template WABA), nas campanhas ou no Envio em Massa, aba Template.

Posso atender Instagram, Facebook e e-mail no mesmo lugar?

Sim. Em + Adicionar Canal, escolha Instagram Oficial ou Facebook Oficial (grupo META (OFICIAL); a conta do Instagram deve ser profissional e vinculada a uma página do Facebook) ou, no grupo OUTROS, Webmail (Gmail) ou Email (IMAP/SMTP). As conversas de todos os canais chegam juntas em Atendimento > Atendimentos, e você filtra pelos chips de canal.

Ver no guia:CanaisAtendimentos

Atendimento no dia a dia12

As dúvidas mais comuns de quem atende clientes na central de Atendimentos.

Qual a diferença entre Pendentes, Abertos e Fechados?

Pendentes são conversas aguardando alguém assumir e ficam somente leitura. Abertos são os atendimentos em andamento, já atribuídos a um atendente. Fechados ficam para consulta e não recebem novas mensagens. Algumas filas distribuem conversas automaticamente, então um ticket pode passar para aberto sem ação sua.

Ver no guia:Atendimentos
Como aceito e respondo um atendimento?

1) Na aba Pendentes, se quiser, clique no olho para Espiar o histórico sem assumir. 2) Clique em Atender (ou no ícone de entrar do cartão): o ticket vai para Abertos, atribuído a você. 3) Digite no campo Digite uma mensagem... e pressione Enter. Com a chave Assinado ligada, a mensagem sai com o seu nome no topo.

Ver no guia:Atendimentos
Como transfiro um ou vários atendimentos?

Na conversa, clique em Transferir (ícone ⇄), escolha a Fila (ou Seguir sem fila), o Atendente e, se quiser, uma Mensagem (opcional); clique em Transferir. Para continuar por outra conexão, use Transferir Canal. Para vários tickets de uma vez, use Ações > Selecionar múltiplos, marque os tickets e escolha transferir, fechar ou reatribuir.

Ver no guia:Atendimentos
Como encerro um atendimento?

Clique no ✓ (Resolver atendimento) no topo da conversa ou use Alt+R; o ticket vai para Fechados. Dependendo da configuração, o sistema pode pedir a mensagem de fechamento ou a demanda e enviar a pesquisa de satisfação. Se quiser apenas devolver o cliente para a fila, use Retornar à fila.

Posso pausar um atendimento e retomar depois?

Sim, quando a opção Permitir pausar atendimento está ligada em Configuração > Configurações > Gerais. Na conversa, clique em ⋯ > Pausar atendimento e informe o motivo, se for pedido. Os atendimentos pausados ficam no ícone ⏸ (Atendimentos pausados) e, conforme a configuração, voltam sozinhos quando o cliente responde.

Como deixo uma anotação que o cliente não vê?

Na caixa de resposta, clique em ⋮ (Mais opções) > Criar nota, escreva e clique em Salvar nota. A nota aparece como um cartão amarelo NOTA, visível só para a equipe. Todas as notas podem ser consultadas depois em Gestão Comercial > Notas.

Ver no guia:AtendimentosNotas
Como agendo uma mensagem para ser enviada mais tarde?

Na conversa, clique em ⋯ > Agendar mensagem. Escolha Data e hora (ou os atalhos +30 min, Amanhã, +1 semana), escreva a mensagem, defina a Recorrência se quiser e clique em Agendar. Para agendar sem abrir a conversa e acompanhar todos os envios, use Automação > Agendamentos.

Como envio arquivos, fotos ou um áudio?

Clique no clipe (Anexar arquivo) e escolha Imagem, Vídeo, Documento, Múltiplos arquivos, Da galeria, Localização ou Contato (vCard); você também pode colar um arquivo com Ctrl+V. Para áudio, clique no microfone (Gravar áudio). Se o canal estiver com Habilitar transcrição de áudio ligado, os áudios recebidos podem ser transcritos.

Como uso respostas prontas (mensagens rápidas)?

No campo de mensagem, digite / e o atalho (ex.: /boasvindas), escolha com as setas e tecle Enter. As respostas são cadastradas em Comunicação e Marketing > Mensagens Rápidas; ligue Mensagem pública para que toda a equipe possa usar e aproveite as Variáveis para inserir o nome do cliente.

Como a IA pode me ajudar a responder?

No ícone roxo de Estilos de Reescrita, a IA reescreve seu texto como Profissional, Simpático, Marketing ou Ortografia. Em ⋮ (Mais opções) estão Resumir conversa com IA e Copiloto, que sugere respostas para a conversa; o menu de cada mensagem também tem Traduzir. Para ativar o Copiloto, um administrador vai em Configuração > Configurações > Bots IA > Copiloto de IA, liga Habilitar Copiloto, escolhe o Provedor de IA, informa a API Key e clica em Testar e Salvar.

Como encontro e exporto uma conversa antiga?

Use Buscar nome, número ou ticket... para achar o atendimento ou o ícone de balão (Buscar mensagem em todos os tickets) para buscar pelo conteúdo; em Filtros, ligue Incluir tickets fechados. Para exportar, abra a conversa, clique no ⓘ (Detalhes do contato) > aba Util. > Exportar conversa em PDF.

Ver no guia:Atendimentos
Quais atalhos de teclado posso usar no atendimento?

Esc fecha a conversa; Alt+↑ / Alt+↓ vão para o atendimento anterior ou o próximo; Alt+R resolve o atendimento; Enter envia a mensagem; / abre as mensagens rápidas; Ctrl+V cola arquivos. A lista fica em Ações > Ajuda.

Contatos6

Importação, organização e cuidados com a base de clientes.

Como importo ou exporto meus contatos?

Em Atendimento > Contatos, clique em Modelo CSV, preencha a planilha e envie em Importar Contatos (ou use Importacao Inteligente para mapear as colunas de outra planilha). Para exportar, aplique os filtros desejados e clique em Exportar Contatos: o arquivo segue os filtros aplicados.

Ver no guia:Contatos
Como removo contatos duplicados e acerto o 9º dígito?

Em Contatos, abra Utilitários e clique em Remover Duplicados. Muitas duplicidades vêm de celulares brasileiros gravados com e sem o 9; para isso, use Utilitários > Verificar 9° Dígito. Ao cadastrar, informe sempre código do país + DDD + número, só com dígitos.

Ver no guia:Contatos
O que é a carteira de um contato?

É o atendente responsável pelo contato. Você a define no cadastro (Carteira) ou no painel Detalhes do contato > Carteiras. Dependendo da configuração da sua conta, os novos atendimentos desse contato vão direto para o responsável; você pode filtrar a lista por Todas as carteiras.

Como coloco etiquetas e informações extras em um contato?

No atendimento, abra o ⓘ > aba Perfil > Etiquetas e digite em “Adicionar tag...”. No cadastro do contato, você também define Tags, abre Mais campos e IDs de canais (CPF / CNPJ, Data de Nascimento, Empresa) e cria campos próprios em Campos extras > Adicionar campo.

Ver no guia:ContatosEtiquetas
Como bloqueio um contato que não quero mais atender?

Abra a conversa, clique no ⓘ (Detalhes do contato) e, na aba Gestão, use Bloquear contato. Se quiser apenas que o robô pare de responder a ele, use Bloquear chatbot.

Ver no guia:Atendimentos
Um cliente pediu para apagar os dados dele (LGPD). O que faço?

No atendimento, abra o ⓘ > aba Util. > Sanitizar contato, que remove dados sensíveis do contato (número, e-mail, CPF); a ação é irreversível. Boas práticas: registre o pedido, verifique antes se há informações que a empresa precisa manter e limite quem acessa dados sensíveis. Em caso de dúvida, consulte o responsável pela proteção de dados ou o jurídico da sua empresa.

Filas, etiquetas e distribuição6

Como organizar setores, horários, pausas e a chegada dos atendimentos à equipe.

Como crio uma fila (setor)?

Em Gestão Comercial > Filas, clique em Nova Fila, informe Nome e Cor, configure o Horário de atendimento de cada dia e, se quiser, ligue Distribuição Automática e escreva a mensagem de Fora do horário. Clique em Salvar e, em Administração > Usuários, use o botão Filas para definir quem atende essa fila.

Ver no guia:FilasUsuários
Como funciona a distribuição automática de atendimentos?

Com Distribuição Automática ligada na fila, novos clientes vão direto para um atendente disponível assim que ele termina uma conversa; sem ela, alguém precisa puxar da fila de espera. Nos canais existe também Habilitar auto distribuir (ignorada se a fila tiver distribuição própria) e, no Chat Flow, o modo de distribuição: Aleatória, Balanceada ou Sequencial.

Ver no guia:FilasCanais
Como configuro o horário de atendimento e os feriados?

Em Gestão Comercial > Horário Atendimento, escolha para cada dia 24 horas, Agendado ou Fechado, escreva a Mensagem Fora do Horário e use Adicionar Feriado (feriados ativos bloqueiam o atendimento no dia). Clique em Salvar no topo: nada vale antes disso. Cada fila e cada usuário também podem ter horário próprio no seu cadastro.

Ao escolher Pausado, o sistema pede um motivo. Onde cadastro os motivos?

Em Gestão Comercial > Motivos de Pausa, clique em Novo motivo e informe Nome, Cor, Tempo máximo (min) e Máx. usos/dia; com Alertar ao estourar o tempo, operador e gestão são avisados. A pausa de atendimentos também depende da opção Permitir pausar atendimento em Configurações. O histórico fica no relatório Pausas dos Atendentes.

Um atendente não recebe os atendimentos de uma fila. O que verificar?

Em Administração > Usuários, clique em Filas e em Conexões na linha do atendente e confirme que a fila e o canal estão marcados. Verifique também se ele está Online, se a fila está Ativa e dentro do horário e se o Horário de Atendimento do próprio usuário permite atender naquele momento.

Ver no guia:UsuáriosFilas
Como faço uma etiqueta ser aplicada automaticamente?

Em Gestão Comercial > Etiquetas, crie ou edite a etiqueta e preencha Palavra-chave gatilho (clique em “+” para adicionar várias). Quando uma mensagem recebida trouxer essa palavra, a etiqueta é aplicada ao contato. Mantenha Ativo marcado e clique em Salvar.

Ver no guia:Etiquetas

Equipe e permissões7

Cadastro de usuários, perfis de acesso, equipes e auditoria.

Como cadastro um novo atendente?

Em Administração > Usuários, clique em + Novo Usuário, preencha Nome, Email (que será o login) e Senha, escolha o Perfil e clique em Salvar. Depois, na linha do usuário, use Filas e Conexões para marcar o que ele atende. O número de usuários pode ser limitado pelo seu plano.

Ver no guia:Usuários
Qual a diferença entre os perfis Atendente, Supervisor, Administrador e Personalizado?

Atendente atende as filas e os canais vinculados a ele. Supervisor acompanha a equipe — por exemplo, no Painel de Atendimentos, das filas sob sua responsabilidade. Administrador gerencia o sistema e as configurações. Personalizado usa um perfil criado em Gerenciar Perfis; o que cada perfil vê também depende das configurações da sua conta.

Ver no guia:Usuários
Como crio um perfil de acesso para um grupo de usuários?

Em Administração > Usuários, clique em Gerenciar Perfis > + Novo perfil, dê um Nome do perfil e marque os Modulos visiveis (ou descreva o que precisa e use Sugerir com IA). Salve, edite cada usuário e escolha o Perfil Personalizado com o perfil criado. Se a opção não aparecer, verifique Habilitar perfis personalizados em Configuração > Configurações > Gerais.

Como limito o que um usuário pode ver?

No cadastro do usuário, deixe Usuário Restrito como Habilitado para que ele veja só as próprias conversas e filas. Em Permissões de Menu, marque apenas os módulos que ele deve acessar (ex.: Contatos, Campanhas, Envio em Massa). Para impedir ligações, ligue Bloquear WaVoIP.

Ver no guia:Usuários
Um colaborador saiu da empresa. Devo excluir o usuário?

Prefira Inativar na linha do usuário em Administração > Usuários: o acesso é bloqueado e o histórico de atendimentos continua nos relatórios. Excluir não pode ser desfeito. Aproveite para revisar os contatos que estavam na carteira dele.

Ver no guia:Usuários
Para que servem as Equipes e o Chat Privado?

Em Administração > Equipes, você agrupa usuários por área (ex.: Suporte, Vendas) com + Nova Equipe e Gerenciar membros. Em Atendimento > Chat Privado, os usuários conversam entre si ou com a equipe inteira, com chamadas de áudio e vídeo, sem envolver clientes. Para levar uma mensagem de cliente ao chat interno, use Encaminhar para Chat Privado no menu da mensagem.

O gestor consegue ver as conversas internas e o que cada usuário alterou?

Sim. No Chat Privado, administradores usam o escudo Auditar conversas (espiar) para ler conversas individuais e de equipe, somente leitura. Em Configuração > Log de Auditoria, filtre por usuário, ação e período para ver quem criou, alterou ou excluiu algo, e use Exportar CSV para arquivar. É uma boa prática informar a equipe sobre essas regras de auditoria.

Campanhas e envio em massa7

Disparos para muitos contatos com segurança, consentimento e acompanhamento.

Como crio uma campanha de WhatsApp?

Em Comunicação e Marketing > Campanhas, clique em + Nova Campanha, informe Nome, Sessão/WhatsApp, Data/hora de início e Delay entre mensagens (seg), escreva as três mensagens e clique em Criar campanha. Depois, adicione os contatos (filtrando por nome, telefone, etiqueta ou estado) e agende ou envie. Para um disparo imediato, use Envio em Massa.

Por que a campanha pede três mensagens?

As três mensagens são variações, não uma sequência: cada contato recebe só uma delas, sorteada. Escreva o mesmo conteúdo de formas diferentes — isso reduz o risco de bloqueio do número. Use Variáveis (ex.: Primeiro nome) para personalizar, o botão IA para gerar texto e confira tudo no Preview.

Ver no guia:Campanhas
Como evitar o bloqueio do número em campanhas e envios em massa?

Envie só para contatos que autorizaram receber mensagens, use intervalos maiores entre envios (Delay entre mensagens nas campanhas ou Min (s)/Max (s) no Envio em Massa), ative Janela de envio e Limite diário de mensagens e varie o texto. Na API Oficial, use templates aprovados. Comece com volumes menores e acompanhe as respostas.

Como sei se as mensagens foram entregues?

Na lista de Campanhas, acompanhe o progresso (entregues, pendentes e falhas); se o canal cair, a campanha espera e tenta de novo. No Envio em Massa, abra a aba Relatório e filtre por Status e Tipo de Disparo. Contatos que já estavam em atendimento podem aparecer como pulados quando a verificação de conversas em outros canais está ativa.

Como peço e respeito o consentimento dos contatos?

Boas práticas: envie mensagens de marketing só para quem autorizou (em um formulário ou na própria conversa), registre essa autorização (uma etiqueta ajuda), identifique a sua empresa e ofereça sempre um jeito fácil de deixar de receber. Quando alguém pedir para sair, retire o contato das listas e, no e-mail, inclua-o em Descadastrados. Para questões legais específicas, consulte o jurídico da sua empresa.

Como envio e-mail marketing e cuido dos descadastrados?

1) Em Comunicação e Marketing > E-mail Marketing, aba Modelos, clique em + Novo modelo, monte o e-mail no Editor visual, use Enviar teste e Salvar. 2) Em Envio em Massa > aba E-mail, escolha o Canal de e-mail, os destinatários, o Modelo de e-mail e o Assunto, ligue Rodapé de descadastro e clique em Disparar. E-mails da aba Descadastrados não recebem campanhas nem disparos em massa.

Como gerencio vários grupos de WhatsApp de uma vez?

Em Comunicação e Marketing > Grupos, escolha a Conexão e use as abas: Massa Grupos (criar grupos e exportar participantes), Massa Grupos 2 (título, descrição, imagem e permissões), Massa Usuários (adicionar, remover ou promover administradores), Ban List, Word List, Saudação e Despedida. É preciso uma conexão não oficial que suporte grupos, e o número precisa ser administrador dos grupos.

Ver no guia:Grupos

Automação e IA8

Chatbots, agentes de IA e mensagens automáticas que trabalham pela equipe.

Como crio um chatbot com menu de opções?

1) Em Automação > Chat Flow, clique em + Novo Fluxo, dê um Nome do Fluxo e clique em Criar Fluxo. 2) Abra o editor e crie um + Passo com a interação Botões ou Lista. 3) Em Condições, defina para onde vai cada resposta (Encaminhar para fila, atendente ou outro passo). 4) Ligue o Início ao passo e clique em Salvar.

Ver no guia:Chat Flow
Como faço o chatbot responder só para mim enquanto testo?

No Chat Flow, clique em Editar informações no fluxo e preencha Número para Teste com o seu número (com código do país). O bot só responde a ele. Depois de testar, apague o número para liberar o fluxo a todos.

Ver no guia:Chat Flow
O que o chatbot faz fora do horário ou quando o cliente não responde?

No editor do fluxo, o nó Configurações define Fora do horário, Sem resposta (timeout), Opção inválida e Máximo de tentativas do bot, cada um com a ação desejada (Fila, Agente, Fechar ou Canal). Para rotear por dia e hora, use Tabela de horários.

Ver no guia:Chat Flow
Como coloco um Agente de IA para fazer o pré-atendimento?

Em Automação > Agentes de IA, use Modelos prontos (ex.: Recepção, Vendas, Suporte) ou + Novo Agente. Na aba Provedor, informe a Chave da IA e o Modelo e salve; depois preencha Conhecimento (artigos, documentos, links) e Roteamento. Para ele atender, vincule-o a um canal (seção Agente de IA do canal) ou use o bloco Agente de IA no Chat Flow.

Como o Agente de IA decide passar a conversa para uma pessoa?

Na aba Roteamento, adicione destinos (fila, atendente, fluxo ou outro agente) e descreva em Quando transferir os assuntos de cada um; com Transferência inteligente ligada, a IA escolhe o momento. O cliente também pode digitar a Palavra de saída (ex.: “atendente”). Defina uma Fila de emergência: se a chave de IA vencer ou ficar sem crédito, a conversa vai para ela com uma nota no ticket.

Ver no guia:Agentes de IA
Como devolvo um cliente ao chatbot ou paro o robô para um contato?

Na conversa, clique em ⋯ > Transferir p/ Chatbot, escolha o fluxo e clique em Transferir. Para que o robô não responda mais a um contato, abra o ⓘ > aba Gestão > Bloquear chatbot.

Como envio mensagens de aniversário?

Em Automação > Aniversários, filtre o mês, clique no ícone de mensagem do contato, escolha a conexão e escreva a mensagem. A conexão só aparece se o canal tiver Habilitar envio de mensagem para aniversariantes ligado, e o contato precisa ter Data de Nascimento preenchida. Use Revisar datas para corrigir dia e mês trocados.

Como respondo automaticamente quem comenta no Instagram?

Em Automação > Instagram, escolha o Canal e clique em + Nova automação. Defina o Tipo de gatilho (ex.: Comentário), as publicações, as Palavras-chave (ex.: “eu quero”) e as ações Responder publicamente no comentário e/ou Responder via DM. Use Validar permissões para conferir o acesso da conta e acompanhe os disparos na aba Histórico.

Vendas e gestão8

Funil de vendas, agenda, tarefas, catálogo, cobranças e encerramentos.

Como monto meu funil de vendas?

Em Gestão > Funil, aba Pipelines, clique em + Novo Pipeline, dê o nome e use + Adicionar Etapa para cada fase (nome, cor e, se quiser, Notificar fila ao entrar ou Notificar atendente ao entrar). Arraste para ordenar e clique em Criar. Pipelines com oportunidades vinculadas não podem ser excluídos diretamente.

Ver no guia:Funil
Como registro e acompanho uma oportunidade?

Na aba Kanban do Funil, clique em + Nova Oportunidade, preencha Nome, Pipeline, Etapa, Responsável, Contato, Previsão de Fechamento e Valor (R$) e clique em Salvar. Arraste o card entre as etapas conforme a negociação avança e, no fim, marque o Status como Ganho ou Perdido. Os resultados aparecem na aba Dashboard do Funil.

Ver no guia:Funil
Qual a diferença entre o Kanban e o Kanban do Funil?

O Kanban (Gestão > Kanban) mostra contatos em lanes de atendimento (ex.: Lead Frio, Lead Quente), configuradas em Configuração > Configurações > CRM > Lanes (Kanban). O Kanban do Funil mostra oportunidades de venda, com valor e previsão de fechamento, organizadas pelas etapas do pipeline.

Ver no guia:KanbanFunil
Posso automatizar follow-ups no funil?

Sim. Em Gestão > Funil, aba Ações, clique em + Nova Ação, escolha Pipeline, Etapa, o Tipo de Ação (ex.: Enviar Mensagem, Mudar Etapa, Adicionar Etiqueta) e os Dias para Disparar; confira o histórico em Logs de Ações. Para lembrar clientes que não responderam, use a aba Ações Ticket, com Horas sem resposta.

Ver no guia:Funil
Qual a diferença entre Agenda, Agendamentos e Agendamento Público?

Agenda (Gestão > Agenda) guarda consultas e compromissos com clientes e envia lembretes automáticos pela aba Lembretes. Agendamentos (Automação > Agendamentos) programa mensagens de WhatsApp para uma data e hora. Agendamento Público (Gestão Comercial > Agendamento Público) cria uma página com link para o próprio cliente marcar horário.

Como organizo as tarefas da equipe?

Em Gestão > Tarefas, clique em + Nova Tarefa e informe Nome, Prioridade, Status, Prazo, Responsável e, para tarefas repetitivas, a Recorrência. Alterne entre Lista e Kanban para ver por status e edite a tarefa para marcá-la como Concluída.

Ver no guia:Tarefas
Como envio um produto do catálogo e acompanho cobranças?

Cadastre os produtos em Gestão Comercial > Catálogo (Novo Produto) e, na conversa, use ⋮ (Mais opções) > Inserir produto. As cobranças são enviadas de dentro da conversa e acompanhadas em Gestão Comercial > Cobranças. Como o WhatsApp não avisa quando o pagamento é feito, confira o recebimento e marque a cobrança como paga.

Como registro o motivo de cada encerramento (demandas)?

Em Gestão Comercial > Fechamento, crie as categorias na aba Demandas (Nova Demanda) e as mensagens na aba Mensagens de fechamento (Novo Fechamento), vinculando cada mensagem a uma demanda. Ao encerrar com essa mensagem, a demanda é registrada automaticamente. Para torná-la obrigatória, ligue Forçar definição de demanda no fechamento de atendimento em Configuração > Configurações > Gerais.

Relatórios e indicadores7

Onde acompanhar números, satisfação dos clientes e o trabalho da equipe.

Onde vejo os números do atendimento?

Em Principal > Dashboard, escolha Hoje, 7 dias, 30 dias ou 90 dias (ou preencha De / Até e clique em Gerar). Os cards e gráficos mostram volumes e tempos por fila, status, canal, período e usuário. Use Personalizar e Widgets para reorganizar os cards e Analisar, em Insights de IA, para receber recomendações.

Ver no guia:Dashboard
O que significam TMA, TME, TPR e TTE?

TMA é o Tempo Médio de Atendimento; TME, o Tempo Médio de Espera; TPR, o Tempo de Primeira Resposta; e TTE, o Tempo Total de Espera. Passe o mouse no ícone “i” de cada card do Dashboard para ver a explicação do indicador.

Ver no guia:Dashboard
Quais relatórios existem e como exporto?

Em Gestão Comercial > Relatórios, há cartões como Atendimentos, Contatos por Etiqueta, Resumo por Usuário, Produtividade Diária, Funil por atendente, Pausas dos Atendentes e Tarefas por atendente. Abra o cartão, defina período e filtros e clique em Gerar Relatório (ou Aplicar); depois use Imprimir ou exporte para Excel, XLSX ou CSV.

Ver no guia:Relatórios
Como ativo a pesquisa de satisfação ao encerrar atendimentos?

Em Gestão Comercial > Avaliações, aba Configurações, escolha o Tipo de avaliação e o comportamento ao resolver o atendimento, ligue Habilitar avaliações e clique em Salvar configurações. No canal, em Administração > Canais, ligue Habilitar avaliação automática. As respostas aparecem na aba Avaliações e no Relatório NPS.

Ver no guia:AvaliaçõesCanais
Como o NPS é calculado?

NPS = % de Promotores − % de Detratores, numa escala de −100 a 100. Você define quais notas contam como promotor e detrator no card Classificação NPS da aba Configurações de Avaliações e acompanha o resultado por dia, semana ou mês no Relatório NPS.

Ver no guia:Avaliações
Como acompanho a equipe em tempo real?

Em Gestão Comercial > Painel Atendimentos, com Ao Vivo ligado, você vê os totais, uma coluna por atendente e os pendentes sem atribuição. Dá para Espiar conversa, Atender um pendente e mudar a visualização (por usuário, fila ou canal) em Filtros. Cuidado: os ícones de ações em massa (resolver, encerrar, transferir) executam a ação na hora.

Onde encontro um protocolo ou o histórico de ligações?

Em Gestão Comercial > Protocolos, busque pelo número ou filtre por data e use Espiar conversa ou Ir para atendimento; os protocolos são gerados automaticamente. As chamadas de voz ficam em Gestão Comercial > Log Ligações, com filtros por status, agente e números e a opção Exportar CSV.

Integrações e API7

Conectar o CRM a outros sistemas, lojas, telefonia e agendas.

Como gero e testo um token de API?

1) Em Configuração > API, clique em + Nova API, informe Nome e Sessão e clique em Salvar. 2) Copie o token completo na hora: ele não é exibido novamente. 3) Use a URL DE INTEGRAÇÃO com o cabeçalho Authorization: Bearer {token} e teste os endpoints no Sandbox da própria página (ou baixe a coleção em Postman). Se o token vazar, clique em ↻ para renová-lo; o anterior deixa de valer.

Ver no guia:API
Como envio eventos do CRM para outro sistema (webhooks)?

Em Configuração > Configurações > Integrações > Webhooks, ligue Ativar webhook, informe a URL do Webhook, escolha os eventos (mensagens, canais, usuários, APIs) e clique em Salvar. Para um canal específico, use Habilitar Webhook do Canal no cadastro do canal.

O que preciso para usar as Integrações Meta?

Um app criado no Meta for Developers e uma conta Business verificada. Em Configuração > Integrações Meta, aba Contas Meta > Login / OAuth, selecione o Aplicativo, clique em Login com Facebook e autorize; na aba Configurações, copie as URLs de Webhook para o painel da Meta. Na aba Templates, você cria e acompanha os modelos de mensagem.

Ver no guia:Integrações Meta
Como conecto minha loja Nuvemshop ou WooCommerce?

Cadastre o app da loja em Configuração > Configurações > Apps (Nuvemshop ou WooCommerce) e conecte o canal correspondente em Administração > Canais (esses tipos estão marcados como Beta). Com a integração ativa, as páginas Gestão Comercial > Nuvemshop e WooCommerce mostram pedidos e produtos, e Novo Produto cria o produto na loja. A mensagem “Erro ao carregar pedidos” geralmente indica que a loja ainda não está conectada.

Como uso chamadas de voz pelo WhatsApp (WaVoIP)?

Com uma conta WaVoIP, informe o Token WaVoIP (opcional) no cadastro do canal, em Administração > Canais. Na página Gestão Comercial > WaVoIP, entre com a conta ou escolha um token para listar as chamadas; o histórico fica em Log Ligações. Para impedir que um usuário faça chamadas, ligue Bloquear WaVoIP no cadastro dele.

Ver no guia:WaVoIPCanais
Como conecto o Google Calendar?

Em Configuração > Configurações > Integrações > Google Calendar, clique em Conectar Google Calendar e autorize sua conta Google. Depois, em Comunicação e Marketing > Google Calendar, escolha o calendário e o período e crie compromissos com Novo evento: os eventos aparecem nos dois lados e podem ser vinculados a oportunidades do funil.

Como habilito o Rocket.Chat?

Um administrador liga Habilitar Rocket.Chat em Configuração > Configurações > Integrações > Rocket.Chat; o servidor precisa ter sido configurado antes pelo administrador da plataforma. Enquanto isso não acontece, a página mostra “Rocket.Chat nao habilitado”. Para conversas internas sem configuração extra, use o Chat Privado.

Solução de problemas8

O que fazer quando algo não funciona como esperado.

A página não carrega direito depois de uma atualização do sistema. O que faço?

Se aparecer o aviso Nova versão disponível!, clique em Atualizar Agora. Se a tela continuar em branco ou incompleta, recarregue a página (F5) para carregar a versão mais recente. Se ainda assim não resolver, use Limpar cookies no menu do avatar e entre novamente.

Apareceu “Algo deu errado — Ocorreu um erro inesperado”. E agora?

Clique em Tentar novamente. Se a mensagem voltar, recarregue a página (F5): normalmente é a nova versão do sistema sendo carregada depois de uma atualização.

Ver no guia:Atendimentos
As mensagens dos clientes não estão chegando. O que verificar?

1) Em Administração > Canais, confira se o canal está CONNECTED. 2) Veja se o ponto de status no topo está verde (Sistema conectado); se não estiver, recarregue a página. 3) Em Atendimentos, clique em Limpar nos Filtros e confira as abas Pendentes e Abertos. 4) Peça ao administrador para conferir se você tem a fila e o canal marcados em Usuários (Filas e Conexões).

Ver no guia:CanaisAtendimentos
Não ouço o som das notificações. Como resolvo?

Verifique se o navegador permite notificações e som para o sistema e se a aba está aberta. Um administrador pode conferir a opção Notificações sonoras em Configuração > Configurações > Gerais. As notificações do navegador (Web Push) também podem ser ligadas no canal, com Habilitar Web Push.

Meu canal de WhatsApp cai com frequência. Por quê?

Nos canais por QR Code, as quedas costumam estar ligadas ao celular: mantenha-o ligado e com internet estável, use um número dedicado e não conecte o mesmo número em outros sistemas. Para reconectar, clique em Novo QR Code no cartão do canal. Nos canais da Meta (WhatsApp Oficial, Instagram, Facebook), quando a autorização vencer, clique em Reconectar.

Ver no guia:Canais
Por que não consigo responder um ticket?

Se o ticket está em Pendentes, ele é somente leitura: clique em Atender para assumi-lo. Tickets Fechados não aceitam novas mensagens. Na API Oficial, se o cliente não escreve há mais de 24 horas, envie um template aprovado para retomar a conversa.

O mesmo cliente aparece duas vezes. Como corrijo?

Em Atendimento > Contatos, use Utilitários > Remover Duplicados e, para celulares brasileiros, Verificar 9° Dígito. Para evitar novos casos, cadastre e importe os números sempre completos: código do país + DDD + número, só com dígitos.

Ver no guia:Contatos
Uma mensagem agendada ficou com status Falhou. O que aconteceu?

Na maioria dos casos, o canal estava desconectado no horário do envio. Confira o status em Administração > Canais, reconecte se necessário e crie um novo agendamento em Automação > Agendamentos. Na API Oficial, lembre-se de que fora da janela de 24 horas é preciso usar template.

Ver no guia:AgendamentosCanais

Referência rápida

Atalhos de teclado

Ctrl+KAbre a busca global para ir a qualquer página, ação ou configuração.
EscFecha a busca, painéis e a conversa aberta; cancela a seleção múltipla.
EnterEnvia a mensagem digitada no atendimento.
ouNo campo de mensagem, abre a lista de mensagens rápidas.
↑ou↓+EnterEscolhe e insere uma mensagem rápida da lista.
Alt+↑ouAlt+↓Vai para o atendimento anterior ou o próximo.
Alt+RResolve (encerra) o atendimento aberto.
EnterouEspaçoAbre o atendimento selecionado na lista.
Ctrl+VCola arquivos (imagens, PDF, Word, Excel) direto na conversa.
ou(em Configurações > Gerais)Coloca o cursor em Buscar configuração...

Glossário

Ticket (Atendimento)
Cada conversa com um cliente, identificada por um número (#). Passa pelos status Pendente, Aberto e Fechado.
Fila
Setor ou departamento (ex.: Comercial, Suporte) para onde os atendimentos são direcionados, com horário e distribuição próprios.
Canal / Sessão
Conexão com um meio de comunicação (WhatsApp, Instagram, e-mail, webchat...) pela qual as conversas chegam e saem.
Etiqueta (Tag)
Marcador colorido para classificar contatos e atendimentos, aplicado à mão ou automaticamente por palavra-chave.
Carteira
Vínculo entre um contato e o atendente responsável por ele.
Pendente
Atendimento que aguarda alguém assumir. É somente leitura até um atendente clicar em Atender.
Protocolo
Número único gerado para cada atendimento, usado para localizá-lo depois.
TMA
Tempo Médio de Atendimento: quanto tempo, em média, dura um atendimento.
TME
Tempo Médio de Espera: quanto tempo, em média, o cliente espera até ser atendido.
Funil / Pipeline
Sequência de etapas de venda (ex.: Novo Lead, Proposta, Negociação) por onde as oportunidades avançam.
Lane
Coluna do quadro Kanban de contatos, que representa uma etapa do atendimento (ex.: Lead Frio, Lead Quente).
Chatbot / Chat Flow
Fluxo automático de conversa, montado visualmente, que responde ao cliente com mensagens, menus e encaminhamentos.
Agente de IA
Assistente virtual com inteligência artificial que atende clientes com base no conhecimento da empresa e transfere para a equipe quando necessário.
Copiloto
Recurso de IA que ajuda o atendente sugerindo respostas e analisando o sentimento do cliente durante a conversa.
WABA / API Oficial
WhatsApp Business API, a conexão oficial da Meta. Exige templates aprovados para iniciar conversas fora da janela de 24 horas.