Saltar para o conteúdo
megapromotingVamos falar

Experiência · Agentes de voz

Um agente que fala — na sua página e por telefone — e que pode ser interrompido.

Construímos agentes de voz em Kallina: papel escrito, base de conhecimentos aprovada, ferramentas que chamam durante a conversa e um limite para além do qual passam a conversa para um humano. O romeno é a língua predefinida dos novos agentes.

Já construídoTrês implementações próprias, citadas abaixo. (1) A plataforma Kallina — 472 funções edge Deno e 559 migrações de base de dados, contadas hoje no repositório; `https://app.kallina.info` responde 200. (2) O componente neste site, `src/components/agents/KallinaVoiceAgent.tsx`, que implementa o percurso correto de sessão e documenta as duas formas como um voice agent falha em silêncio. (3) A ponte `elevenlabs-bridge` e a sessão `openai-realtime-session`, onde estão os parâmetros reais de interrupção e de deteção de fala. A reserva que dizemos: a parte telefónica depende de um anfitrião SIP, e o anfitrião pelo qual passam as nossas linhas de teste não responde à data da escrita — veja a página de telefonia. Na web, o percurso é verificável hoje.

Para nós, um agente de voz não é «um bot que lê um guião». Tem quatro coisas escritas antes da primeira chamada: um papel, uma base de conhecimento aprovada por si, um conjunto de ferramentas que lhe é permitido chamar, e um limite para além do qual passa a conversa a um humano. O que sai da conversa não é apenas uma transcrição: a chamada tem duração, custo discriminado por fornecedor, gravação e análise, tudo ligado à conta da empresa.

O motor não é um só, e isso é uma decisão, não um acidente. Na configuração do agente, você escolhe entre ElevenLabs Conversational AI, OpenAI Realtime e Gemini Live, ou deixa em «auto» e a plataforma escolhe por língua, carga e disponibilidade. Por cima disso, você escolhe separadamente o cérebro textual, de um catálogo em que cada modelo tem a latência e o custo por minuto mostrados na interface. Quando alguém pergunta «porque responde devagar», a resposta tem números, não opiniões.

A parte que as pessoas sentem mais é a interrupção. No OpenAI Realtime, a deteção da fala é semântica, com limiar 0,5, uma margem de 300 ms antes e 500 ms de silêncio para considerar que você terminou de falar; o interruptor «permitir interrupções» está ligado por defeito. Na ElevenLabs, o evento de interrupção é passado para a central telefónica, para parar a reprodução de imediato. E o tempo depois do qual o agente considera que o seu silêncio é uma resposta é configurável por agente — num agente de vendas escrito por nós está fixado em 12 segundos, face aos 15 por defeito.

O agente vive em dois lugares diferentes, com constrangimentos diferentes. Na página web entra com uma única linha de script ou com um componente próprio, e a regra de ouro é que a página nunca guarda o identificador do agente nem qualquer chave de fornecedor — pede à plataforma uma sessão e recebe um URL assinado, de curta duração. Por telefone entra por um trunk SIP, e aí os constrangimentos são do operador e da central, não do agente; sobre isso escrevemos separadamente, na página de telefonia.

Agentes vocais AI na República da Moldávia — como funcionam, concretamente · vídeo em romeno, com legendas e transcrição em português

A transcrição completa

Bom, vamos passar diretamente ao assunto. Hoje fazemos uma análise técnica extremamente precisa de como os agentes vocais funcionam de facto no ambiente de negócios. Vamos basear-nos exclusivamente na arquitetura da plataforma Kallina, desenvolvida aqui mesmo na República da Moldávia, pela MEGA PROMOTING S.R.L.. Sem linguagem de marketing, sem promessas inflacionadas, só factos, infraestrutura pura e, evidentemente, a realidade operacional. Para qualquer equipa que gere um negócio e se baseia em processos claros, compreender a tecnologia por baixo do capô é, sinceramente, absolutamente essencial. Temos hoje um percurso muito metódico. Passamos por seis pontos. Primeiro abordamos o problema, depois o mecanismo de funcionamento, a seguir vem a anatomia de uma falha, a secção de motores e interrupções, os limites técnicos e, no final, o passo seguinte.

