Ir para o conteúdo

Agente de Vendas Jitterbit

Visão Geral

O Agente de Vendas Jitterbit (Agente de Vendas) é um agente de IA fornecido através do Jitterbit Marketplace que tem como objetivo capacitar a equipe interna de Vendas da sua organização. Este agente utiliza a técnica de Geração Aumentada por Recuperação (RAG), que combina o raciocínio de LLM com acesso a ferramentas externas e fontes de dados. Ele faz o seguinte:

  • Conecta-se ao NetSuite e Salesforce para buscar pedidos de vendas, preços e dados de clientes em tempo real usando o Jitterbit Studio.
  • Integra-se com o Azure OpenAI para alimentar um chatbot inteligente de Agente de Vendas acessado via uma API personalizada criada com o Jitterbit API Manager.

Este documento explica a configuração e operação do agente. Primeiro, cobre a arquitetura e os pré-requisitos, em seguida fornece exemplos de comandos para mostrar o que o agente pode fazer, e por fim apresenta passos para instalar, configurar e operar o agente.

Arquitetura do agente de IA

O diagrama a seguir ilustra a arquitetura implementada no Agente de Vendas:

--- config: flowchart: curve: 'monotoneX' padding: 25 --- graph classDef default fill:white, stroke:black, stroke-width:3px, rx:15px, ry:15px SLACK_BOT(fab:fa-slack
Slack bot) GENERIC_UI_APP(
Generic UI app) JB_APIM_A((
Jitterbit API Manager
custom API)) JB_APIM_B((
Jitterbit API Manager
custom API)) MAIN_ENTRY(Main Entry - Slack API Request Handler workflow) GENERIC_API_RH(Generic API Request Handler workflow) MAIN(Main - AI Agent Tools Logic workflow) AUTH_UTIL@{ shape: delay, label: "Authorization utility" } AUTH_WF[Utility - User Authorization and Session workflow] HISTORY_CONTEXT_UTIL@{ shape: delay, label: "History context utility" } INSERT_QUERY_QA_HIST_WF[Utility - Bot Chat History Storage workflow] TOOLS_ROUTER_OP[Tools Router operation] DECISION@{ shape: diamond, label: "Identify which function is called based on LLM response" } CUSTOMER_LOOKUP_TOOL@{ shape: delay, label: "Customer lookup tool" } CUSTOMER_LIST_WF[Tool - Customer Lookup workflow] PRICING_TOOL@{ shape: delay, label: "Pricing tool" } PRICING_DETAILS_WF[Tool - Pricing Sheets workflow] ORDER_FORM_TOOL@{ shape: delay, label: "Order form tool" } ORDER_FORM_DETAILS_WF[Tool - Customer Order Details workflow] FUNCTION_RESPONSE_TO_OPENAI[Function response to Azure Open AI] FUNCTION_RESPONSE[Function response] subgraph BOUNDARY[**Sales agent architecture**] LLM_NAT_LANG_REPLY[LLM-crafted natural-language reply] AZURE_OPENAI[ Azure Open AI] subgraph CHATBOT_UI_APPS[Chatbot UI apps] SLACK_BOT GENERIC_UI_APP end subgraph JB_AI[ **Jitterbit Studio project**] JB_APIM_A JB_APIM_B MAIN_ENTRY GENERIC_API_RH MAIN DECISION TOOLS_ROUTER_OP subgraph GROUP2[ ] HISTORY_CONTEXT_UTIL AUTH_UTIL ORDER_FORM_TOOL PRICING_TOOL CUSTOMER_LOOKUP_TOOL end subgraph GROUP3[ ] CUSTOMER_LIST_WF PRICING_DETAILS_WF ORDER_FORM_DETAILS_WF AUTH_WF end subgraph GROUP4[ ] FUNCTION_RESPONSE --> FUNCTION_RESPONSE_TO_OPENAI FUNCTION_RESPONSE_TO_OPENAI -->|Store Q and A| INSERT_QUERY_QA_HIST_WF end end end SLACK_BOT --User question--> JB_APIM_A GENERIC_UI_APP -->|User question| JB_APIM_B JB_APIM_A --> MAIN_ENTRY --> MAIN JB_APIM_B --> GENERIC_API_RH --> MAIN MAIN --> HISTORY_CONTEXT_UTIL MAIN ----> AUTH_UTIL --> AUTH_WF MAIN --> DECISION --> TOOLS_ROUTER_OP HISTORY_CONTEXT_UTIL --> INSERT_QUERY_QA_HIST_WF TOOLS_ROUTER_OP --> ORDER_FORM_TOOL ORDER_FORM_TOOL --> ORDER_FORM_DETAILS_WF ORDER_FORM_DETAILS_WF --> FUNCTION_RESPONSE TOOLS_ROUTER_OP --> PRICING_TOOL PRICING_TOOL --> PRICING_DETAILS_WF PRICING_DETAILS_WF --> FUNCTION_RESPONSE TOOLS_ROUTER_OP --> CUSTOMER_LOOKUP_TOOL CUSTOMER_LOOKUP_TOOL --> CUSTOMER_LIST_WF CUSTOMER_LIST_WF --> FUNCTION_RESPONSE FUNCTION_RESPONSE_TO_OPENAI ---->|REST call| AZURE_OPENAI AZURE_OPENAI -->|Response| FUNCTION_RESPONSE_TO_OPENAI CHATBOT_UI_APPS --- LLM_NAT_LANG_REPLY LLM_NAT_LANG_REPLY --- FUNCTION_RESPONSE_TO_OPENAI classDef Clear fill:white, stroke:white, stroke-width:0px classDef Plain fill:white, stroke:black, stroke-width:3px, rx:15px, ry:15px classDef BoundaryStyle fill:white, stroke-width:0px, rx:15px, ry:15px class CHATBOT_UI_APPS,JB_AI Plain class GROUP2,GROUP3,GROUP4 Clear class BOUNDARY BoundaryStyle

