Passar para o conteúdo principal

Melhores práticas para Fin Tasks

Veja nossas melhores práticas e exemplos ao criar Fin Tasks e escrever instruções para Fin.

Escrito por Ivan

Usando Fin Tasks, você pode dar instruções passo a passo para Fin realizar a tarefa desejada. Fornecemos algumas melhores práticas e exemplos ao escrever essas instruções para Fin.

Nota: Fin Procedures está disponível em disponibilidade gerenciada como a próxima evolução das Tasks, oferecendo uma experiência de autoria mais simples e capacidades mais poderosas. Por favor, discuta o acesso com seu Gerente de Conta. Saiba mais sobre a transição de Fin Tasks para Procedures.

Se você tem acesso a Procedures, recomendamos usá-las para novas automações.


Melhores práticas para Fin Task

Instruções claramente escritas podem fazer uma grande diferença no desempenho da sua Fin Task.

Dicas gerais para prompts de LLM

Antes de entrar nos detalhes das Fin Tasks, aqui estão algumas dicas úteis que se aplicam geralmente ao trabalhar com grandes modelos de linguagem (LLMs):

  • Um bom prompt é imperativo e instrutivo. Comece frases com um verbo e evite voz passiva.

  • Não deixe espaço para ambiguidade: instrução detalhada é melhor que breve.

Para leitura adicional, veja os tópicos de introdução aqui.

Escopo e organização da tarefa

Embora Fin retenha memória dos passos e ações anteriores ou dados armazenados, você ainda precisa projetar tarefas com limites claros e propósitos focados.

Quando usar uma única Fin Task:

  • Todos os passos fazem parte de um processo coeso com progressão clara.

  • Passos posteriores dependem dos anteriores em uma sequência lógica.

  • O processo inteiro compartilha os mesmos critérios de decisão e resultados.

Quando considerar múltiplas Fin Tasks:

  • Para processos de negócios completamente separados

  • Você precisa criar pontos de verificação claros em um fluxo de trabalho complexo

  • Diferentes partes interessadas ou equipes são responsáveis por diferentes partes de um processo

  • Você quer permitir diferentes pontos de entrada em um fluxo de trabalho

Estrutura da tarefa

Título e descrição do gatilho

Certifique-se de que o título seja descritivo e não apenas interno.

  • Exemplo de boa prática: Pedidos danificados

  • Exemplo de má prática: Test123

Você deve escrever de 3 a 5 frases para descrever quando Fin deve acionar esta tarefa. Seja o mais específico possível e certifique-se de incluir um ou mais dos seguintes:

  • Cenários comuns em que acionar esta tarefa seria apropriado.

  • Exemplos dos tipos de perguntas dos clientes que seriam respondidas por esta tarefa.

  • Frases-chave que os clientes podem usar.

Exemplo de boa prática:

Use esta tarefa quando um cliente relatar ter recebido um pedido que foi danificado durante a entrega — como bebidas vazando, comida derramada ou recipientes quebrados. Não use esta tarefa se o cliente estiver relatando uma entrega atrasada, um item faltando ou problemas não relacionados a danos no produto.

Exemplo de má prática:

Use esta tarefa para reembolsar um pedido.

Bloco de instruções

O bloco de instruções segue um formato estruturado composto pelas seguintes seções...

1. Instruções:

Este é um plano claro, logicamente completo e passo a passo que Fin deve seguir. Certifique-se de cobrir todas as regras de decisão necessárias para Fin executar a tarefa.

A melhor e mais fácil forma de formular isso é seguir uma lógica “if + else”. Essa lógica garante que você sempre poderá tomar uma decisão em qualquer etapa e avançar para uma solução ou ter uma saída do processo se ficar preso. Para nosso exemplo, isso seria assim:

1. Se você puder determinar a data do pedido e ela for inferior a 30 dias, emita um reembolso.

2. Se você puder determinar a data do pedido, mas ela for superior a 30 dias, informe ao cliente que a política da Company X não permite reembolsos para compras com mais de 30 dias.

3. Caso contrário, informe ao cliente que você irá escalar para um membro humano da equipe de suporte e execute a escalada fazendo... (este exemplo assume que a lógica de escalada foi incorporada na Fin Task)

