Ir para o conteúdo

Agente de Cotação de Vendas do Jitterbit

Visão geral

O Jitterbit fornece o Agente de Cotação de Vendas aos clientes através do Jitterbit Marketplace. Este agente utiliza a técnica de Geração Aumentada por Recuperação (RAG), que combina o raciocínio do modelo de linguagem grande (LLM) com acesso a ferramentas e fontes de dados externas. Este agente orquestra o processo completo de criação de cotação no Salesforce através de uma interface conversacional, aplicando lógica de negócios como percentuais de margem, rateio, arredondamento e sequenciamento de renovação plurianual, além de garantir conformidade com termos de contratos históricos. Isso permite que usuários de Sales Ops, Customer Success e Account Executive gerem cotações sem entrada manual de dados.

O agente recebe solicitações em linguagem natural através do Slack e usa um LLM para determinar a intenção do usuário e selecionar a ferramenta apropriada para cada etapa do processo de cotação. Com base em cada solicitação, o agente procura contas e oportunidades do Salesforce, recupera tipos de cotação, tabelas de preços e produtos disponíveis, e cria a cotação e seus itens de linha no Salesforce. Depois que todos os itens de linha são adicionados, o agente pede ao usuário para revisar e confirmar antes de gerar o PDF de cotação final através de um endpoint Apex REST fornecido por um pacote gerenciado do Salesforce instalado. O agente mantém histórico de conversas e sessões no Jitterbit Cloud Datastore para fornecer respostas contextualmente conscientes durante uma sessão.

O agente executa as seguintes tarefas:

  • Recebe solicitações em linguagem natural dos usuários através do Slack.
  • Usa um LLM para determinar a intenção do usuário e rotear cada solicitação para a ferramenta apropriada.
  • Procura contas do Salesforce e suas oportunidades associadas.
  • Recupera tipos de cotação, tabelas de preços e produtos do Salesforce disponíveis para o usuário selecionar.
  • Cria uma cotação e seus itens de linha de cotação associados no Salesforce, aplicando percentuais de margem, rateio, arredondamento e cálculos de renovação plurianual, além de garantir conformidade com termos de contratos históricos.
  • Pede ao usuário para revisar e confirmar antes de gerar o PDF de cotação.
  • Gera o PDF de cotação chamando um endpoint Apex REST fornecido por um pacote gerenciado do Salesforce instalado.
  • Armazena histórico de conversas e sessões no Cloud Datastore para manter o contexto entre mensagens.

Este documento explica como configurar e operar este agente de IA. Ele aborda arquitetura e pré-requisitos, orientações sobre como interagir com o agente e etapas para instalar, configurar e operar o agente de IA.

Arquitetura do agente de IA

Este agente de IA orquestra a criação de cotação no Salesforce através de uma interface Slack conversacional. Uma interação típica segue estas etapas:

  1. Um usuário envia uma mensagem em linguagem natural para o Agente de Cotação de Vendas através do Slack.
  2. O agente recupera o histórico de conversas e sessões do Cloud Datastore para manter o contexto, depois chama o LLM com um conjunto de ferramentas disponíveis para determinar a intenção do usuário.
  3. Com base na ferramenta selecionada, o agente consulta o Salesforce para procurar a conta, suas oportunidades, tipos de cotação disponíveis, tabelas de preços ou produtos, e retorna os resultados ao LLM para o usuário revisar no Slack.
  4. Assim que o usuário seleciona um tipo de cotação, tabela de preços e produtos, o agente cria a cotação e itens de linha de cotação no Salesforce, aplicando qualquer percentual de margem solicitado e lógica de renovação plurianual.
  5. O agente pede ao usuário para revisar e confirmar antes de gerar o PDF de cotação.
  6. Após confirmação, o agente chama o endpoint Apex REST fornecido pelo pacote gerenciado do Salesforce instalado para gerar o PDF de cotação.
  7. O agente publica a resposta de volta ao usuário no Slack, e o histórico de conversas e sessões é salvo no Cloud Datastore para uso em mensagens subsequentes.

Diagrama de fluxo de trabalho

O diagrama a seguir mostra o fluxo de trabalho principal de tratamento de solicitações para o Agente de Cotação de Vendas.