É uma visão totalmente transparente sobre o sistema. Portanto, a primeira secção, o problema, o tempo e os pedidos. Vamos ver exatamente de onde partimos. Esta é mesmo a pergunta que não deixa os gestores de operações dormir à noite. Onde se perde exatamente o tempo operacional e, muito importante, quantos pedidos não verificados desaparecem diariamente. Numa empresa comum, o tempo simplesmente evapora entre chamadas perdidas, pedidos que não são atendidos a tempo e todo o tipo de interações que, bem, simplesmente não podem ser verificadas depois. E não é apenas um pequeno problema de desconforto. Falamos de um enorme recurso operacional que se perde dia após dia num fluxo de trabalho não otimizado. Passamos à segunda parte, o mecanismo, como funciona.

Vamos entrar na engenharia propriamente dita da plataforma. Olhem para este número, 472. Este é o número exato de novas funções Edge que mantêm a plataforma de pé neste momento. Portanto, claramente, não estamos a falar de um protótipo de fim de semana ou de uma interface bonita de fachada. É uma infraestrutura massiva num servidor real, pensada para gerir rotas e lógicas de negócio extremamente complexas. E, para sublinhar o nível de maturidade, existem exatamente 559 migrações de base de dados na infraestrutura PostgreSQL, alojada via Supabase. Estes números mostram-nos uma base super sólida com políticas de segurança implementadas ao nível da linha. Na prática, é um sistema construído para escalar e para manter os dados numa ordem impecável.

Agora, vejam como é a ordem das operações num agente web, porque este detalhe é absolutamente genial. No passo 1, a página pede acesso ao microfone. No passo 2, o visitante tem de aceitar. E só no passo 3 é que se envia um pedido ao servidor para abrir uma sessão, recebendo de volta um URL assinado válido apenas por um curto período. Porque é que isto é um movimento estratégico tão importante? Simples: se no passo 2 o microfone for recusado, o sistema não avança. Matematicamente, isso significa 0 minutos consumidos e 0 euros deitados fora em sessões fantasma. A secção 3 é, provavelmente, a minha preferida. A anatomia de uma falha. Porque nada constrói mais confiança do que uma transparência total, não é?

Imaginem esta situação de pesadelo. Foi implementado um agente vocal numa página web, mas quando carregavam no botão não acontecia absolutamente nada. Sem som, sem qualquer mensagem de aviso, sem erro na consola do programador. Silêncio total. Para qualquer pessoa, até para um técnico com experiência, uma falha destas parecia impossível de localizar à primeira vista. Porquê? Porque não existia qualquer registo de erro. Uma falha completamente silenciosa. Quando se foi mais a fundo, a análise técnica revelou dois inimigos completamente invisíveis. Em primeiro lugar, o servidor enviava um cabeçalho que proibia totalmente a utilização do microfone. O browser, sendo obediente, seguia a regra e recusava o pedido, mas fazia-o sem avisar a interface visual. Em segundo lugar, um componente de voz era importado estaticamente na página.

O ficheiro simplesmente não era encontrado, devolvendo um erro 404. Por causa disso, todo o script caía em segundo plano, em silêncio, bloqueando qualquer configuração posterior. Mas vejam quão elegante foi a solução. O problema, obviamente, não estava na IA, mas diretamente na rede. O cabeçalho do servidor foi alterado para permitir o microfone a partir da própria origem, vejam ali, no estado corrigido, e a importação do código foi movida exatamente para dentro da ação de carregar no botão. A falha desapareceu completamente. Agora, se alguém carregar no botão e o microfone estiver bloqueado pelo browser, a falha já não é silenciosa. Aparece instantaneamente uma mensagem clara em romeno que explica exatamente o que têm de mudar. Isto é engenharia feita com cabeça, eliminando por completo as surpresas desagradáveis.

