Integração Zenvia Voice (TotalVoice): telefone dentro do seu CRM (2026)
Este guia é para equipes que já usam a TotalVoice, agora parte do grupo Zenvia, como sua central telefônica e querem ver as ligações no mesmo lugar onde já estão o histórico de conversas do cliente, em vez de em um painel separado.
Resumo: a integração do Mavibot com a Zenvia Voice conecta sua conta TotalVoice ao CRM, então o funcionário liga para o cliente direto do cartão do contato em vez de abrir outro aplicativo. Cada ligação é registrada automaticamente, pode ser transferida para outro funcionário, e o status da chamada chega em tempo real (chamando, atendida, sem resposta, ocupado), tudo no mesmo registro do histórico de conversa do cliente.
O que a integração com a Zenvia Voice faz de verdade
A Zenvia Voice (TotalVoice) toca primeiro no funcionário e só depois liga para o cliente, então quem atende já está com a linha aberta quando o cliente atende do outro lado. A integração do Mavibot conecta essa central ao CRM, então uma ligação iniciada no cartão do contato passa pela sua linha Zenvia Voice normalmente.
Cada chamada fica registrada automaticamente no mesmo cadastro do cliente: quem ligou, quando, quanto tempo durou, e um link para a gravação. Em vez de abrir o painel da TotalVoice para ver o que aconteceu numa ligação e depois cruzar com o CRM, os dois ficam juntos.
Por que o Mavibot adicionou a Zenvia Voice ao CRM
O CRM do Mavibot já unifica WhatsApp, Instagram, Telegram e chat do site num único cadastro de cliente. O telefone era o único canal que ainda ficava fora desse sistema, num painel separado da TotalVoice que ninguém abria com frequência.
Conectar a Zenvia Voice fecha essa lacuna sem trocar de central telefônica. A ligação continua saindo pela infraestrutura da TotalVoice, mas o gatilho, o registro e o histórico ficam dentro do Mavibot.
O que você ganha com a integração
Ligar direto do cartão do cliente
Abra o cadastro do cliente e ligue com um clique, sem abrir o painel da TotalVoice separadamente. A Zenvia Voice toca primeiro para o funcionário e só conecta ao cliente depois que ele atende.
Transferir a ligação para outro funcionário
Com a chamada em andamento, você pode transferir a conversa para o ramal ou celular de outro funcionário sem que o cliente precise repetir o motivo do contato.
Controle de gravação por chamada
A gravação vem habilitada por padrão, mas pode ser controlada chamada a chamada. Cada gravação fica com um link salvo no cadastro do cliente.
Status da chamada em tempo real
O Mavibot recebe notificações conforme a ligação avança pelos estágios: chamando, preparando, atendida, sem resposta, ou ocupado. Isso dá um registro real do que aconteceu, em vez de depender só da duração para adivinhar.
| Status da chamada | O que significa |
|---|---|
| Chamando | A ligação foi iniciada e está discando |
| Preparando | A linha está sendo preparada antes de tocar |
| Atendida | Alguém atendeu e a ligação está em andamento |
| Sem resposta | Ninguém atendeu dentro do tempo esperado |
| Ocupado | A linha do destinatário estava ocupada |
| Cancelada | A ligação foi cancelada |
| Congestionado | Problema nas linhas da operadora, não relacionado ao número do cliente |
| Falha | Não foi possível completar a ligação |
| Não existe | O número discado não existe |
Um aviso de status não chega com mais de uma frequência por 2 segundos por chamada, então em ligações muito curtas alguns status intermediários podem não chegar a tempo, mas o evento de finalização sempre chega. Os nomes dos status chegam em português, é assim que a própria TotalVoice os nomeia.