Pré-requisitos

Para usar o Agente de Vendas, os seguintes componentes são necessários ou assumidos no design do agente.

Componentes do Harmony

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

Recursos do Azure

Você deve ter uma assinatura do Microsoft Azure com permissões para criar e gerenciar os seguintes recursos:

  • Armazenamento do Azure com um contêiner Blob para armazenar detalhes dos clientes.
  • Pesquisa AI do Azure com um serviço de pesquisa que pode ser configurado com um índice e indexador.
  • Azure OpenAI com um modelo gpt-4o ou gpt-4.1 implantado.

Dica

Para selecionar faixas de preços com base em seus requisitos específicos e uso antecipado, consulte faixas de preços do Azure AI Search e preços do Azure OpenAI.

Endpoints suportados

Os seguintes endpoints estão incorporados ao design do agente, mas outros sistemas podem ser acomodados modificando as configurações de endpoint e fluxos de trabalho do projeto:

  • NetSuite: A fonte dos formulários de pedido de clientes.
  • Salesforce: A fonte das contas de clientes e preços de produtos.
  • Slack: A interface de chat para interagir com o agente.

Se você quiser usar um aplicativo diferente como interface de chat, um fluxo de trabalho separado e instruções para uma configuração de API genérica estão incluídos neste agente de IA.

Exemplos de prompts

Aqui estão exemplos de prompts que o Agente de Vendas pode lidar com acesso aos dados apropriados:

Perguntas de Consulta de Clientes

  • "Mostre-me todos os clientes na Califórnia."
  • "Quais clientes estão baseados em Sydney?"

Perguntas sobre Formulário de Pedido / Detalhes de Licenciamento

  • "Quais produtos a Acme Corp comprou?"
  • "Quantos 'Produto X' a ByteTech GmbH está licenciada?"
  • "Você pode me dar os detalhes do pedido da AcmeCloud Ltd?"
  • "Qual é a duração da assinatura para a Zento Systems?"

Consulta de Preços de Produtos ou Planos

  • "Qual é o preço do 'Produto X' em USD?"
  • "Quanto custa a assinatura Profissional?"
  • "Qual plano de assinatura permite 10 ambientes?"
  • "Você pode calcular o custo para 15 'Produto X' e 4 'Produto Y'?"

Consultas sobre Proprietário da Conta

  • "Quem gerencia a Acme Corp?"
  • "Quais clientes são de jsmith@abc.com?"
  • "Mostre os clientes atendidos por David Brown no Texas."
  • "Liste as contas gerenciadas por Grace no Reino Unido."

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

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

  1. Baixar personalizações e instalar o projeto.
  2. Revisar fluxos de trabalho do projeto.
  3. Criar recursos do Microsoft Azure.
  4. Preparar o Jitterbit Cloud Datastore.
  5. Configurar variáveis do projeto.
  6. Testar conexões.
  7. Implantar o projeto.
  8. Criar a API personalizada do Jitterbit.
  9. Criar o aplicativo Slack, testar a conexão Slack e reimplantar o projeto.
  10. Acionar os fluxos de trabalho do projeto.