Vamos mais longe para a secção 4, motores, línguas e interrupções. É o momento de examinar exatamente do que é capaz este sistema. Aqui deixamos de lado as opiniões subjetivas e falamos apenas em milissegundos. Quando usam o modelo Flash, da ElevenLabs, a latência é de apenas 75 milissegundos. Para terem uma ideia, para o ouvido humano isto é praticamente instantâneo. Por outro lado, se preferirem uma qualidade vocal absolutamente premium, como a que o modelo Turbo oferece, a latência sobe para cerca de 250 milissegundos. Numa chamada telefónica, cada milissegundo é crítico, e a plataforma permite-vos escolher exatamente qual o motor querem, estritamente em função das necessidades operacionais da empresa. Uma pergunta muito frequente que ouvimos é: bem, mas posso interromper o agente enquanto ele fala?

A resposta é um sim firme, só que o mecanismo é diferente. Por exemplo, no OpenAI Realtime, a deteção é semântica. Tem um limiar fixado em 0.5 e uma margem técnica de segurança de 300 milissegundos. Já para a ElevenLabs, no segundo em que ocorre uma interrupção, um evento vai diretamente para a central telefónica, o sistema PBX, para cortar o som instantaneamente. Além disso, o período de silêncio que o agente espera antes de responder por sua vez pode ser ajustado com muita precisão. Pode ser, por exemplo, reduzido para 12 segundos em vez do valor predefinido de 15, o que torna a conversa muito mais natural e rápida. Do ponto de vista das línguas suportadas, a configuração oficial do agente cobre com sucesso 32 línguas diferentes.

Mas, um aspeto operacional de máxima importância para nós aqui? A língua romena está definida por defeito para absolutamente todos os novos agentes criados nesta plataforma. Chegámos à quinta secção, limites técnicos e responsabilidades, porque, por vezes, é tão importante saber o que um sistema não pode fazer, para ter as expetativas corretas. Vamos traçar uma linha muito clara. O agente pode executar funções externas, pode acionar ferramentas internas diretamente no servidor e pode transferir a chamada para um colega humano sem qualquer problema. Mas o sistema proíbe os agentes de improvisar em áreas estritamente reguladas. Pensem um pouco. Um agente que começa a improvisar onde a legislação é extremamente rigorosa torna-se um risco enorme para a empresa, em caso algum uma vantagem.

Além disso, coisas como a execução automática de eliminações de dados após um certo prazo não são simplesmente umas caixas de seleção num menu. Elas representam projetos procedimentais separados que têm de ser implementados de forma dedicada pela organização. A segurança, por outro lado, é tratada com um rigor absoluto. As páginas web que alojam os agentes recebem exclusivamente esse URL assinado de que falávamos. Nunca, mas absolutamente nunca, recebem um ID de agente ou uma chave API que pudesse ser roubada e usada à custa da empresa. Na parte da voz, a telefonia depende 100% de um trunk SIP externo funcional e, para sermos o mais transparentes possível quanto às limitações atuais, as linhas externas SIP de teste não respondem neste momento.

É uma abordagem extremamente sincera da parte dos engenheiros, que demonstra que a realidade técnica está sempre em primeiro lugar, para lá de qualquer conversa comercial. E aqui estamos na sexta secção, a última, aliás, o passo seguinte no processo. O que fazemos a seguir com toda esta informação? Toda esta dissecação técnica deveria conduzir-nos a uma avaliação super objetiva dos vossos fluxos de trabalho. Essa é a verdadeira questão. Que processo operacional dentro da organização precisa mesmo de funcionar de forma mais eficiente? Não implementamos inteligência artificial só por estar na moda, certo? O objetivo é identificar aquele lugar exato, lógico, onde um agente vocal se pode integrar de forma racional, pode escalar e pode funcionar em condições de máxima segurança.