Se a lógica e as informações que Fin precisa acessar forem muito abertas, você deve considerar se pode dividir o bloco de instruções em etapas menores com lógica mais bem definida e restrita.

Você também precisará identificar os valores de entrada necessários para executar a tarefa. Declare explicitamente no prompt:

  • Quais são esses atributos, para que podem ser usados e como esses atributos se relacionam com o contexto mais amplo da tarefa.

  • Se esses atributos são garantidos para estar disponíveis (por exemplo, de uma etapa anterior nas instruções)

    • Se sim, onde estão disponíveis ou qual é seu valor, inserindo-os diretamente no prompt.

    • Se não, onde ou como podem ser coletados (por exemplo, do cliente)

2. Orientação (opcional):

Oriente como Fin interage, responde e se comporta durante uma tarefa, fornecendo orientações claras. Descreva simplesmente quaisquer comportamentos específicos que você gostaria que Fin seguisse ao executar as etapas.

Rascunhos de tarefas

Uma prática recomendada fundamental para gerenciar Fin Tasks é usar o recurso Salvar como rascunho. Isso permite que você edite e teste alterações nas instruções da tarefa com segurança, sem impactar seus clientes.

Quando você edita uma tarefa ativa, cria duas versões:

  • Versão ativa: Esta é a tarefa ativa com a qual seus clientes estão interagindo.

  • Versão rascunho: Este é seu conjunto de alterações não publicadas onde você pode trabalhar e testar privadamente.

Isso oferece um ambiente seguro para aperfeiçoar suas automações antes de publicá-las. Sempre use os recursos Visualizar e Simulações dentro do editor de tarefas para testar sua versão rascunho. Suas alterações só entrarão em vigor quando você estiver confiante e clicar no botão Publicar alterações.

Gatilhos de tarefas

Inclua cerca de 10 perguntas de exemplo

Para melhorar a precisão da correspondência da tarefa, você deve fornecer perguntas de exemplo específicas que devem e não devem acionar sua tarefa. Isso ajuda Fin a entender melhor quando usar sua tarefa, especialmente quando você tem várias tarefas semelhantes.

Você pode adicionar tanto exemplos positivos ("Acionar quando...") quanto exemplos negativos ("Não acionar quando...").

Comece com cerca de 10 perguntas ou frases de clientes altamente relevantes para garantir que a tarefa seja reconhecida corretamente. Se necessário, você pode estender isso para 20–30 exemplos, mas tenha cuidado com a complexidade. Se a lista ficar muito longa ou específica, considere simplificar a descrição ou passar para gatilhos baseados em intenção para manter a clareza e a gerenciabilidade.

Use exemplos negativos apenas quando houver acionamento incorreto

Exemplos "Não acionar quando..." devem ser incluídos apenas se você estiver observando comportamento de acionamento incorreto. Exemplos negativos ajudam a refinar a detecção esclarecendo o que Fin não deve responder, mas evite adicioná-los a menos que estejam resolvendo um problema específico com gatilhos disparados indevidamente.

Instruções da tarefa

Divida as instruções apenas quando as tarefas forem complexas

Use um único bloco de instrução estruturado quando sua tarefa for simples ou tiver cerca de 10 etapas. Se a tarefa envolver lógica complexa, ramificações significativas ou ficar difícil de acompanhar, é melhor dividi-la em vários blocos de instrução para clareza e facilidade de manutenção.

Deixe Fin coletar entradas automaticamente para conectores de dados

Você não precisa coletar todas as entradas manualmente antes de executar um conector de dados. Ao configurar o conector de dados, especifique as entradas necessárias, e Fin perguntará automaticamente ao cliente por qualquer entrada que estiver faltando. Isso reduz a complexidade das suas instruções e mantém as interações mais eficientes.

A troca de tarefas é permitida durante as conversas

Fin é capaz de trocar de tarefas no meio da conversa, e até mesmo mudar para respostas informativas (do seu conteúdo de suporte) quando o contexto ou a intenção do cliente mudar. Isso significa que ele pode sair de uma tarefa e começar outra sem interrupções, permitindo interações mais dinâmicas e responsivas com base nas necessidades do usuário em evolução.

Respostas API são lembradas entre etapas de instrução

Fin lembra automaticamente as respostas API dentro do mesmo bloco de instrução. Você pode se referir a esses resultados naturalmente em etapas posteriores, como dizendo “usando o saldo retornado anteriormente,” sem precisar repetir ou armazenar os dados manualmente.