Baixar personalizações e instalar o projeto

Siga estas etapas para baixar arquivos de personalização e instalar o projeto do Studio para o agente de IA:

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

  2. Localize o agente de IA chamado Jitterbit Sales Agent. Para localizar o agente, você pode usar a barra de pesquisa ou, no painel Filtros, sob Tipo, selecione Agente de IA para limitar a exibição aos agentes de IA disponíveis.

  3. Clique no link Documentação do agente de IA para abrir sua documentação em uma nova aba. Mantenha a aba aberta para consultar após iniciar o projeto.

  4. Clique em Iniciar Projeto para abrir um diálogo de configuração em duas etapas para baixar personalizações e importar o agente de IA como um projeto do Studio.

    Nota

    Se você ainda não adquiriu o agente de IA, Adquirir este agente será exibido em vez disso. Clique nele para abrir um diálogo informativo, em seguida, clique em Enviar para que um representante entre em contato com você sobre a compra do agente de IA.

  5. Na etapa de configuração 1, Baixar Personalizações, os seguintes arquivos são fornecidos para facilitar a configuração do índice e do indexador no Azure AI Search e para criar o aplicativo Slack. Selecione os arquivos e clique em Baixar Arquivos:

    • Arquivos de definição JSON do índice e indexador do Azure AI Search

      • Azure_AI_Search_Datasource_Definition.json
      • Azure_AI_Search_Index_Definition.json
      • Azure_AI_Search_Indexer_Definition.json
    • Arquivo de manifesto do aplicativo Slack

      • slack_app_manifest.json

    Dica

    O diálogo de configuração inclui um aviso para não importar o modelo antes de aplicar as personalizações do endpoint. Esse aviso não se aplica a este agente de IA e pode ser ignorado. Siga a ordem recomendada de etapas nesta documentação.

    Clique em Próximo.

  6. Na etapa de configuração 2, Criar um Novo Projeto, selecione um ambiente onde o projeto do Studio será criado, e clique em Criar Projeto.

  7. Um diálogo de progresso será exibido. Assim que indicar que o projeto foi criado, use o link do diálogo Ir para o Studio ou abra o projeto diretamente na página Projetos do Studio.

Revisar fluxos de trabalho do projeto