Como ponto final, aqui estão as coordenadas operacionais da empresa MEGA PROMOTING S.R.L. de Chisinau, incluindo IDNO e o endereço web? Isto para uma eventual discussão estritamente técnica, destinada a esclarecer como estas estruturas complexas se podem integrar nos sistemas que já usam no vosso negócio. Antes de qualquer decisão, deixaria uma pergunta provocadora para refletirmos todos. Será que os processos atuais de gestão de clientes nas nossas empresas resistiriam mesmo a uma análise técnica tão dura e transparente como aquela por que passou este sistema? Num mercado definido pela inovação constante, um olhar baseado estritamente em factos e números continua, de longe, a ferramenta mais poderosa que temos à disposição. Até à próxima!

Qué incluye

El trabajo, por componentes

A sessão é pedida à plataforma, não ao fornecedor de voz

A página envia `POST /functions/v1/widget-voice-session` com o identificador público do widget e recebe em troca um URL assinado. Nunca tem o identificador do agente nem qualquer chave. A variante errada — `startSession({ agentId })` diretamente em HTML — contorna completamente a camada de sessão, de crédito e de registo da plataforma, e expõe o agente a qualquer pessoa que abra a origem da página. É a primeira verificação que fazemos em qualquer implementação que assumimos.

O microfone é pedido antes da sessão, por isso uma recusa não custa nada

A ordem é fixa e importa: peça o microfone com `getUserMedia({audio:true})` e só depois, se a pessoa aceitar, peça a sessão. Se o visitante recusar, não é emitido qualquer URL assinado e não é consumido nenhum minuto. O pedido de microfone é feito dentro do clique no botão, antes de qualquer espera que possa ultrapassar o gesto — caso contrário o navegador ignora o pedido.

O agente pode ser interrompido, e isso regula-se com números

No OpenAI Realtime: deteção semântica da fala, limiar 0,5, margem de 300 ms, 500 ms de silêncio, interrupção permitida por defeito. Na ElevenLabs: o evento `interruption` é enviado para a central para cortar a reprodução. Além disso, `turn_timeout` por agente decide após quanto tempo de silêncio o agente considera que é a sua vez — por defeito 15 segundos, fixado em 12 num agente de vendas. E um «não o consigo interromper» relatado por um cliente tem, muitas vezes, outra causa que não os limiares: respostas demasiado longas. Essa resolvemos no prompt e no limite de tokens, não na deteção da fala.

Chama ferramentas durante a conversa

O agente não fica preso ao que sabe. Pode chamar funções no servidor enquanto fala — para ler uma disponibilidade, marcar uma programação, enviar um SMS ou consultar um catálogo. As ferramentas são declaradas por agente, com parâmetros tipados e com um prazo de execução próprio, para que uma ferramenta lenta não bloqueie a conversa.

A passagem para um humano faz parte do cenário, não é uma exceção

Na mensageria, a passagem para um colega tem estado próprio no fio — `handoff_status`, o momento da passagem, o motivo, quem está atribuído, as notas de resolução — implementada num módulo dedicado de 619 linhas. No telefone, a transferência é feita pela central: transferência cega por `##` e transferência assistida por `*2`, com a chamada a aterrar num contexto de dialplan escrito para isso. São dois mecanismos diferentes porque são dois canais diferentes; escrevemos ambos no cenário.

O motor e a voz escolhem-se explicitamente, não implicitamente

Quatro posições de fornecedor: `elevenlabs`, `openai-realtime`, `gemini-live` e `auto`. Para a síntese de voz noutras línguas além do inglês, o padrão é `eleven_flash_v2_5` — 32 línguas, cerca de 75 ms; a variante de melhor qualidade, `eleven_turbo_v2_5`, fica em cerca de 250 ms. No OpenAI Realtime há dez vozes e motores até `gpt-realtime-2.1`. A escolha é um campo na configuração do agente, não uma suposição da nossa parte.

Idiomas

A configuração do agente aceita 32 línguas, o mapa interno de línguas da plataforma tem 41 entradas, e o painel de administração está traduzido em 20. São três números para três coisas diferentes e não se podem misturar. O romeno é a língua padrão de um novo agente.

O que fica depois da chamada

Transcrição, gravação áudio, duração, custo discriminado por fornecedor, mais uma análise pós-chamada e um breve resumo da conversa, gerado para a memória do cliente. A análise não é um fim em si: nela assenta a decisão se o agente fez o que devia ou se o cenário tem uma falha.