Não é necessário salvar respostas API em atributos temporários

Não há necessidade de armazenar explicitamente as respostas API em atributos temporários. Fin mantém o controle dos dados internamente, permitindo que você os referencie diretamente em etapas subsequentes usando linguagem natural simples.

Utilize comandos de marcação e escalonamento nas etapas de instrução

Marcar uma conversa

Melhore a categorização das conversas instruindo Fin a marcar conversas com tags predefinidas nas instruções da tarefa. Isso ajuda na filtragem, relatórios e acionamento de ações de acompanhamento.

Instrução de exemplo:

"Marcar conversa 'Consulta de Cobrança' e 'Alta Prioridade'."

Escalonar para uma equipe

Transfira conversas que exigem intervenção humana direcionando Fin para escalar para uma equipe ou colega específico.

Instrução de exemplo:

"Escalonar para: Cobrança"

Nota: Certifique-se de que as tags e nomes das equipes usados nas instruções correspondam aos configurados no seu workspace Intercom.


Exemplos de Fin Task

Compilamos vários prompts de casos de uso abaixo que podem ajudar você a estruturar suas Fin Tasks.

Reembolso de pedido

Descrição: O objetivo desta tarefa é determinar se um pedido de reembolso feito por um cliente é válido e, se for, processá-lo. Seguindo as instruções abaixo, você poderá verificar e processar o pedido de reembolso de um cliente para pedidos feitos com a Company X.

Passo 1: Use @get_order_details para o pedido com ID @collected_order_id para recuperar os detalhes desse pedido. Em seguida, siga a lógica abaixo para determinar se o pedido recuperado pode ser reembolsado:

  • Se a data do pedido for mais de 30 dias anterior à data atual, informe ao cliente que você não pode oferecer reembolso porque o pedido foi feito há mais de 30 dias. Defina @refund_outcome como "denied" e informe o cliente sobre o resultado.

  • Se a data do pedido for menos de 30 dias anterior à data atual, prossiga para o Passo 2.

  • Caso contrário, informe ao cliente que você não pode verificar se o pedido pode ser reembolsado e escale para um membro humano da equipe de suporte. Defina @refund_outcome como "escalation" e informe ao cliente que você tomou essa ação.

Passo 2: Use @process_items_refund com o ID do pedido @collected_order_id para processar um reembolso para esse pedido. Em seguida, colete a resposta e:

  • Se o reembolso foi bem-sucedido, informe ao cliente que o reembolso foi processado com sucesso. Defina @refund_outcome como "success" e informe o cliente sobre o resultado.

  • Caso contrário, se o reembolso falhou, informe ao cliente que você não conseguiu processar o reembolso. Defina @refund_outcome como "escalation" e informe ao cliente que você tomou essa ação.

Orientação: Seja empático ao comunicar notícias negativas sobre negações de reembolso. Quando um reembolso for bem-sucedido, seja caloroso e claro sobre os prazos de processamento do reembolso.

Solicitação de cancelamento de assinatura

Descrição: O objetivo desta tarefa é determinar se um pedido de cancelamento de assinatura feito por um cliente é válido e, se for, processá-lo. Seguindo as instruções abaixo, você poderá verificar e cancelar a assinatura de um cliente para a Company X.

Passo 1: Use @get_subscription_details para a assinatura com ID @collected_subscription_id para recuperar os detalhes dessa assinatura. Em seguida, siga a lógica abaixo para determinar se a assinatura recuperada pode ser cancelada:

  • Se a assinatura ainda estiver no seu período mínimo de compromisso (um prazo de 12 meses que ainda não expirou):

    • Informe ao cliente que você não pode cancelar a assinatura neste momento porque a assinatura está dentro do seu período de compromisso.

    • Defina @cancellation_outcome como "denied".

  • Se a assinatura for elegível para cancelamento (é um plano mensal ou o período de compromisso terminou):

    • Prossiga para o Passo 2.

  • Caso contrário, se você não puder determinar pelos detalhes da assinatura se ela pode ser cancelada:

    • Informe ao cliente que você não pode verificar a elegibilidade de cancelamento da assinatura e escale para um membro humano da equipe de suporte.

    • Defina @cancellation_outcome como "escalation".