--- config: themeVariables: lineColor: '#6b7280' edgeLabelBackground: '#f5f5f5' flowchart: padding: 20 nodeSpacing: 80 --- flowchart LR classDef default fill:white, stroke:black, stroke-width:3px, rx:15px, ry:15px JSP@{ shape: hex, label: "
Jitterbit
Sales Quote Agent" } SLK[fab:fa-slack
Slack] SF[fab:fa-salesforce
Salesforce] AZR[Azure OpenAI REST call] AZM@{ shape: hex, label: "Azure OpenAI model" } CD@{ shape: hex, label: "fas:fa-database
Cloud Datastore" } SLK -->|1. User request| JSP JSP <-->|2. Session history| CD JSP -->|3. Conversation and prompt| AZR AZR --> AZM AZM --> AZR AZR -->|4. Intent and tool selection| JSP JSP <-->|5. Account, opportunity, quote, and product data| SF JSP <-->|6. Quote PDF generation| SF JSP -->|7. Response| SLK

Pré-requisitos

Você precisa dos seguintes componentes para usar este agente de IA.

Componentes do Harmony

Você deve ter uma licença do Jitterbit Harmony com acesso aos seguintes componentes:

Endpoints suportados

O agente de IA se conecta aos seguintes endpoints. Você pode acomodar outros sistemas modificando as configurações de endpoint e fluxos de trabalho do projeto.

Modelo de linguagem grande (LLM)

O agente de IA usa Azure OpenAI como provedor de LLM. Para usar o Azure OpenAI, você deve ter uma assinatura do Microsoft Azure com permissões para criar um recurso do Azure OpenAI com um modelo implantado.

Sistema CRM

O agente busca contas, oportunidades, tipos de cotação, listas de preços e produtos, além de criar cotações e itens de linha de cotação no Salesforce. Para usar o Salesforce, você deve ter uma conta do Salesforce configurada para OAuth 2.0 de duas pernas com permissões para ler e gravar registros de cotação, item de linha de cotação, oportunidade e conta.

O agente também requer que o recurso Quotas esteja ativado na organização Salesforce (Setup > Quote Settings > Enable Quotes) e o pacote gerenciado Standard Quote API instalado para gerar PDFs de cotação. Para instruções de instalação, consulte Instalar o pacote gerenciado do Salesforce.

Plataforma de mensagens

O agente usa Slack como sua interface conversacional. Para usar o Slack, você deve ter um espaço de trabalho do Slack com um aplicativo Slack configurado para receber e responder a mensagens. Para instruções detalhadas sobre como criar um aplicativo Slack, consulte Criar um aplicativo Slack.

Cloud Datastore

O agente usa o Cloud Datastore para manter registros autorizados de usuários do Slack e histórico de conversas e sessões em dois armazenamentos principais (consulte Configurar o Cloud Datastore). O Cloud Datastore faz parte da plataforma Jitterbit Harmony e não requer uma conta de serviço separada, mas o número de armazenamentos de chaves disponíveis depende do nível do Cloud Datastore adquirido por sua organização.

Prompts do agente

O Sales Quote Agent recebe todas as solicitações como mensagens em linguagem natural, principalmente enviadas através do aplicativo Slack. Esta seção descreve as regras para prompts eficazes e fornece exemplos de prompts.

Diretrizes de prompt

Siga estas diretrizes ao enviar mensagens para o agente:

  • Inclua o nome da conta Salesforce no seu prompt inicial. O agente usa isso para buscar a conta e suas oportunidades no Salesforce.
  • Para aplicar um percentual de aumento, inclua o percentual no seu prompt (por exemplo, com um aumento de 5%).
  • Para criar uma cotação de renovação de vários anos, especifique o número de anos no seu prompt. O agente aplica lógica de rateio e sequenciamento multianual com base em termos de contrato históricos.
  • Após o prompt inicial, o agente o orienta na seleção de um tipo de cotação, lista de preços e produtos antes de criar a cotação.
  • Revise e confirme os detalhes da cotação quando solicitado antes de o agente gerar o PDF da cotação.

Exemplos de prompts

Os exemplos de prompts a seguir mostram os tipos de prompts que o agente pode processar. Substitua {Account Name} pelo nome da conta Salesforce.

Geração de cotação

Use estes prompts para começar a gerar uma cotação de vendas para uma conta:

Prompts

  • Generate quote for {Account Name}
  • Create quote for {Account Name} with a 5% uplift
  • Create a 3-year renewal quote for {Account Name} with a 5% uplift

Instalação, configuração e operação

Siga estas etapas para instalar, configurar e operar este agente de IA:

  1. Baixar e instalar o projeto
  2. Criar recursos do Microsoft Azure
  3. Criar o aplicativo Slack
  4. Instalar o pacote gerenciado Salesforce
  5. Configurar Cloud Datastore
  6. Configurar variáveis do projeto
  7. Testar conexões
  8. Implementar o projeto
  9. Criar a API personalizada Jitterbit
  10. Revisar fluxos de trabalho do projeto
  11. Acionar os fluxos de trabalho do projeto

Para orientação sobre solução de problemas, consulte Solução de problemas.

Baixar e instalar o projeto

Siga estas etapas para instalar o projeto do Studio para o agente de IA:

  1. Faça login no portal do Harmony em https://login.jitterbit.com e abra Marketplace.

  2. Localize o agente de IA chamado Jitterbit Sales Quote Agent. Para localizar o agente, use a barra de pesquisa ou, no painel Filters, em Type, selecione AI Agent para limitar a exibição aos agentes de IA.

  3. Clique no link Documentation do agente para abrir a documentação em uma guia separada. Mantenha a guia aberta para consultá-la depois de iniciar o projeto.

  4. Clique em Start Project para abrir um diálogo de configuração em duas etapas.

    Nota

    Se você ainda não adquiriu o agente de IA, Get agent é exibido. Clique nele para abrir um diálogo informativo e, em seguida, clique em Submit para que um representante entre em contato com você sobre a compra do agente de IA.

  5. Na etapa de configuração 1, Download Customizations, baixe o arquivo de manifesto do aplicativo Slack fornecido. Você usará este arquivo ao criar o aplicativo Slack.

  6. Clique em Next.

  7. Na etapa de configuração 2, Create a New Project, selecione um ambiente onde o projeto do Studio será criado e, em seguida, clique em Create Project.

  8. Após o diálogo de progresso indicar que o projeto foi criado, use o link do diálogo Go to Studio ou abra o projeto diretamente na página Projects do Studio.

Criar recursos do Microsoft Azure

Crie os seguintes recursos do Microsoft Azure e anote as informações para configurar o agente de IA. Para criar e gerenciar esses recursos, é necessário ter uma assinatura do Microsoft Azure com as permissões apropriadas.

É necessário criar um recurso do Azure OpenAI e implementar um modelo através do portal do Azure AI Foundry.

Anote o nome da implementação, a URL do endpoint e a chave de API. Digite esses valores ao configurar as variáveis do projeto.

Para encontrar esses valores, siga estas etapas:

  1. No portal do Azure AI Foundry, abra o recurso específico do OpenAI.

  2. Na página de inicialização do recurso, copie a URL do endpoint (para a variável do projeto azure_openai_base_url) e a chave de API (para a variável do projeto azure_openai_api_key).

  3. No menu de navegação, em Shared resources, selecione Deployments. Copie o nome da implementação (para a variável do projeto Azure_OpenAI_Deployment_Name).

Criar o aplicativo Slack

Para ativar a interface Slack do agente, siga estas etapas:

  1. Crie um aplicativo Slack usando o arquivo de manifesto baixado em Baixar e instalar o projeto. O manifesto pré-configura o usuário bot, escopos OAuth e subscrições de eventos para o Sales Quote Agent. Instale o aplicativo no seu workspace Slack.

  2. Obtenha o token do bot e mantenha-o para a variável do projeto bot_oauth_user_token.

Instalar o pacote gerenciado do Salesforce

O agente gera PDFs de cotação usando uma classe Apex REST fornecida pelo pacote gerenciado do Salesforce Standard Quote API desbloqueado. Instale este pacote em sua organização Salesforce antes de implantar o projeto.

Antes de instalar o pacote, habilite o recurso Quotes em sua organização Salesforce acessando Setup > Quote Settings e habilitando quotes. A instalação falhará se este recurso não estiver habilitado.

Para instalar o pacote, use um dos seguintes métodos:

Após a instalação, anote os IDs de modelo para seus modelos de PDF de cotação. Você os insere ao revisar o fluxo de trabalho Tool - Generate Quote Pdf.

Configurar Cloud Datastore

O agente usa dois armazenamentos de chave do Cloud Datastore para gerenciar usuários autorizados e histórico de conversas e sessões:

Armazenamento de chave Objetivo
Bot Authorized Users Mantém registros de usuários Slack autorizados.
Quoting Q and A Mantém histórico de conversas e sessões, incluindo dados de cotação em andamento, para cada usuário Slack.

Para cada armazenamento de chave, siga estas etapas:

  1. Crie o armazenamento de chave com o nome e os campos personalizados especificados abaixo.
  2. Na guia Components do projeto Studio em Endpoints, localize cada atividade do Cloud Datastore associada a esse armazenamento. As atividades não possuem prefixo com o nome do armazenamento; em vez disso, identifique-as pela função: atividades como Query All Users, Create User Session e Update User Session usam o armazenamento Bot Authorized Users, e atividades como Insert QA, Query Conversation History By Session Id e Delete Old Conversation History of User usam o armazenamento Quoting Q and A. Clique duas vezes em cada atividade para abri-la, atribua o nome do armazenamento e salve.

Bot Authorized Users

Crie um armazenamento de chave denominado Bot Authorized Users. Os campos Key, AlternativeKey e Value estão presentes por padrão. Nenhum campo personalizado é necessário.

Nome do campo Tipo Descrição
Key Text Insira manualmente. O endereço de e-mail do usuário autorizado a interagir com o agente por meio do bot Slack.
AlternativeKey Text Preenchido automaticamente. A sessão do usuário, gerada durante a execução.
Value Text Insira manualmente. O endereço de e-mail do usuário autorizado a interagir com o agente por meio do bot Slack.

Quoting Q and A

Crie um armazenamento de chave denominado Quoting Q and A. Os campos Key, AlternativeKey e Value estão presentes por padrão. Adicione os seguintes campos personalizados:

Nome do campo Tipo Descrição
Key Text Preenchido automaticamente. O identificador exclusivo atribuído a uma mensagem.
AlternativeKey Text Preenchido automaticamente. O identificador exclusivo atribuído a uma sessão de chat.
Value Text Não utilizado.
slackChannel Text Preenchido automaticamente. O ID do canal Slack do qual a mensagem é enviada.
User Text Preenchido automaticamente. O nome de usuário Slack do usuário que envia a mensagem.
Email Text Preenchido automaticamente. O endereço de e-mail do usuário que envia a mensagem.
FirstName Text Preenchido automaticamente. O primeiro nome do usuário que envia a mensagem.
LastName Text Preenchido automaticamente. O sobrenome do usuário que envia a mensagem.
UserQuestion Big Text Preenchido automaticamente. A pergunta ou mensagem submetida pelo usuário ao agente.
AIAnswer Big Text Preenchido automaticamente. A resposta gerada pelo agente para a pergunta do usuário.
ai_reformulate_question Big Text Preenchido automaticamente. A pergunta do usuário após ser reformulada ou reformatada pela IA para melhorar a compreensão.
MessageTimestampText Text Preenchido automaticamente. O texto do carimbo de data/hora da mensagem.

Configurar variáveis de projeto

No projeto do Studio instalado do Marketplace, defina valores para as seguintes variáveis de projeto.

Para configurar variáveis de projeto, use o menu de ações do projeto e selecione Variáveis de Projeto para abrir o painel de configuração.

Salesforce

Nome da variável Descrição
SF_Base_URL URL base para a instância do Salesforce.
SF_Client_ID ID do cliente da configuração OAuth 2.0 de 2 pernas da sua conexão Salesforce.
SF_Client_Secret Segredo do cliente da configuração OAuth 2.0 de 2 pernas da sua conexão Salesforce.

Azure OpenAI

Nome da variável Descrição
Azure_OpenAI_Deployment_Name Nome da implantação do modelo Azure OpenAI a usar.
azure_openai_base_url URL do endpoint para o recurso Azure OpenAI.
azure_openai_api_key Chave de API usada para autenticar solicitações ao serviço Azure OpenAI.
Max_Output_Tokens Número máximo de tokens que o LLM pode retornar em uma única resposta.

Cloud Datastore

Nome da variável Descrição
Cloud_Datastore_Access_Token Token de autenticação do Cloud Datastore, obtido na página Tokens de Acesso do Console de Gerenciamento.

Slack

Nome da variável Descrição
bot_oauth_user_token O token do bot do Slack obtido após criar o app Slack, usado para o campo Token OAuth do Usuário do Bot da conexão do Slack.

Testar conexões

Teste as configurações de endpoint para verificar a conectividade usando os valores de variáveis de projeto definidos.

Para testar conexões, acesse a aba Endpoints de projeto e conectores da paleta de componentes de design, passe o mouse sobre cada endpoint e clique em Testar.

Implantar o projeto

Implante o projeto do Studio.

Para implantar o projeto, use o menu de ações do projeto e selecione Implantar.

Criar a API personalizada Jitterbit

Crie uma API personalizada com os seguintes serviços.

Para o manipulador de solicitações do Slack, use estas configurações:

Configuração Valor
Nome do serviço slackBotRequest
Operação Slack Bot Request
Caminho /
Método POST
Tipo de resposta System Variable

Para o manipulador de solicitações genérico, usado por outros aplicativos cliente, como widgets incorporáveis, use estas configurações:

Configuração Valor
Nome do serviço genericApiRequestHandler
Operação Generic API Request Handler
Caminho /agentembedding
Método POST
Tipo de resposta System Variable

Após configurar os serviços, publique a API personalizada. Na configuração do seu app Slack, use a URL do serviço de API resultante para o caminho / como a URL de solicitação para eventos e comandos de barra.

Revisar fluxos de trabalho do projeto

O projeto do Studio contém 12 fluxos de trabalho que implementam a funcionalidade do Sales Quote Agent, organizados em três grupos funcionais.

Ponto de entrada e roteamento

Fluxo de trabalho Descrição
Main Entry - Slack API Request Handler Recebe mensagens recebidas do Slack, mantém registros de usuários autorizados e roteia solicitações para o fluxo de trabalho da lógica de ferramentas.
Main - Generic API Request Handler Recebe solicitações de outros aplicativos cliente, como widgets incorporáveis, e as roteia para o fluxo de trabalho da lógica de ferramentas.
Main - AI Agent Tools Logic Analisa cada solicitação usando o LLM para identificar a função pretendida e invoca o fluxo de trabalho de ferramenta apropriado.
Entrada Principal - Manipulador de Solicitação da API do Slack

Este workflow é acionado pela API personalizada do Jitterbit cada vez que um usuário envia uma mensagem para o bot do Slack. Ele gerencia solicitações recebidas do bot do Slack e mantém registros de usuários autorizados no armazenamento em nuvem Bot Authorized Users, e consulta o armazenamento de chaves Quoting Q and A para o histórico de conversas. Após coletar essas informações, ele passa a solicitação para o workflow Main - AI Agent Tools Logic.

Entrada Principal - Manipulador de Solicitação de API Genérica

Este workflow é acionado pela API personalizada do Jitterbit quando uma solicitação chega de um cliente diferente do Slack, como um widget de chat incorporável. Ele suporta um comando de redefinição de contexto que limpa o histórico de conversas do chamador e, de outra forma, passa a solicitação para o workflow Main - AI Agent Tools Logic usando a mesma lógica de histórico de conversas e busca de usuário que o ponto de entrada do Slack.

Entrada Principal - Lógica de Ferramentas de Agente de IA

Este workflow recebe a solicitação recebida do workflow Main Entry - Slack API Request Handler ou Main - Generic API Request Handler, a analisa usando o LLM para identificar a função pretendida e prepara um payload para invocar o workflow de ferramenta de agente apropriado. Este workflow também gerencia todas as solicitações do LLM e captura as respostas do LLM para uso posterior.

Ferramentas de cotação do Salesforce

Workflow Descrição
Tool - Get SalesForce Account Details Pesquisa detalhes da conta para o nome da conta fornecido no prompt do Slack.
Tool - Get SalesForce Opportunities Busca todas as oportunidades associadas à conta.
Tool - Get Quote Types Busca tipos de registro de cotação disponíveis do Salesforce para o usuário selecionar.
Tool - Generate Quote Cria uma cotação no Salesforce após coletar todas as informações necessárias.
Tool - Get PriceBook List Busca a lista de livros de preços disponíveis do Salesforce.
Tool - Get PricebookProductList Busca a lista de produtos do livro de preços selecionado pelo usuário.
Tool - Insert Quote LineItems Cria itens de linha de cotação no Salesforce, incluindo cálculos de itens de linha de vários anos.
Tool - Generate Quote Pdf Chama um endpoint REST do Apex para gerar o PDF da cotação após confirmação do usuário.
Tool - Obter Detalhes da Conta do SalesForce

Este workflow pesquisa o nome da conta fornecido pelo usuário no prompt do Slack e retorna as informações da conta para o LLM para processamento adicional e resposta ao usuário no Slack.

Tool - Obter Oportunidades do SalesForce

Este workflow busca todas as oportunidades associadas à conta fornecida pelo usuário e retorna a lista para o LLM para processamento adicional e resposta ao usuário no Slack.

Tool - Obter Tipos de Cotação

Este workflow executa uma consulta no objeto RecordType do Salesforce e busca todos os registros do tipo Quote. Esta lista é enviada ao usuário para selecionar um tipo de registro apropriado para a cotação.

Tool - Gerar Cotação

Após o LLM coletar todas as informações necessárias para uma cotação, como nome, datas e percentual de aumento, este workflow cria uma cotação no Salesforce.

Tool - Obter Lista de Livros de Preços

Após a criação de uma cotação, os detalhes do produto devem ser adicionados como itens de linha de cotação. Este workflow busca a lista de livros de preços disponíveis do Salesforce e fornece a lista ao LLM para compartilhar com o usuário para seleção.

Tool - Obter Lista de Produtos do Livro de Preços

Este workflow busca a lista de produtos do livro de preços selecionado pelo usuário e retorna a lista para o LLM compartilhar com o usuário. O usuário então seleciona os produtos para adicionar à cotação.

Ferramenta - Inserir LineItems de Cotação

Depois que o usuário seleciona e compartilha a lista de produtos, o LLM realiza cálculos para preparar line items para cenários multi-ano, se necessário. Os line items multi-ano são então fornecidos como entrada para este fluxo de trabalho para gerar os line items de cotação no Salesforce.

Ferramenta - Gerar PDF de Cotação

Após os line items de cotação serem criados, o LLM pede ao usuário para revisar e confirmar a geração do PDF da cotação. Após a confirmação, este fluxo de trabalho chama um endpoint da REST API do Salesforce que aciona um script Apex para gerar o PDF da cotação.

Este fluxo de trabalho executa o script Set_templateID para definir IDs de template do Salesforce e, em seguida, seleciona o ID de template de PDF apropriado no script Main - Generate Quote Pdf com base na linha de produto da cotação (se o tipo de cotação é uma cotação eBridge ou uma cotação Jitterbit padrão), na presença de uma data de início de assinatura e se o termo inicial é maior ou menor que 12 meses. Defina os IDs de template obtidos quando você instalou o pacote gerenciado do Salesforce no script Set_templateID e ajuste a lógica de seleção no script Main - Generate Quote Pdf conforme necessário para os templates de cotação da sua organização.

Utilitários

Fluxo de trabalho Descrição
Utilitário - Cloud Datastore de Chat do Bot Contém todas as operações do Cloud Datastore usadas no projeto, incluindo consulta e atualização de registros.
Utilitário - Cloud Datastore de Chat do Bot

Este fluxo de trabalho é uma coleção de todas as operações do Cloud Datastore usadas no projeto, incluindo consulta e atualização de registros nos armazenamentos de chave Usuários Autorizados do Bot e Perguntas e Respostas sobre Cotações.

Disparar os fluxos de trabalho do projeto

O Agente de Cotação de Vendas é disparado por mensagens recebidas do aplicativo Slack conectado ao fluxo de trabalho Main Entry - Slack API Request Handler. Não é necessário executar manualmente uma operação para iniciar o agente; o aplicativo Slack controla o disparo automaticamente quando os usuários enviam mensagens.

Solução de problemas

Se encontrar problemas, revise os seguintes logs para obter informações detalhadas sobre solução de problemas:

Para obter assistência adicional, contate o suporte da Jitterbit.