O consumo é verificado antes da ação, não na fatura

Antes de qualquer operação que tenha custo, a plataforma verifica o crédito disponível, e o consumo é registado discriminado por fornecedor e por agente. A gate fica antes da chamada. Na prática: um agente perdido num loop não pode consumir sem fim sem bater numa limitação.

Qué aspecto tiene

El recorrido, paso a paso.

01

Escolhemos um único percurso e escrevemos os seus limites

Um cenário com entrada clara e saída clara: chamada recebida na receção, confirmação de encomenda, verificação de disponibilidade. Escrevemos explicitamente o que o agente não tem permissão para fazer, o que não tem permissão para dizer e por que via passa a conversa a um humano. Um agente sem margens escritas não é mais capaz, é apenas mais imprevisível.

02

Construímos o agente: função, conhecimentos, ferramentas, limites

O prompt, a base de conhecimentos aprovada por si, as ferramentas que pode chamar e os limiares de conversa — fornecedor, voz, modelo textual, tempo de silêncio, comportamento em interrupção. No fim, temos um agente configurado, não uma demo.

03

Colocamo-lo no canal e verificamos o percurso sem consumir minutos

Na web: uma linha de script ou um componente próprio sobre a API de início e paragem. Existe um script que percorre exatamente o caminho de um browser — a linha na configuração, a configuração do widget, o pedido de sessão — e pára no URL assinado, sem abrir a conexão áudio. Corre num widget ou em todos, devolve código de saída, logo pode entrar numa verificação agendada. No telefone: o número entra no trunk, e as chamadas recebidas e as efetuadas são testadas separadamente, porque falham separadamente.

04

Medimos o que saiu e corrigimos o cenário

Depois das primeiras conversas reais lemos as transcrições e a análise pós-chamada, não as impressões. O que mais corrigimos não é o modelo, mas o comprimento das respostas e as margens do cenário — duas coisas que se mudam no prompt, no mesmo dia.

IntrareVerificareDeciziePublicareNada passa adiante sem ser verificado.A ORDEM É O ARGUMENTO
O percurso de uma conversa: a página pede o microfone, a plataforma emite uma sessão assinada, o agente fala e pode ser interrompido, chama uma ferramenta, e o que excede o seu papel é passado a um humano.

Os dados

Qué tocamos, dónde están y cuánto se quedan

Las preguntas que hace cualquiera que tenga un delegado de protección de datos — hechas aquí antes de que las haga él.

Onde os dados ficam
PostgreSQL através do Supabase alojado em infraestrutura própria, com 559 migrações versionadas, das quais 195 abrangem políticas de Row Level Security. Os ficheiros — registos, documentos de conhecimento, amostras de voz — ficam em repositórios separados, com o caminho a começar pelo identificador do espaço de trabalho, para que o isolamento esteja na estrutura e não apenas na consulta.
O que nunca entra na tua página
A chave do fornecedor de voz e o identificador do agente. A página recebe apenas um URL assinado, de curta duração, emitido pela plataforma. A consequência prática: quem lê a origem da tua página não pode usar o teu agente às tuas custas.
O que é registado numa chamada
Áudio, transcrição, duração, número do chamador, resultado da chamada e análise posterior. Para os casos em que o agente se lembra do cliente entre chamadas, é guardado também um breve resumo da conversa anterior. Tudo fica ligado a um espaço de trabalho; não existe um repositório comum entre clientes.
A eliminação a pedido existe; a eliminação automática por prazo ainda não
Dizemo-lo como é, porque é a diferença entre uma promessa e uma funcionalidade. A eliminação a pedido está implementada: uma função dedicada elimina os objetos do repositório de ficheiros, chama o procedimento de eliminação na base de dados e invalida as sessões; existe em separado exportação de dados e uma função para os dados da chamada. O que não está implementado: prazos de retenção configuráveis por espaço de trabalho. Estão projetados num documento interno de abril, mas a coluna de configuração não aparece em nenhuma migração — por isso, hoje a eliminação por prazo é feita por procedimento, não por relógio. Se o teu projeto precisa de eliminação automática, isso entra como trabalho, não como definição.
Quem é informado de que fala com um agente
O aviso de que o interlocutor está a falar com um sistema automático, o fundamento da gravação da conversa e o texto lido no início da chamada são definidos em conjunto consigo e entram no guião. Não são uma definição técnica: são uma decisão do responsável pelo tratamento dos dados, ou seja, sua.

