As Simulações permitem validar Procedimentos Fin, aumentar a confiança na sua automação e detectar problemas antes que afetem seus clientes. Ao modelar conversas completas, as simulações ajudam sua equipe a lidar com cenários de alto volume ou complexos, como cancelamentos e reembolsos, com certeza.
Projetadas para substituir verificações manuais demoradas, as simulações ajudam a identificar problemas ou mudanças graduais no comportamento do Fin à medida que sua lógica de negócios evolui.
Acessando simulações
As Simulações estão localizadas no painel de teste de um Procedimento. Para acessá-las:
Abra o Procedimento que você deseja testar.
Clique em Test no canto superior direito da tela.
Selecione a guia Simulations no painel direito
Note: Acesso às Simulações requer as seguintes permissões:
"Can manage workspace data",
"Can access lead and user profile pages" and
"Can access lists of people, companies, and accounts".
Se o botão Simulations não estiver respondendo, verifique com o administrador do workspace se essas permissões estão habilitadas para você em Settings > Workspace > Teammates.
As simulações ignoram a correspondência de intenção. Ao contrário do Preview ou conversas ao vivo, as simulações não verificam suas instruções 'When to use this Procedure', elas assumem que o Procedimento já foi acionado e o executam diretamente. Isso torna as simulações ideais para testar a lógica de execução isoladamente.
Important:
Preview mostra a experiência completa voltada ao cliente; usá-lo enquanto seu procedimento estiver ativo pode expor mensagens a clientes reais.
Simulations executam o procedimento em segundo plano sem saída voltada ao cliente, tornando-as a maneira mais segura de validar a lógica antes de entrar em produção. Use Preview para verificações rápidas; use Simulations antes de cada publicação.
Criando uma simulação
Você pode criar uma simulação de duas maneiras: usando sugestões geradas por AI para um início rápido ou definindo manualmente o cenário para controle total.
AI-generated simulations: Use estas para cobrir rapidamente cenários comuns ou esperados de clientes com base em suas instruções. Fin AI gera testes iniciais "prontos" para economizar seu tempo.
Manual simulations: Use estas quando precisar de controle preciso sobre dados, casos de borda específicos ou ramos particulares em sua lógica.
Simulações geradas por AI
Com base em suas instruções, o Fin AI gerará testes iniciais para ajudá-lo a criar rapidamente simulações "prontas".
Abra a guia Simulations no painel direito do seu Procedimento.
Em Suggested for these instructions, revise a lista de cenários propostos (por exemplo, "Full cancellation request").
Clique no ícone de reprodução ao lado de uma sugestão para executá-la instantaneamente.
Depois que uma simulação for criada ou aceita a partir das sugestões, ela aparecerá em sua lista. Você pode então clicar em Run all para executar todas as suas simulações salvas de uma vez.
Simulações criadas manualmente
Você também pode criar uma simulação do zero para testar casos de borda específicos com base nas instruções do Procedimento.
Na guia Simulations, clique em + New.
Simulation name: Dê um título claro à sua simulação.
Simulate as: Escolha um usuário ou marca específica para testar a personalização. Você pode selecionar a partir de uma lista suspensa de usuários reais em seu workspace.
Customer's opening message: Insira a primeira mensagem que o cliente envia (por exemplo, "I need help with my order"). Você também pode anexar uma imagem, como uma captura de tela de um erro, para testar como o Fin lida com contexto visual.
Additional details: Forneça orientações sobre a situação do cliente ou ações específicas que ele tenha tomado.
Selecione um canal
As Simulações permitem selecionar o canal que o Fin usará para esta simulação, para que você possa testar como o Fin se comporta. Use o menu suspenso de canal para alternar entre Messenger e Email antes de executar sua simulação.
Note: O Fin se comporta de forma diferente dependendo do canal. No Email, o Fin agrega várias informações em uma única resposta em vez de enviar várias mensagens. Guidance and Content targeting can also be configured per channel - for example, Email responses can be set to use a more formal tone or include a specific introduction.
Defina dados disponíveis
A seção Customer data available to Fin permite definir os dados aos quais o Fin tem acesso durante o teste. Isso garante que você esteja testando com valores de dados precisos em vez de confiar em descrições vagas.
Simulation time: Use isto para definir "quando" o cenário está acontecendo. Definir uma data e hora específicas permite testar lógica sensível ao tempo, como verificar se um cliente está dentro de uma janela de reembolso de 30 dias.
Attributes and Data Connectors: Esta seção pré-popula com os atributos referenciados em seu Procedimento. Atualize esses valores (por exemplo, defina
People.Planpara "Pro") para testar diferentes resultados de ramificação.
Note: Para garantir que sua simulação seja executada com precisão, coloque dados com base em quando o Fin deve "saber" isso:
Use Attributes: Se o Fin deveria já saber a informação no início da conversa (por exemplo, o Plano atual do cliente ou data de Inscrição).
Use Additional details: Se a informação deve ser fornecida pelo cliente durante a conversa (por exemplo, o cliente fornece seu "Order ID" em uma resposta subsequente). Isso permite testar se o Fin captura e armazena corretamente esses dados em um atributo.
Note:
Os Data Connectors não usam dados de user reais em simulações. Em vez de chamar seu sistema externo, o Fin usa os valores de teste que você define na seção Customer data available to Fin. Certifique-se de ter preenchido seus campos de Data Connector com os valores que deseja que o Fin use durante o teste — caso contrário, o conector retornará resultados vazios.
A seção Customer data available to Fin mostra e retém apenas atributos que são explicitamente referenciados nas instruções do seu Procedimento ou em um bloco de código. Se você adicionar manualmente um atributo usando o botão + Add attribute mas esse atributo não for referenciado em nenhum lugar do Procedimento, o sistema não o salvará — ele desaparece depois de salvar porque não tem efeito na simulação. Para adicionar um valor personalizado que persista, certifique-se de que o atributo seja primeiro usado no próprio Procedimento.
Avalie o comportamento do Fin
Defina os critérios que devem ser verdadeiros para o teste passar. Clique em + Add criteria e selecione:
Fin reply: Especifique o que Fin deve (ou não deve) dizer durante a conversa.
Attributes: Verifique se um atributo foi definido, não foi definido, era igual a, ou não era igual a um valor específico.
Data connector: Verifique se um connector é acionado, não é acionado ou é acionado exatamente X vezes.
Instruction outcome: Verifique se a conversa alcançou uma conclusão específica, como finalizar, ser transferida para um colega ou outros desfechos como mudar para um Procedure diferente.
Depois de configurado, clique em Save.
Note: Quando você clicar em Save, Fin usa AI para revisar seu formulário de simulação. Se as instruções estiverem confusas ou se os critérios de sucesso forem inconsistentes, você verá recomendações sobre como melhorar o teste para resultados mais precisos.
Melhores práticas para cobertura de simulação
Para aproveitar ao máximo as simulações, estruture sua suíte de testes em torno destes princípios:
Test one branch per simulation. Se seu Procedure tiver Conditions ou subprocedures com múltiplos caminhos, crie uma simulação separada para cada ramo. Isso cria uma rede de segurança de regressão — se uma edição futura quebrar um caminho específico, você irá detectá-lo imediatamente.
Cover both success and failure paths for Data Connectors. Execute uma simulação onde seu connector retorna dados válidos, e outra onde não retorna nada ou falha. Isso verifica se sua lógica de fallback (por exemplo, um passo
@Conditionlidando com uma resposta vazia) funciona corretamente.Run all simulations before publishing changes. Após editar um Procedure, clique em Run all para reexecutar sua suíte completa antes de ir ao vivo. Qualquer simulação que falhar recentemente indica uma regressão introduzida pela sua edição.
Use descriptive simulation names. Nomeie cada simulação de acordo com o cenário que ela representa (por exemplo, "Full refund — within 30 days" ou "Cancellation — no order found"). Isso facilita identificar qual teste cobre qual caminho ao revisar os resultados.
Estratégia de teste: happy path, risk path e edge cases
Uma suíte de simulação bem equilibrada cobre três tipos de cenários. Juntos, eles dão confiança de que seu Procedure funciona corretamente em condições normais, trata falhas com elegância e não quebra quando os customers se comportam inesperadamente.
Happy path
O happy path representa o fluxo ideal e ininterrupto — um customer que fornece exatamente as informações corretas e atende todas as condições para que Fin complete o Procedure com sucesso. Sempre comece por aqui. Se o happy path falhar, depurar caminhos mais complexos fica muito mais difícil.
Example: Um customer solicita um reembolso dentro da janela de 30 dias, possui um ID de pedido válido e o Data Connector retorna os detalhes do pedido. Fin processa o reembolso e confirma em uma única passagem.
Risk path
Os risk paths testam os cenários mais propensos a falhar em produção — tipicamente onde dados externos estão ausentes, conditions não são atendidas, ou um ramo de fallback precisa ser acionado. Estes são os testes que protegem seus customers de ver respostas incorretas ou incompletas.
Examples: O Data Connector não retorna nenhum pedido (teste que Fin peça ao customer pelo ID do pedido). O customer está fora da janela de reembolso (teste que Fin comunique a política correta e ofereça o repasse adequado). Um atributo está vazio quando um passo Condition o avalia (teste que o caminho de fallback do Fin seja acionado corretamente).
Edge cases
Edge cases cobrem entradas incomuns ou em condição de limite que são tecnicamente válidas, mas pouco comuns. Esses testes são especialmente importantes para Procedures com lógica sensível ao tempo, limites numéricos ou entradas de texto livre dos customers.
Examples: Um customer solicita um reembolso exatamente no dia 30 (o limite da janela). Um customer envia uma mensagem inicial ambígua que pode corresponder a múltiplas intents. Um customer fornece seu ID de pedido em um formato inesperado ou inclui texto extra ao lado dele.
Tip: Use descriptive simulation names para indicar a categoria de cada teste — por exemplo, "Refund — happy path", "Refund — no order found (risk)" ou "Refund — boundary day 30 (edge)". Isso facilita identificar lacunas na cobertura rapidamente.
Executando e revisando resultados
Depois de executar um teste, ele aparece no painel Tests no lado direito com um indicador de status:
Running: O teste está sendo executado ativamente.
Passed: O teste foi executado e atendeu com sucesso todos os critérios de sucesso definidos.
Failed: O teste foi executado, mas não atendeu aos critérios de sucesso definidos.
Queued: O teste foi iniciado, mas está aguardando a simulação precedente terminar antes de executar.
Para investigar um resultado, clique em See conversation. Isso abre a transcrição completa entre o customer simulado e o Fin, tornando fácil ver exatamente como o fluxo ocorreu e por que um teste passou ou falhou.
Depurando uma Simulation que falhou
Quando uma simulação é marcada como Failed, a transcrição disponível via See conversation contém tudo que você precisa para identificar a causa raiz. Veja como ler eficazmente:
Fin's thoughts
Em cada passo da conversa, expanda o raciocínio do Fin para ver como ele interpretou a mensagem do customer, qual passo do Procedure estava executando e qual decisão tomou. Se o Fin seguiu um caminho inesperado, Fin's thoughts geralmente mostra exatamente onde sua interpretação divergiu da sua intenção. Procure por passos onde a interpretação do Fin sobre um atributo ou condition não corresponda ao que você esperava.
Conversation events
Conversation events aparecem inline na transcrição e mostram ações de baixo nível como atualizações de atributos, chamadas de Data Connector e gatilhos de repasse. Use-os para verificar se os connectors corretos foram acionados no momento certo e se os atributos foram definidos com os valores esperados antes de cada passo de ramificação.
Pinpointing the failure
Crucie o que você vê em Fin's thoughts e conversation events com seus critérios de sucesso definidos. Um padrão comum é um passo Condition avaliando para o ramo errado — tipicamente porque um atributo estava vazio ou tinha um valor inesperado. Verifique sua configuração Customer data available to Fin para garantir que todos os atributos necessários foram preenchidos antes da simulação rodar.
Tip: Após identificar a causa, ajuste seu Procedure ou configuração da simulação e clique em Run na mesma simulação para re-testar imediatamente. Você não precisa criar uma nova simulação — a existente mantém sua configuração.
Limites de uso de Simulation
Há um limite no número de simulações que você pode executar a cada mês. Esse limite é aplicado no nível do workspace e é redefinido no primeiro dia de cada mês do calendário.
Cada workspace recebe uma cota mensal de execuções de Simulation. A cota é baseada no segmento de volume de conversas do seu workspace, com customers maiores recebendo cotas maiores.
A cota de Simulation é baseada no volume de conversas do seu workspace no Intercom.
Atribuímos seu workspace a um segmento usando o número de conversations no último mês do calendário.
Seu segmento é reavaliado mensalmente e sua cota refletirá o volume de conversas do mês mais recente.
Se seu volume de conversas aumentar ou diminuir, sua cota de Simulation pode mudar no próximo ciclo mensal.
Conversation Volume Segment | Simulation Limit per month |
Under 1K | 250 |
1K–15K | 1.000 |
15K–100K | 1.750 |
100K–1M | 5.000 |
1M+ | 12.500 |
Monitorando seu uso
Para ajudar você a gerenciar seus testes, Fin fornece indicadores visuais na guia Simulações:
Aviso de uso
Quando seu workspace atingir 80% do limite mensal, um banner amarelo de aviso aparecerá. Ele mostra seu uso atual (por exemplo, "85/100") e lembra quando o limite será redefinido.
Limite atingido
Quando você atingir 100% do seu limite mensal, uma mensagem de erro vermelha aparecerá. Você não poderá executar mais simulações até o início do próximo mês.
Observação: se você atingir seu limite, ainda poderá revisar resultados e transcrições de simulações anteriores clicando em See conversation, mas os botões Run e Run all estarão desativados.
Perguntas frequentes
As simulações interagem com minhas APIs ou dados externos ao vivo?
As simulações interagem com minhas APIs ou dados externos ao vivo?
Não. Ao contrário da ferramenta Preview, as simulações não acessam APIs reais ou sistemas externos (como Shopify ou Stripe). Não é possível ler ou alterar dados em uma API externa durante uma simulação. Isso garante que você possa testar a lógica com segurança sem impactar dados do mundo real.
Por que usar Simulações em vez de testes manuais?
Por que usar Simulações em vez de testes manuais?
As simulações permitem validar Procedures em grande escala e garantir que Fin opere de forma confiável em cenários complexos e de alto risco — ao contrário dos testes manuais, que são mais adequados para verificações rápidas ou revisões de configuração. Executar Simulações antes de cada lançamento ajuda a detectar comportamentos inesperados cedo.
O que acontece se uma Simulação falhar?
O que acontece se uma Simulação falhar?
Uma Simulação com falha pode ser revisada completamente — abra a conversa simulada para entender por que Fin não se comportou conforme o esperado, ajuste seu Procedure e execute a Simulação novamente sem impacto aos clientes.
Por que minha simulação está marcada como "Failed" mesmo que Fin tenha resolvido o problema?
Por que minha simulação está marcada como "Failed" mesmo que Fin tenha resolvido o problema?
Uma Simulação marcada como "Failed" apesar de Fin ter resolvido o problema geralmente significa que seus Critérios de Sucesso são muito rígidos. Por exemplo, se você exigir que Fin "Peça um ID de Pedido", mas Fin for inteligente o bastante para encontrar o ID automaticamente, o teste falhará porque Fin ignorou a pergunta. Atualize seus critérios para focar no resultado final (por exemplo, "Procedure concluído") em vez de exigir etapas intermediárias específicas.
Fin para no meio da simulação. Por que está travando?
Fin para no meio da simulação. Por que está travando?
Fin frequentemente para se encontrar em um "beco sem saída" nas suas instruções, como verificar uma variável que acaba vazia (por exemplo, People.signed_up). Se você não informou o que Fin deve fazer quando os dados estiverem ausentes, ele irá parar. Garanta que suas instruções tenham um plano de fallback, por exemplo: "Verifique se a variável tem um valor. Se estiver vazia, pergunte ao cliente pela data."
Onde devo inserir dados de teste como "Datas de inscrição" ou "Histórico de pedidos"?
Onde devo inserir dados de teste como "Datas de inscrição" ou "Histórico de pedidos"?
Dados de teste como datas de inscrição ou histórico de pedidos devem ser inseridos na seção Customer data available to Fin da configuração da simulação — não na mensagem inicial do Customer ou nos campos Detalhes adicionais, pois Fin pode não percebê-los. Insira valores exatos (por exemplo, 2024-06-01) nos Atributos ou Variáveis específicos que você está testando.
Minha ferramenta funciona na vida real, mas falha na simulação. Por quê?
Minha ferramenta funciona na vida real, mas falha na simulação. Por quê?
As simulações não buscam dados reais em sistemas externos, então seu Data Connector não retornará resultados ao vivo como acontece em uma conversa real. Se seu conector funciona em conversas ao vivo, mas falha na simulação, provavelmente é porque os valores esperados não foram definidos na seção Customer data available to Fin. Adicione os dados que seu conector normalmente retornaria como valores de teste lá e execute a simulação novamente.
As Simulações são cobradas separadamente dos Procedures?
As Simulações são cobradas separadamente dos Procedures?
As Simulações estão incluídas com os Procedures e não são cobradas como item separado. Você não terá cobranças adicionais por executar simulações.
Por que devo testar meu Procedure por Email?
Por que devo testar meu Procedure por Email?
Testar seu Procedure por Email valida o comportamento específico do canal que difere do Messenger. No Email, Fin agrega várias informações em um único e-mail em vez de enviar várias mensagens. Guidance e Content também podem ser direcionados a canais específicos — por exemplo, respostas por Email podem ser configuradas para usar um tom mais formal ou incluir uma introdução específica. Simular conversas por Email permite validar esse comportamento e implantar no Email com confiança.
Por que existe um limite de execuções de Simulação?
Por que existe um limite de execuções de Simulação?
Cada execução de simulação exige recursos para gerar previsões de IA precisas. Fornecemos um saldo mensal para garantir que você possa testar seus Procedures livremente para casos de uso padrão, enquanto evitamos que uso extremo gere custos descontrolados.
Posso simular um sub-procedure independentemente?
Posso simular um sub-procedure independentemente?
Não. Sub-procedures não têm seu próprio painel de simulação e não podem ser executados isoladamente. Para testar um sub-procedure, execute uma simulação no Procedure pai e configure o cenário para que o caminho de execução alcance o sub-procedure — definindo a mensagem do cliente, atributos e detalhes adicionais para acionar o branch específico que o chama.
Se você tiver vários sub-procedures dentro do mesmo pai, crie uma simulação separada para cada um, com cada simulação cobrindo o cenário que leva à chamada daquele sub-procedure.
Meu Data Connector retorna resultados vazios na simulação. O que devo fazer?
Meu Data Connector retorna resultados vazios na simulação. O que devo fazer?
Resultados vazios do Data Connector em uma simulação são geralmente causados por dados de teste ausentes. As simulações não buscam dados ao vivo em sistemas externos — você precisa definir os valores que seu Data Connector deve retornar na seção Customer data available to Fin da configuração da simulação. Verifique se você preencheu os campos relevantes do Data Connector com os valores de teste que deseja que Fin use.
Se você está intencionalmente testando o caminho 'conector retorna nada', isso é comportamento esperado — e exatamente o que você deve testar. Certifique-se de que seu Procedure tenha um passo de fallback @Condition que trate respostas vazias do conector:
Se o conector retornar vazio mesmo para um usuário com dados reais, verifique se seu contato de teste tem um external_id válido que corresponda ao identificador de cliente do seu sistema externo.
Quantas simulações posso executar por mês?
Quantas simulações posso executar por mês?
Sua cota mensal de execuções de Simulação depende do volume de conversas do seu workspace no Intercom durante o mês civil anterior. O limite se aplica no nível do workspace e é redefinido no primeiro dia de cada mês:
Segmento de volume de conversas | Limite de Simulação por mês |
Menos de 1K | 250 |
1K–15K | 1.000 |
15K–100K | 1.750 |
100K–1M | 5.000 |
1M+ | 12.500 |
Quando meu limite de simulações é renovado?
Quando meu limite de simulações é renovado?
Sua cota de Simulação é renovada no primeiro dia de cada mês do calendário, independentemente de quando você entrou ou de quantas simulações usou. Execuções não utilizadas não são acumuladas — sua cota reinicia todo mês.
Posso aumentar meu limite de simulações?
Posso aumentar meu limite de simulações?
Os limites de simulação são definidos automaticamente com base no volume de conversas do seu workspace e reavaliados no início de cada mês. Se o volume de conversas aumentar, sua cota será maior no ciclo mensal seguinte — não há opção para comprar execuções adicionais manualmente nem para aumentar o limite fora desse sistema de níveis. Se você atingir seu limite mensal antes da data de renovação, ainda poderá revisar resultados e transcrições de simulações anteriores, mas os botões Executar e Executar tudo serão desativados até a renovação da cota.