No projeto do Studio aberto, revise os fluxos de trabalho juntamente com as descrições abaixo para entender o que eles fazem. As descrições abaixo observam onde você poderia substituir o sistema modificando as configurações de endpoint e os fluxos de trabalho do projeto.

  1. Utilitário - Fazer Upload de Formulários de Pedido de Cliente para o Azure

    Este fluxo de trabalho automatiza o processamento de formulários de pedido, extraindo detalhes do NetSuite, fazendo upload de documentos para o Azure Blob Storage e indexando-os no índice do Azure AI Search.

    Este fluxo de trabalho deve ser executado primeiro para carregar todos os dados de clientes ativos, tornando os detalhes dos clientes disponíveis para o agente de IA. A execução do fluxo de trabalho é descrita em Acionar os fluxos de trabalho do projeto mais adiante nesta página.

    Se os dados do formulário de pedido de cliente da sua organização estiverem em um sistema diferente do NetSuite, você deve modificar as operações do fluxo de trabalho para substituir os componentes específicos do NetSuite pelos do seu endpoint.

  2. Entrada Principal - Manipulador de Solicitações da API do Slack

    Este fluxo de trabalho gerencia as solicitações de bot do Slack recebidas e verifica a autorização do usuário. Ele é acionado via uma API personalizada do Jitterbit toda vez que sua equipe de Vendas interage com a interface de chat do bot do Slack (ou seja, envia uma mensagem Slack para ele). A configuração da API personalizada do Jitterbit é descrita em Criar a API personalizada do Jitterbit mais adiante nesta página.

    Se você não estiver usando o Slack, este fluxo de trabalho pode ser ignorado e não será acionado. Para usar uma interface de chat diferente para sua equipe de Vendas interagir, utilize o fluxo de trabalho Generic API Request Handler, também acionado via uma API personalizada do Jitterbit.

  3. Main - Lógica das Ferramentas do Agente de IA

    Após receber a autorização do usuário a partir do fluxo de trabalho Main Entry - Slack API Request Handler ou Generic API Request Handler, este fluxo de trabalho gerencia solicitações de chamada de função para o modelo de linguagem grande (LLM), tomando decisões sobre qual ferramenta executar com base na resposta do LLM. Existem três chamadas principais de ferramentas:

    1. Customer_Order_Function: Esta ferramenta aborda consultas de usuários sobre formulários de pedidos de clientes, invocando a operação Main - Get Customer Order Form Details dentro do fluxo de trabalho Tool-Customer Order Details.

    2. Pricing_Function: Esta ferramenta aborda consultas de usuários sobre preços de produtos, invocando a operação Main - Pricing Sheet dentro do fluxo de trabalho Tool-Pricing Sheets.

    3. Customer_Lookup_By_Location_Function: Esta ferramenta aborda consultas de usuários para obter clientes por localização ou proprietário da conta, invocando a operação Main - Customer Lookup dentro do fluxo de trabalho Tool - Customer Lookup.

  4. Tool-Customer Order Details

    Este fluxo de trabalho recupera detalhes de pedidos de clientes do NetSuite.

    Para usar um endpoint diferente do NetSuite, crie uma nova operação para recuperar formulários de pedidos do sistema e atribua os resultados à variável global extractedContent global variable. Em seguida, acione a nova operação a partir da operação Main - Get Customer Order Form Details.

  5. Tool-Pricing Sheets

    Este fluxo de trabalho recupera preços de produtos do Salesforce.

    Na configuração da atividade de consulta do Salesforce, a seguinte consulta recupera informações de preços de produtos por agente. Se sua organização Salesforce não usar esses objetos e campos, ou se as informações de preços de produtos estiverem armazenadas em objetos/campos diferentes, este fluxo de trabalho não funcionará corretamente. Nesse caso, o agente não poderá responder a perguntas sobre preços. Personalize a consulta neste fluxo de trabalho para alinhar-se ao modelo de dados da sua organização Salesforce:

    SELECT Product2.Description,
           Product2.Family,
           Product2.ProductCode,
           CurrencyIsoCode,
           Name,
           UnitPrice,
           Pricebook2.Name,
           Id
    FROM   PricebookEntry
    WHERE  IsDeleted = false
           AND IsArchived = false
           AND IsActive = true
           AND Pricebook2.IsActive = true
           AND Pricebook2.IsDeleted = false
           AND Pricebook2.IsArchived = false
           AND Product2.IsActive = true
           AND Product2.IsDeleted = false
           AND Product2.IsArchived = false
           AND CurrencyIsoCode = '{{ currencycode }}'
    ORDER BY Name
    

    Para usar um endpoint diferente do Salesforce, crie uma nova operação para recuperar os preços dos produtos do sistema e atribua os resultados à variável global pricing_sheet. Em seguida, acione a nova operação a partir da operação Main - Pricing Sheet.

  6. Ferramenta - Consulta de Clientes

    Este fluxo de trabalho recupera clientes do Salesforce.

    Na configuração da atividade de Consulta do Salesforce, a seguinte consulta recupera informações da conta do cliente. Se sua organização Salesforce usar campos ou objetos diferentes para os detalhes do cliente, personalize esta consulta neste fluxo de trabalho conforme necessário:

    SELECT Id,
           BillingCity,
           BillingCountry,
           BillingState,
           Name
    FROM   Account
    WHERE  Type = 'Customer'
    

    Para usar um endpoint diferente do Salesforce, crie uma nova operação para recuperar clientes do sistema e atribua os resultados à variável global extractedContent. Em seguida, acione a nova operação a partir da operação Main - Customer Lookup.

  7. Utilitário - Obter Todos os Proprietários de Conta

    Este fluxo de trabalho recupera proprietários de contas do Salesforce.

    Na configuração da atividade de Consulta do Salesforce, a seguinte consulta recupera os proprietários de contas (nome e email) para todas as contas do tipo Cliente ou Parceiro. Se sua organização Salesforce usar tipos de conta diferentes ou campos personalizados para classificar contas, personalize esta consulta neste fluxo de trabalho conforme necessário:

    SELECT OwnerId,
           Owner.Email,
           Owner.Name
    FROM   Account
    WHERE  Type IN ('Customer', 'Partner')
    

    Para usar um endpoint diferente do Salesforce, crie uma nova operação para recuperar proprietários de contas do sistema e atribua os resultados à variável Account_Owner_List. Em seguida, acione a nova operação a partir da operação Main - Get Owner List.

  8. Utilitário - Autorização e Sessão do Usuário

    Este fluxo de trabalho gerencia a autorização e a sessão do usuário. Ele usa Jitterbit Cloud Datastore para manter uma lista de usuários autorizados e suas sessões ativas.

