Pular para o conteúdo principal
Atualizado em Nov 9, 2026

Versões e testes de agentes

Publicar dá ao agente versões numeradas. Assim você pode alterá-lo sem mexer no que seus contatos usam, testar a alteração, ativá-la e voltar atrás se precisar.

Como a publicação funciona​

Até a primeira publicação, salvar um agente muda o que ele faz na mesma hora. Depois de publicar, salvar só altera o rascunho, e seus contatos continuam falando com a versão ativa até você publicar de novo. Só o nome do agente e o Nível do Log mudam assim que você salva.

Para publicar, salve suas alterações, abra a aba Versões do agente e clique em Publicar. A nova versão entra em ação na próxima mensagem. Publicar sem ativar cria a versão e mantém a atual em execução.

A aba Versões avisa quando o rascunho salvo tem alterações que não estão ativas e quando o valor de um cabeçalho mudou. Novos valores de cabeçalho só são usados depois que você publica.

Publicar sempre publica o rascunho salvo que está na sua tela. Se alguém salvou o agente depois que você o abriu, por exemplo em outra aba do navegador ou pela API, a publicação para e carrega o novo rascunho, para você revisar e publicar de novo.

No app, só os proprietários da empresa podem ver as versões e as execuções de teste, publicar, voltar atrás ou executar testes. Pelo Assistente IA, só os proprietários podem publicar, voltar atrás ou executar testes.

Voltar atrás​

Toda versão publicada fica na aba Versões. As mais antigas ficam em Mostrar versões anteriores. Clique em Ativar em qualquer uma delas, e as novas mensagens passam a usá-la imediatamente.

Isso restaura o agente e nada mais. Workflows, modelos e variáveis ficam como estão agora, e os valores de cabeçalho daquela versão voltam com ela, então um token que você revogou depois vai parar de funcionar. Antes, o AutoTalk verifica as credenciais que essa versão usaria, como a chave do modelo ou uma chave em um dos seus passos. Se uma foi revogada, ele recusa e pede que você a informe de novo.

observação

As versões guardam os valores de cabeçalho para que voltar atrás funcione. Eles ficam ocultos quando você vê ou compara versões. Se um segredo acabar em uma versão, revogue-o no provedor.

Testes​

A aba Testes guarda conversas roteirizadas que rodam no agente real. Os testes fazem parte do rascunho, então salve-os como qualquer outra alteração e clique em Executar todos os testes. Os testes precisam ser um JSON válido para você conseguir salvar.

Só pessoas podem alterar os testes, no app, pelo MCP ou pela API. Passos de workflow e ferramentas de agente não podem, nem com um token que criem com Gerar Token JWT, então um agente não consegue reescrever os testes pelos quais é avaliado. Uma chave de API que você mesmo coloca em um passo ainda pode alterá-los, então não coloque essas chaves em passos.

[
{
"name": "cancels after hours",
"repeat": 2,
"clock": "2026-10-02T17:00:00-03:00",
"contact": {"name": "Test", "attributes": {"plan": "new"}},
"mocks": [
{"action": "actions/network/http/request/send", "tool": "register", "output": {"status": 202, "data": {"ok": true}}}
],
"turns": [
{
"user": "I need to cancel",
"expect": {
"replies": {"min": 1, "max": 1},
"reply_match": ["(?i)monday"],
"tools_required": [{"name": "register", "args": {"reason": "^cancel$"}}],
"effects": [{"action": "actions/messaging/contact/send", "min": 1, "match": ["(?i)cancellation"]}]
},
"expect_soft": {"reply_not_match": ["(?i)tomorrow"]}
}
]
}
]
CampoO que faz
nameNome único do teste
repeatQuantas vezes executar, até 5. Todas as execuções precisam passar, porque as respostas do modelo variam
clockA data e a hora que o agente vê durante este teste
contactO nome e os atributos personalizados do contato de teste
mocksRespostas para passos que não podem rodar de verdade em um teste
turnsA conversa: cada turno tem user, ou tap para tocar em uma opção do último menu
expectO que precisa ser verdade depois desse turno
expect_softO que deveria ser verdade. É relatado e nunca reprova o teste

O que você pode verificar​

VerificaçãoPassa quando
repliesO número de mensagens enviadas ao contato está entre min e max
reply_match, reply_not_matchAs respostas correspondem, ou não, a estas expressões regulares
tools_requiredEstas ferramentas foram chamadas, opcionalmente com argumentos que correspondem a uma expressão regular
tools_forbiddenEstas ferramentas não foram chamadas
menuUm menu foi ou não enviado
pausedA conversa foi ou não pausada
lostA mensagem foi ou não ignorada
effectsUm passo com efeito externo aconteceu entre min e max vezes. match, each_match e not_match verificam o que ele teria enviado

Todo turno também precisa chegar ao contato, terminar sem erro, não enviar nada depois de um menu e não mostrar texto interno de planejamento. Se o silêncio for o correto, use "replies": {"max": 0} ou "lost": true.

Uma execução recusa um teste com uma verificação desconhecida ou um campo do tipo errado, então um erro de digitação não consegue deixar de verificar algo sem avisar.

O que um teste pode fazer​