Relatório de custo da ligação
Cada chamada é reportada com seu custo em reais. O tempo tarifado é arredondado para cima até o minuto cheio, então uma ligação de 24 segundos é cobrada como um minuto inteiro; para conferir o valor cobrado de fato, use o relatório do painel da TotalVoice, não a variável de custo isoladamente.
Variáveis disponíveis no cadastro do cliente após a chamada
| Variável | O que contém |
|---|---|
| ID da chamada | Identificador da ligação |
| Status da chamada | O status final, com o nome que a TotalVoice usa |
| Atendida (sim/não) | Se a ligação foi atendida ou não |
| Duração | Tempo de conversa em segundos, sem contar a espera pela resposta |
| Custo | Valor cobrado em reais |
| Motivo do encerramento | Por que a ligação terminou |
| Link da gravação | Link direto para a gravação, quando disponível |
Funções por trás da integração
A integração da Zenvia Voice com o Mavibot é construída sobre quatro funções, e ajuda saber o que cada uma faz se você estiver montando fluxos de chamada no construtor de chatbot:
-
totalvoice_employee_call()liga primeiro para o funcionário e só depois disca para o cliente, quando o funcionário atende. Aceita o telefone do cliente, o número do funcionário, um número opcional para exibir ao cliente (se vazio, usa o número padrão da conta), e se a chamada deve ser gravada (gravação ligada por padrão). -
totalvoice_transfer_call()transfere a ligação em andamento para outro número. Por padrão transfere o lado do cliente; é possível transferir o lado do funcionário em vez disso. -
totalvoice_hangup_call()encerra a ligação. Se nenhum ID de chamada for informado, usa a última ligação daquele cliente. -
totalvoice_get_record_link()busca o link de uma gravação específica. Normalmente esse link já chega sozinho junto com o evento de fim de chamada, então essa função serve principalmente para quando a notificação não chegou ou a gravação é de uma chamada antiga.
Como configurar a integração com a Zenvia Voice no Mavibot
A configuração acontece em quatro etapas: sua conta Zenvia Voice, o token de acesso, a conexão com o Mavibot (incluindo os webhooks), e o cadastro de cada funcionário.
Etapa 1: Crie sua conta Zenvia Voice e adicione saldo
Crie uma conta na Zenvia Voice (TotalVoice) e adicione saldo pré-pago. Sem saldo, nenhuma ligação sai.
Etapa 2: Copie seu Access Token
No painel da Zenvia Voice, copie o Access Token. Ele é o que permite ao Mavibot autenticar com sua conta, então trate-o como uma senha.
Etapa 3: Conecte a Zenvia Voice ao Mavibot e configure os webhooks
Nas configurações de telefonia do Mavibot, insira seu Access Token e, opcionalmente, um número de telefone para exibição nas ligações (formato +551140028922); se deixar em branco, o Mavibot usa o número padrão da sua conta. Depois de salvar, o Mavibot mostra um endereço de notificação na própria tela. Copie esse endereço e, no painel da TotalVoice, abra Desenvolvedores → Configurações da API e cole o mesmo endereço nos três webhooks: Status Tempo Real (mudança de status durante a ligação), Chamada - Fim (fim da chamada) e DID - Fim de Chamada (fim de uma chamada recebida no seu número). As notificações podem levar até 20 minutos para começar a funcionar depois de configuradas; se o diálogo aparecer vazio logo após configurar, é só aguardar.

Etapa 4: Cadastre o ramal ou celular de cada funcionário
No perfil de cada funcionário no Mavibot, adicione o ramal interno ou o número de celular que a Zenvia Voice deve chamar primeiro. Sem esse número, o botão de ligar não funciona para aquele funcionário.
Depois dessas quatro etapas, o botão de ligar aparece nos cartões de contato para todo funcionário com número cadastrado.
O que essa integração não faz (vale saber antes)
A gravação vem habilitada por padrão. Se sua operação não quer gravar todas as chamadas, é preciso desativar chamada a chamada pelo parâmetro de gravação da função de ligar, não existe um interruptor único para desligar tudo de uma vez.
A LGPD exige que o cliente seja avisado de que a ligação está sendo gravada e que o armazenamento dos dados seja justificado. O Mavibot e a Zenvia Voice fornecem a capacidade de gravar, mas garantir que o aviso aconteça é responsabilidade de quem opera a conta TotalVoice.
O número de telefone precisa seguir um formato específico: +55, seguido do DDD e depois 9 dígitos para celular. Um número fora desse formato aciona o status "não existe" em vez de completar a ligação.
Se você reemitir o Access Token, o endereço de notificação muda junto. É preciso salvar o novo token no Mavibot e colar o novo endereço nos três webhooks da TotalVoice de novo, senão os eventos de chamada param de chegar silenciosamente, mesmo que as ligações continuem funcionando.
Sem saldo suficiente na conta TotalVoice, a ligação simplesmente não é criada. Se o campo com o número do funcionário estiver vazio no perfil dele, o botão de ligar não funciona para essa pessoa.
Perguntas frequentes
Preciso trocar de central telefônica para usar essa integração?
Não. A integração conecta sua conta Zenvia Voice (TotalVoice) já existente ao Mavibot. As ligações continuam saindo pela infraestrutura da TotalVoice, o Mavibot só adiciona a chamada pelo cartão do cliente, o registro automático e o acompanhamento de status.
A gravação das chamadas é automática?
Sim, vem habilitada por padrão, mas pode ser desativada chamada a chamada. Pela LGPD, o cliente precisa ser informado de que a ligação está sendo gravada.
Quanto tempo leva para os webhooks começarem a funcionar?
As notificações configuradas nos três endpoints da API podem levar até 20 minutos para começar a chegar depois de configuradas.
Posso ver quanto cada ligação custou?
Sim. O custo de cada chamada é reportado em reais e fica disponível como variável no cadastro do cliente.
E se a Zenvia Voice não for a central certa para minha equipe?
Se você ainda está comparando opções de PABX virtual, veja nossa comparação das melhores opções de PABX virtual.
Coloque as ligações no mesmo lugar que tudo o resto
Todo canal que você já roda pelo Mavibot, WhatsApp, Instagram, Telegram, chat do site, cai no mesmo cadastro de cliente. As ligações pela Zenvia Voice agora fazem o mesmo. Conecte sua conta uma vez, cadastre o número de cada funcionário, e sua equipe liga direto do CRM com cada chamada registrada e acompanhada automaticamente.
Pronto para conectar a Zenvia Voice ao seu CRM? Comece com o Mavibot gratuitamente e configure a integração hoje.