Para configurar este fluxo de trabalho com um armazenamento de dados alternativo ou mecanismo de autorização para gerenciar o acesso e as sessões dos usuários, modifique as operações do fluxo de trabalho conforme necessário.

  1. Utilitário - Armazenamento do Histórico de Chat do Bot

    Este fluxo de trabalho gerencia o armazenamento do histórico de chat do bot, que é essencial para fornecer contexto de memória aos LLMs. Ele utiliza o Jitterbit Cloud Datastore para esse fim.

    Para integrar com outras soluções de armazenamento de dados para armazenar e recuperar o histórico de chat, modifique as operações do fluxo de trabalho conforme necessário.

  2. Manipulador de Solicitações de API Genérico

    Este fluxo de trabalho processa solicitações de API HTTP de qualquer aplicativo. Para integrar com seus aplicativos, crie uma API Jitterbit personalizada que acione a operação Manipulador de Solicitações de API Genérico. A URL dessa API pode então ser usada por qualquer aplicativo para enviar e receber solicitações.

    A configuração da API Jitterbit personalizada é descrita em Criar a API personalizada do Jitterbit mais adiante nesta página.

Criar recursos do Microsoft Azure

Crie os seguintes recursos do Microsoft Azure e mantenha as seguintes informações para configurar o agente de IA. Para criar e gerenciar esses recursos, você deve ter uma assinatura do Microsoft Azure com as permissões apropriadas.

Contêiner Blob do Azure

Você deve criar um contêiner Blob do Azure para armazenar os detalhes dos clientes. Os dados do contêiner Blob serão indexados no Azure AI Search usando um índice e um indexador.

Você precisará da URL SAS do contêiner para usar na determinação dos valores das variáveis do projeto de Armazenamento Blob do Azure. Para gerar a URL SAS:

  1. No portal do Azure, navegue até Contas de armazenamento e abra a conta de armazenamento específica.
  2. No menu de recursos sob Armazenamento de dados, selecione Contêineres e abra o contêiner específico.
  3. No menu de recursos sob Configurações, selecione Tokens de acesso compartilhado.
  4. Use o menu Permissões para verificar se a URL da assinatura de acesso compartilhado (SAS) para este contêiner possui, no mínimo, permissões de Leitura e Gravação:

Permissões de URL SAS

  1. Clique em Gerar token e URL SAS.
  2. Copie o Blob SAS URL exibido na parte inferior.
  3. Determine os valores das variáveis do projeto do Azure Blob Storage a partir do URL SAS. O URL SAS está no formato {{ azure_blob_base_url }}/{{ Azure_Customer_Details_Container }}?{{ azure_customer_detail_blob_sig }}.

Se estiver usando os arquivos de definição JSON incluídos nos arquivos de personalização do agente de IA para gerar o índice e o indexador, você também precisará da chave da conta do Azure Blob Storage. Para visualizar as chaves de acesso da conta:

  1. No portal do Azure, navegue até Contas de armazenamento e abra a conta de armazenamento específica.
  2. No menu de recursos sob Segurança + rede, selecione Chaves de acesso.
  3. Clique em Mostrar chaves para revelar a chave de acesso a ser usada durante a configuração do Azure AI Search.

Chaves da conta de armazenamento

Serviço Azure AI Search

Você deve criar um serviço Azure AI Search e configurar seu índice e indexador para processar os dados do contêiner Blob.

Você precisará da URL e da chave da API do serviço Azure AI Search para determinar os valores das variáveis do projeto Azure AI Search:

Você pode usar os arquivos de definição JSON incluídos nos arquivos de personalização do agente de IA para gerar o índice e o indexador, ou pode criá-los você mesmo.

Se você estiver usando os arquivos de definição fornecidos, deve substituir os seguintes espaços reservados pelos seus próprios valores de configuração:

Azure_AI_Search_Indexer_Definition.json

Espaço Reservado Descrição
{{Seu Nome do Serviço de Pesquisa Azure AI}} O nome do serviço de pesquisa Azure AI.

Azure_AI_Search_Datasource_Definition.json