Passo 2: Use @cancel_subscription com o ID da assinatura @collected_subscription_id para processar o cancelamento. Em seguida, colete a resposta e:

  • Se o cancelamento for bem-sucedido:

    • Informe ao cliente que a assinatura foi cancelada com sucesso.

    • Defina @cancellation_outcome como "success".

  • Se o cancelamento falhar:

    • Informe ao cliente que você não conseguiu cancelar a assinatura e que o problema foi escalado.

    • Defina @cancellation_outcome como "escalation".

Orientação: Seja direto, mas empático ao explicar os períodos de compromisso. Quando for bem-sucedido, confirme claramente o que acontecerá com a cobrança daqui para frente.

Solicitação de Alteração de Endereço

Descrição: O objetivo desta tarefa é determinar se uma solicitação de atualização de endereço de entrega para um cliente é válida e, se for, processá-la. Seguindo as instruções abaixo, você verificará e atualizará o endereço de entrega no sistema da Company X.

Passo 1: Use @get_customer_profile fornecendo o ID @collected_customer_id para recuperar o status atual da conta do cliente. Em seguida, siga a lógica abaixo:

  1. Se a conta do cliente estiver bloqueada ou sinalizada (o status da conta é "suspected fraud" ou "unpaid balance"):

    • Informe ao cliente que você não pode prosseguir com a alteração do endereço devido a restrições na conta.

    • Defina @address_change_outcome como "denied".

  2. Se a conta do cliente estiver ativa e elegível para atualizações:

    • Prossiga para o Passo 2.

  3. Caso contrário, se o sistema não conseguir determinar o status da conta ou se houver informações insuficientes:

    • Informe ao cliente que você não pode verificar se o endereço pode ser atualizado e escale para um agente humano de suporte.

    • Defina @address_change_outcome como "escalation".

Passo 2: Use @validate_address fornecendo o @collected_new_address para verificar sua autenticidade e possibilidade de entrega. Em seguida, siga a lógica abaixo:

  1. Se o novo endereço não for reconhecido ou estiver fora das regiões atendidas pela Company X (o valor do endereço pode ser apenas "United States", "European Union" ou "Canada", nenhuma outra região é suportada):

    • Informe ao cliente que o endereço não pode ser atendido ou é inválido.

    • Defina @address_change_outcome como "denied".

  2. Se o endereço for reconhecido e possível de entregar:

    • Prossiga para o Passo 3.

  3. Se o resultado da validação do endereço for inconclusivo ou não puder ser determinado pelo sistema:

    • Informe ao cliente que você não pode verificar o endereço neste momento e que a solicitação foi escalada.

    • Defina @address_change_outcome como "escalation".

Passo 3: Use @update_customer_address fornecendo tanto @collected_customer_id quanto @collected_new_address para finalizar a atualização do endereço. Em seguida, siga a lógica abaixo:

  1. Se a atualização do endereço for bem-sucedida:

    • Informe ao cliente que o endereço foi atualizado com sucesso.

    • Defina @address_change_outcome como "success".

  2. Se a atualização do endereço falhar por qualquer motivo (erro do sistema ou registros conflitantes):

    • Informe ao cliente que você escalou o problema para um agente humano de suporte.

    • Defina @address_change_outcome como "escalation".

Orientação: Seja claro sobre quais regiões são suportadas. Ao confirmar uma alteração de endereço bem-sucedida, lembre o cliente que isso afetará todos os envios futuros.

Ajuste de Pontos de Fidelidade

Descrição: O objetivo desta tarefa é determinar se a solicitação de ajuste de pontos de fidelidade de um cliente é válida e, se for, realizar esse ajuste. Seguindo estas instruções, você revisará o status da conta de fidelidade do cliente, validará a solicitação e ajustará os pontos de acordo no sistema da Company X.

Passo 1: Use @get_loyalty_profile com o ID @collected_loyalty_member_id para recuperar o status da conta do membro. Em seguida, siga a lógica:

  1. Se a conta de fidelidade estiver inativa, suspensa ou sinalizada por atividade suspeita:

    • Informe ao cliente que a conta não é elegível para ajuste de pontos neste momento.

    • Defina @points_adjustment_outcome como "denied".

  2. Se a conta estiver em situação regular:

    • Prossiga para o Passo 2.

  3. Caso contrário, se o sistema não puder determinar o status da conta:

    • Informe ao cliente que você não pode verificar a conta dele e que irá encaminhar o assunto para um especialista de suporte.

    • Defina @points_adjustment_outcome como "escalation".