Nada chega a uma pessoa real ou a um sistema externo:

  • Mensagens para qualquer outra pessoa são capturadas, não entregues.
  • Requisições HTTP nunca são enviadas. Forneça um mock para elas. Os resultados guardam só uma parte da requisição: o esquema e o host do endereço, uma primeira parte curta do caminho como api ou v1, e os nomes dos valores da query. O resto do caminho, os valores da query e qualquer senha no endereço ficam ocultos, assim como os valores do corpo com nomes como token, password ou apiKey. Isso vale só para os resultados guardados: o when do mock e effects verificam a requisição como o agente a enviou.
  • Variáveis nunca são descriptografadas: o teste vê um valor substituto.
  • Um teste só vê os próprios contatos, conversas e mensagens: as buscas só encontram esses, e buscar os de outra pessoa reprova o teste. Um teste pode atualizar o próprio contato e a própria conversa, mas uma alteração que os levaria para outro canal ou outra pessoa precisa de um mock e nunca é salva.
  • Qualquer outra coisa com efeito externo precisa de um mock: criar ou excluir registros, executar workflows, passos de código, mídia e monitores. Um teste sem o mock necessário é reprovado e informa o passo.

Executar e ler resultados​

Um agente executa um conjunto de testes por vez. As execuções de todas as empresas compartilham os mesmos workers e se revezam, então uma execução longa pode pausar entre testes e continuar depois. Cancelar interrompe uma execução em poucos segundos, mesmo no meio de um turno. Uma execução que não começou, ou que espera entre testes, para na hora, e você pode iniciar outra logo em seguida.

Cada teste mostra Aprovado, Reprovado ou Não foi possível executar. Não foi possível executar significa que o AutoTalk nunca deixou o agente responder, por exemplo por um limite, manutenção, uma falha do provedor do modelo, um turno que demorou demais ou uma configuração da empresa ou do canal que fez o AutoTalk ignorar a mensagem. Isso não diz nada sobre o agente, então execute o teste de novo em vez de alterar o agente. Cada turno tem um limite de tempo (para um agente LLM, o próprio limite de execução mais uns dois minutos e meio), e cada execução de um teste tem no máximo 30 minutos.

Os resultados ficam guardados por 90 dias. Respostas e valores muito longos são encurtados nos resultados guardados, e uma execução muito grande guarda só o veredito dos últimos testes. As verificações sempre veem tudo.

Custo​

Os testes usam tokens reais, cobrados normalmente. Uma execução para se atingir o limite de tokens ou o orçamento da sua empresa, e o teste em que ela parou mostra Sem orçamento com o motivo. Uma execução não começa se sua empresa estiver sem orçamento ou crédito. Os tokens das suas próprias chaves de provedor também contam para o limite, assim como os tokens que um teste gastou antes de ser interrompido e executado de novo.

O que ainda não pode ser testado​

Agentes Typebot, agentes com servidores MCP e agentes com um passo Conectar Servidor MCP, AutoTalk MCP Connect ou Gerar Token JWT ainda não podem ser testados. A aba Testes explica por quê. Sem testes, esses agentes são publicados como não testados. Com testes, os testes não conseguem rodar, então publicar exige Publicar mesmo assim.

Testes e publicação​

Um agente com testes só pode ser publicado depois que uma execução completa de todos os testes passar naquele rascunho exato. Qualquer alteração no rascunho ou nos testes exige uma nova execução. Alterar uma credencial não exige.

Se precisar publicar mesmo assim, a recusa oferece Publicar mesmo assim, que pede um motivo. O motivo e quem publicou ficam nessa versão. Isso dispensa a exigência de testes e nada mais: erros de configuração, uma credencial ausente ou revogada e uma credencial informada para outro endpoint continuam bloqueando a publicação.

O que os testes não cobrem​

Uma execução aprovada cobre o próprio agente. Passos com mock não são testados, e workflows e modelos podem mudar depois que você publica, então teste-os separadamente.

Usando a API ou o MCP​

Estas são funções de agents, que você chama com a ferramenta MCP execute_function ou com o executeFunction da API.

  • Validar, publicar, voltar atrás e iniciar ou cancelar testes exigem automation:admin. forcePublish exige o mesmo que publish.
  • Ler versões e execuções de teste exige data:read na API. No MCP, o próprio execute_function exige automation:admin, então ler por lá exige automation:admin e data:read.
FunçãoO que faz
validateDraftVerifica o rascunho e retorna o contentHash necessário para publicar, se ele pode ser testado e quais passos precisam de mocks
publishPublica, com expectedContentHash e opcionalmente activate: false
forcePublishPublica sem testes aprovados, com expectedContentHash e reason
setLiveReleaseAtiva uma versão, com releaseId e expectedLiveReleaseId
listReleases, getReleaseLê versões. Os valores de cabeçalho ficam ocultos
testDraftInicia uma execução. only executa alguns testes, mas só uma execução completa vale para publicar
getTestRun, listTestRuns, cancelTestRunLê ou interrompe execuções

Passos de workflow e de agente não podem chamar estas funções, e um token que um passo criou com Gerar Token JWT não pode publicar, executar testes nem alterar testes. Assim, um agente não consegue publicar nem testar a si mesmo com uma das próprias ferramentas. Uma chave de API que você mesmo coloca em um passo continua funcionando com os próprios scopes, então não coloque chaves com automation:admin em passos.