Espaço Reservado Descrição
{{Seu Nome do Serviço de Pesquisa Azure AI}} O nome do serviço de pesquisa Azure AI.
{{Seu Nome da Conta de Blob Azure}} O nome da conta de Blob Azure.
{{Sua Chave de Conta de Blob Azure}} A chave de acesso para a conta de Armazenamento Blob Azure, obtida conforme descrito em contêiner Blob Azure acima.
{{seu_nome_do_contêiner_blob_azure}} O nome do contêiner Blob Azure.

Recurso Azure OpenAI

Você deve criar um recurso Azure OpenAI e implantar um modelo gpt-4o ou gpt-4.1 através do portal Azure AI Foundry.

Você precisará do nome da implantação, URL do endpoint Azure OpenAI e chave da API para determinar os valores das variáveis do projeto Azure OpenAI. Para encontrar esses valores:

  1. No portal Azure AI Foundry, abra o recurso OpenAI específico.
  2. Os valores a serem usados para a URL do endpoint (azure_openai_base_url) e chave da API (azure_openai_api_key) são exibidos na página inicial do recurso:

    Chave e URL do AI Foundry

  3. No menu de navegação sob Recursos compartilhados, selecione Implantações. O nome da implantação (Azure_OpenAI_Deployment_Name) é exibido.

Preparar o Jitterbit Cloud Datastore

Crie dois armazenamentos de chave no Jitterbit Cloud Datastore, Bot_Authorized_Users e askjb_sales_q_and_a, cujos campos têm os nomes e tipos listados nas tabelas abaixo.

Ao adicionar campos personalizados, use as tabelas abaixo para determinar se cada um deve ser alternado para Obrigatório na interface do usuário do Cloud Datastore. Os campos AlternativeKey e Value são campos padrão que não podem ser removidos ou alternados.

Após adicionar campos personalizados, adicione um registro de armazenamento de chave para cada usuário que será autorizado a usar o bot do agente de IA. Você deve definir manualmente os valores marcados nas tabelas abaixo. Você pode deixar em branco os valores dos campos cujos valores são preenchidos automaticamente ou não são utilizados.

Bot_Authorized_Users

Este armazenamento de chave contém a lista de usuários autorizados e suas sessões. Você deve inserir manualmente os endereços de email dos usuários que estão autorizados a acessar o bot do agente de IA.

Nome Tipo Obrigatório Definição do valor Descrição
Key Texto Sim Inserir manualmente O endereço de email do usuário autorizado a interagir com o agente de IA via o bot do Slack. Este valor é inserido manualmente.
AlternativeKey Texto Não Preenchido automaticamente A sessão do usuário será gerada automaticamente durante a execução. Nenhuma entrada manual é necessária.
Value Texto Não Inserir manualmente O endereço de email do usuário autorizado a interagir com o agente de IA via o bot do Slack. Este valor é inserido manualmente. Embora não seja marcado como um campo obrigatório por padrão, fornecer um valor é necessário para o funcionamento do agente de IA.

askjb_sales_q_and_a

Este armazenamento de chave retém o histórico de chat de um bot para fornecer contexto de memória para o LLM. É utilizado pela integração para armazenar o histórico de perguntas e respostas. Todos os dados são inseridos automaticamente durante a execução da interação.

Nome Tipo Obrigatório Definição do valor Descrição
Key Texto Sim Preenchido automaticamente Especifica o identificador único atribuído a uma mensagem pelo sistema.
AlternativeKey Texto Não Preenchido automaticamente Especifica o identificador único atribuído a uma sessão de chat pelo sistema.
Value Texto Não Não utilizado Não utilizado.
slackChannel Texto Sim Preenchido automaticamente O ID do canal Slack de onde a mensagem é enviada.
User Texto Sim Preenchido automaticamente O nome de usuário do Slack do usuário que envia a mensagem.
FirstName Texto Não Preenchido automaticamente Primeiro nome do usuário que envia a mensagem.
LastName Texto Não Preenchido automaticamente Último nome do usuário que envia a mensagem.
Email Texto Sim Preenchido automaticamente Endereço de email do usuário que envia a mensagem.
MessageTimestampText Texto Sim Preenchido automaticamente O texto do timestamp da mensagem.
UserQuestion Texto Grande Sim Preenchido automaticamente A pergunta ou mensagem submetida pelo usuário ao agente de IA.
AIAnswer Texto Grande Sim Preenchido automaticamente A resposta gerada pelo agente de IA à pergunta do usuário.
ai_reformulate_question Texto Grande Não Preenchido automaticamente A pergunta do usuário após ser reformulada ou reescrita pela IA para melhorar a compreensão.