Passo 2: Use @audit_loyalty_activity fornecendo @collected_loyalty_member_id e @collected_points_adjustment_request para revisar transações recentes de loyalty e verificar se a solicitação é justificada. Então:

  1. Se o ajuste solicitado se referir a uma transação fora do prazo de reivindicação (data da reivindicação é superior a 90 dias):

    • Informe ao cliente que a solicitação não pode ser concedida devido às políticas do programa.

    • Defina @points_adjustment_outcome como "denied".

  2. Se a solicitação for válida (por exemplo, pontos perdidos de uma compra elegível recente):

    • Prossiga para o Passo 3.

  3. Se a auditoria retornar resultados inconclusivos (nenhuma transação correspondente encontrada ou apenas dados parciais):

    • Informe ao cliente que uma investigação adicional é necessária e que você está encaminhando o assunto para um agente humano.

    • Defina @points_adjustment_outcome como "escalation".

Passo 3: Use @adjust_loyalty_points fornecendo @collected_loyalty_member_id e o valor de @collected_points_adjustment_request para finalizar o ajuste de pontos. Então:

  1. Se o ajuste de pontos for processado com sucesso:

    • Informe ao cliente que o saldo de loyalty dele foi atualizado.

    • Defina @points_adjustment_outcome como "success".

  2. Se o ajuste falhar devido a um erro do sistema ou registros conflitantes:

    • Informe ao cliente que você não conseguiu concluir a solicitação e que a encaminhou para revisão manual.

    • Defina @points_adjustment_outcome como "escalation".

Orientação: Quando um ajuste de pontos for bem-sucedido, faça referência à transação específica que gerou os pontos. Seja informativo sobre as políticas do programa ao negar solicitações.


FAQ

Um Fin Task pode acessar diretamente minha knowledge base?

Sim, Fin Tasks podem acessar o conteúdo do seu Help Centre, mas seus artigos devem estar habilitados para Fin AI Agent.

Por que o Fin às vezes fornece uma resposta da minha knowledge base mesmo quando um Fin Task está ativo?

O Fin às vezes fornece uma resposta da minha knowledge base mesmo quando um Fin Task está ativo porque o Fin pode pausar uma tarefa ativa para responder a uma consulta informativa usando conteúdo da sua knowledge base. Após fornecer a resposta, o Fin pode optar por continuar executando a tarefa. Esse comportamento foi projetado para manter a conversa eficiente, respondendo à pergunta imediata do usuário antes de retomar os passos da tarefa.

Como posso garantir que um Fin Task verifique a knowledge base primeiro antes de prosseguir?

Para garantir que um Fin Task verifique a knowledge base primeiro antes de prosseguir, você pode configurar seu Fin Task para pausar explicitamente e pesquisar sua knowledge base para tipos específicos de consultas. Isso pode ser feito adicionando um passo "Guidance" nas configurações do Fin e incluindo instruções semelhantes diretamente na própria tarefa. Observe que seus artigos devem estar habilitados para Fin AI Agent.

Que tipo de instruções devo adicionar às configurações do meu Fin Task e Guidance?

Recomendamos adicionar um passo Guidance com instruções como: "Antes de prosseguir com os passos da tarefa, verifique primeiro se esta pergunta pode ser respondida com o conteúdo disponível na nossa knowledge base". Você também deve adicionar orientações semelhantes diretamente nas instruções da tarefa, pois o Fin combina as orientações de ambas as configurações. Você pode refinar as instruções da tarefa para dizer ao Fin para "Analisar a conversa até agora", "Pesquisar a knowledge base com base no contexto da conversa" e "Confirmar se informações relevantes foram encontradas".

Preciso de um conector de dados para o Fin pesquisar minha knowledge base?

Não, você não precisa de um conector de dados para o Fin pesquisar o conteúdo indexado da sua própria knowledge base. Conectores de dados são necessários apenas quando você quer que o Fin recupere ou atualize informações em sistemas externos, como verificar o status de um pedido ou processar um reembolso.

Respondeu à sua pergunta?