Un caso

O botão que não fazia nada — e nem sequer dava erro

A situação

Um agente de voz colocado numa página web. Ao carregar, não acontecia absolutamente nada: sem som, sem mensagem, sem erro na consola que um não iniciado pudesse ver. O tipo de defeito que é reportado como «não funciona» e é procurado durante um dia no sítio errado.

Qué construimos

As causas eram duas, ambas silenciosas pela sua natureza. A primeira: o cabeçalho `Permissions-Policy` do servidor continha `microphone=()`, e o navegador recusa o pedido de microfone sem mostrar nada de visível ao utilizador. A segunda: o SDK de voz era importado estaticamente, e um módulo que devolve 404 na importação estática derruba todo o script — portanto, também o pedido de configuração morria com ele, o que faz o defeito parecer exatamente como «nada aconteceu». Mudei a importação do SDK para o interior do carregamento do botão, coloquei o pedido de microfone antes do pedido de sessão e escrevi o cabeçalho do servidor como `microphone=(self)`, com a política de conteúdo que permite explicitamente a rede de distribuição do SDK.

Qué salió

Hoje, neste site, o cabeçalho servido em produção é `camera=(), microphone=(self), geolocation=(self)`, e a política de segurança de conteúdo enumera explicitamente a origem do SDK. Uma falha já não é silenciosa: a recusa do microfone produz uma mensagem em língua romena que diz o que exatamente deve ser alterado, e a recusa não custa nada, porque a sessão nem sequer é pedida.

Qué no dice el caso

As duas causas são de infraestrutura, não do agente. Se o teu site é servido por outra entidade e os cabeçalhos não estão sob o nosso controlo, a sua verificação torna-se uma condição inicial do trabalho, não uma surpresa no fim.

Perguntas

Lo que nos pregunta la gente antes de llamar

Com o que fala, concretamente? Que motor está por trás?

Escolhes entre ElevenLabs Conversational AI, OpenAI Realtime e Gemini Live, ou deixas «auto» e a plataforma escolhe com base no idioma e na disponibilidade. Para síntese de voz noutras línguas além do inglês, o padrão é `eleven_flash_v2_5` — 32 línguas, cerca de 75 ms; se quiseres maior qualidade e aceitares maior latência, `eleven_turbo_v2_5` fica em cerca de 250 ms. No OpenAI Realtime há dez vozes, e o motor vai até `gpt-realtime-2.1`. O cérebro textual é escolhido separadamente, num catálogo em que cada modelo tem a latência e o custo por minuto escritos ao lado.

Posso interrompê-lo quando fala, ou tenho de esperar que termine?

Podes. No OpenAI Realtime, a deteção de fala é semântica, com limiar 0,5, amortecimento de 300 ms e 500 ms de silêncio, e o comutador de interrupção vem ligado por defeito. No ElevenLabs, o evento de interrupção é enviado para a central telefónica para parar a reprodução. Se, ainda assim, tens a sensação de que «não o podes interromper», a causa costuma ser outra: o agente responde em parágrafos, não em frases. Isso corrige-se no prompt e no limite de tokens, não nos limiares.

Em quantas línguas fala?

A configuração do agente suporta 32 línguas. O mapa interno de línguas da plataforma tem 41 entradas, e o painel de administração está traduzido em 20 — três números para três coisas diferentes. O romeno é a língua predefinida de um agente novo. Para uma língua específica, verificamos primeiro que combinação de modelo de voz e fornecedor a cobre efetivamente, porque nem todos os modelos cobrem as mesmas línguas.