Configurar variáveis do projeto

No projeto do Studio instalado anteriormente via Marketplace, é necessário definir valores para as seguintes variáveis do projeto.

Isso pode ser feito usando o menu de ações do projeto para selecionar Variáveis do Projeto e abrir um painel na parte inferior da página onde é possível revisar e definir os valores.

Salesforce

Nome da variável Descrição
SF_Login_URL Servidor Host na conexão Salesforce
SF_Password Senha na conexão Salesforce
SF_Security_Token Token de segurança na conexão Salesforce
SF_User_Name Nome de usuário na conexão Salesforce

NetSuite

Nome da variável Descrição
NetSuite_Account Conta na conexão NetSuite
NetSuite_Consumer_Key Chave do consumidor na conexão NetSuite
NetSuite_Consumer_Secret Segredo do consumidor na conexão NetSuite
NetSuite_Base_URL URL base do NetSuite, como https://{{NetSuite_Account}}.suitetalk.api.netsuite.com.
NetSuite_Token_Key Chave do token na conexão NetSuite
NetSuite_Token_Secret Segredo do token na conexão NetSuite

Armazenamento de Blob do Azure

Nome da variável Descrição
Azure_Customer_Details_Container O nome do contêiner de Blob do Azure para armazenar informações de clientes de formulários de pedido.
azure_customer_detail_blob_sig Assinatura da URL SAS para Azure_Customer_Details_Container.
azure_blob_base_url URL base do serviço de contêiner do Azure para Azure_Customer_Details_Container.

Dica

Esses valores podem ser derivados da URL SAS, que está no formato {{azure_blob_base_url}}/{{Azure_Customer_Details_Container}}?{{azure_customer_detail_blob_sig}}.

Nome da variável Descrição
customer_search_index_name O nome do índice do Azure que armazena informações de clientes de formulários de pedido.
Azure_SalesOrders_Customer_Indexer O nome do indexador do Azure que indexa dados de Azure_Customer_Details_Container para o índice customer_search_index_name.
azure_ai_search_url URL base do serviço de pesquisa AI do Azure.
azure_ai_search_api_key Chave da API para o serviço de Pesquisa AI do Azure.

Azure OpenAI

Nome da variável Descrição
Max_Output_Tokens O número máximo de tokens que o LLM pode gerar em uma resposta. GPT-4.1 suporta até 32768 tokens, enquanto GPT-4o suporta até 16384.
Azure_OpenAI_Deployment_Name O nome da implantação para LLM no Azure OpenAI.
azure_openai_base_url URL base do serviço Azure OpenAI.
azure_openai_api_key Chave da API para o serviço Azure OpenAI.

Slack

Nome da variável Descrição
salesorder_slack_bot_token O token do bot do Slack que é obtido após criar o aplicativo Slack, usado para o token de acesso OAuth do usuário Bot na conexão do Slack.

Nota

O aplicativo Slack é criado em uma etapa posterior. Por enquanto, você pode deixar esta variável em branco.

Comum

Nome da variável Descrição
Authorized_User_Admin Nome/email do contato exibido na resposta enviada ao usuário quando ocorre um erro.
Customer_LastOrder_DefaultDate A data padrão (mm/dd/yyyy) a partir da qual os pedidos são extraídos do NetSuite durante a primeira execução ou uma execução histórica quando incrementalRun está definido como false. Por exemplo: 06/01/2004.
Default_Last_Sync_Date Data da última sincronização padrão a ser usada se o valor do cache não estiver disponível.
incrementalRun Quando true, apenas pedidos incrementais (novos ou atualizados) são extraídos do NetSuite. Quando false ou em branco, um histórico completo de pedidos é recuperado a partir da data padrão.
Only_Unexpired_Orders Quando true, apenas os pedidos com nextbilldate maior que a data de hoje serão extraídos do NetSuite.

Testar conexões

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

Isso pode ser feito na aba Endpoints e conectores do projeto do painel de componentes de design, passando o mouse sobre cada endpoint e clicando em Testar.

Implantar o projeto

Implante o projeto do Studio. Isso pode ser feito usando o menu de ações do projeto para selecionar Implantar.

Criar a API personalizada do Jitterbit

Criar uma API personalizada usando o API Manager para um dos seguintes:

Criar o manipulador de solicitações da API do bot Slack

Esta API personalizada do Jitterbit acionará a operação Manipulador de Solicitações da API do Bot Slack. Configure e publique a API personalizada com as seguintes configurações:

  • Serviço da API: Manipulador de Solicitações da API do Bot Slack
  • Caminho: /
  • Projeto: Selecione o projeto do Studio criado a partir do Agente de Vendas Jitterbit no Marketplace
  • Operação a Acionar: Manipulador de Solicitações da API do Bot Slack
  • Método: POST
  • Tipo de Resposta: Variável do Sistema

Mantenha a URL do serviço da API publicada para uso na criação do aplicativo Slack. A URL do serviço pode ser encontrada na gaveta de detalhes da API na aba Serviços, passando o mouse sobre a coluna Ações do serviço e clicando em Copiar URL do serviço da API.

Manipulador de solicitações da API genérica

Esta API personalizada do Jitterbit acionará a operação Generic API request Handler. Não é obrigatório. Crie esta API se você estiver usando outros aplicativos para processar solicitações de API HTTP. Configure e publique a API personalizada com as seguintes configurações:

  • Nome do serviço: Generic API request Handler
  • Projeto: Selecione o projeto do Studio criado a partir do Jitterbit Sales Agent no Marketplace
  • Operação: Generic API request Handler
  • Método: POST
  • Tipo de resposta: System Variable

Dica

Você também pode adicionar um perfil de segurança para autenticação.

Corpo da solicitação
{
    "username": "abc@abc.com",
    "sessionId": "123608",
    "prompt": "Order Forms details for xyz"
}
Resposta
{
   "message": "Based on order forms, here are the complete order details: ...",
   "status_code": 200
}

Crie o aplicativo Slack, teste a conexão e reimplante o projeto

Para criar a interface de chat do Sales Agent no Slack, crie um aplicativo Slack usando o arquivo de manifesto do aplicativo Slack fornecido com os arquivos de personalização deste agente de IA. Ou, crie-o do zero.

Se estiver usando o arquivo de manifesto do aplicativo Slack fornecido (slack_app_manifest.json), você deve substituir os seguintes espaços reservados pelos seus próprios valores de configuração:

Espaço reservado Descrição
{{Substitua pelo nome do bot Slack}} O nome que você deseja que seu bot Slack tenha, conforme exibido para os usuários. Existem dois locais no manifesto onde você deve substituir este valor.
{{Substitua pela URL da API Jitterbit}} A URL do serviço da API personalizada do Jitterbit que você criou em Crie o manipulador de solicitações da API do bot Slack.

Após instalar o aplicativo Slack, obtenha seu token de bot.

Reabra a configuração das variáveis do projeto e insira o token de bot no valor da variável do projeto salesorder_slack_bot_token.

Uma vez que o token de bot esteja configurado, teste a conexão com o Slack e reimplante o projeto.

Acionar os fluxos de trabalho do projeto

Para o carregador de dados inicial, execute a operação no primeiro fluxo de trabalho, Utility-Upload Customer Order Forms to Azure. Isso pode ser feito usando a opção Executar da operação, que é exibida ao passar o mouse sobre a operação. Você precisará executar a operação novamente no futuro se seus dados forem atualizados.

Dica

Você pode querer colocar essa operação em um cronograma para obter dados atualizados regularmente. Isso pode ser feito no menu de ações da operação em Configurações > Cronogramas.

Os outros dois principais fluxos de trabalho são acionados pelas APIs personalizadas do Jitterbit:

  • Main Entry - Slack API Request Handler: Este fluxo de trabalho é acionado a partir do Slack via a API personalizada Slack Bot API Request Handler. Enviar uma mensagem direta para o aplicativo Slack iniciará o acionamento da API personalizada.

  • Generic API Request Handler: Este fluxo de trabalho é acionado a partir de outro aplicativo via a API personalizada Generic API Request Handler. Enviar uma solicitação para a API configurada iniciará o acionamento da API personalizada.

Todos os outros fluxos de trabalho são acionados por outras operações e estão a jusante das listadas acima. Eles não são destinados a serem executados sozinhos.

Solução de Problemas

Revise os logs da API e os logs da operação para informações detalhadas de solução de problemas.

Para assistência adicional, entre em contato com o suporte do Jitterbit.