Como chega ao meu site e o que tenho de mudar no meu lado?

Uma linha de script com o identificador público do widget, ou a sua própria componente por cima de `start()` / `stop()` / `toggle()`. Duas coisas têm de ser verdadeiras no seu servidor, caso contrário o botão não faz nada e não aparece nenhum erro: o cabeçalho `Permissions-Policy` tem de permitir `microphone=(self)` — com `microphone=()` o browser recusa o microfone em silêncio — e a política de segurança do conteúdo tem de permitir o carregamento do SDK a partir da rede de distribuição usada. Nós verificamos isso antes da publicação.

Pode ligar ele primeiro, e não apenas responder?

Sim, a plataforma tem chamadas em lote, com importação de contactos, novas tentativas e acompanhamento em tempo real. Mas as chamadas efetuadas não dependem só de nós: no nosso registo de problemas está documentado um caso em que a central do operador começou a devolver `403 Forbidden` em todas as chamadas efetuadas, com a nossa configuração inalterada e com as chamadas recebidas a funcionar normalmente. Por isso testamos as chamadas efetuadas separadamente antes de prometer uma campanha de chamadas, e por isso não vendemos um volume de chamadas efetuadas antes desse teste.

O que acontece quando o agente não sabe a resposta?

Passa. Cada agente tem limites escritos e um caminho de transferência configurado. Em mensagens, o fio passa para estado de atendimento humano, com motivo e atribuição a um colega. Por telefone, a central faz a transferência — cega ou assistida — para uma extensão ou um número externo. O que excede o papel do agente pára, não se improvisa; essa é uma escolha de projeto, porque um agente que improvisa num domínio regulamentado é um risco, não uma economia.

As conversas são gravadas? Quanto tempo são guardadas?

Sim, são gravadas, transcritas e analisadas, e tudo está ligado ao seu espaço de trabalho. Quanto tempo são guardadas é uma decisão sua como operador de dados, não um valor predefinido que lhe impomos — e é preciso dizer claramente que a eliminação automática no prazo não é hoje uma simples definição na plataforma: a eliminação a pedido está implementada, a eliminação no prazo é feita por procedimento. Se precisar de um relógio automático, ele é construído no projeto.

Gasta dinheiro se o visitante carregar no botão e depois recusar o microfone?

Não. O microfone é pedido antes da sessão. Se a pessoa recusar, o pedido de sessão deixa de ser feito, logo não é emitido nenhum URL assinado e não se consome nada. Em separado, antes de qualquer operação que custe, a plataforma verifica o crédito disponível — a porta está antes da chamada, não na fatura no fim do mês.

Posso ter hoje um agente que responde a um número de telefone fixo?

Depende de uma peça que não é o agente: a gateway SIP por onde entra a chamada. A parte do agente está pronta e pode ser mostrada na página de imediato. A parte telefónica exige um trunk funcional do operador e uma central que responda; na data da redação, a gateway por onde passam as nossas linhas de teste não responde, e nós não apresentamos como disponível algo que não podemos pôr a funcionar em frente a você. Para um projeto real, a telefonia é dimensionada separadamente — veja a página de telefonia e contact center.

Em que se baseiam as afirmações acima (21 fontes)
  1. app.kallina.info responde 200 hoje; supabase.kallina.info responde às funções edgehttps://app.kallina.info/ · 2026-09-06
  2. Os cabeçalhos servidos hoje em produção em megapromoting.com permitem o microfone e a origem do SDKhttps://www.megapromoting.com/ · 2026-09-06

19 delas são código e ficheiros dos nossos repositórios. Não publicamos o nome nem a linha: juntos, numa única página, descreveriam com demasiada precisão como estão construídos sistemas que não são só nossos. Percorremo-los consigo, no repositório, a pedido — a verificação continua possível, só que se faz numa conversa.

O que gostaria que funcionasse melhor?

Conte-nos o seu processo. Em conjunto decidimos o que vale a pena construir, o que podemos ligar e como verificamos o resultado.

Vamos falar