Agente de Vendas Jitterbit
Visão geral
A Jitterbit fornece o Agente de Vendas aos clientes através do Jitterbit Marketplace. Este agente foi desenvolvido para permitir que o time interno de Vendas da sua organização funcione de forma mais eficiente. O agente usa 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 realiza o seguinte:
- Conecta-se ao NetSuite e Salesforce para buscar pedidos de vendas em tempo real, preços e dados de clientes usando Jitterbit Studio.
- Integra-se com um LLM para potencializar um chatbot de Agente de Vendas inteligente acessado por meio de uma API personalizada criada com Jitterbit API Manager.
Este documento explica como configurar e operar este agente de IA. Aborda a arquitetura e pré-requisitos, exemplos de prompts que mostram o que o agente pode fazer, e etapas para instalar, configurar e operar o agente de IA.
Arquitetura do agente de IA
O diagrama a seguir retrata a arquitetura implementada no Agente de Vendas:
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 componentes a seguir 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:
- Jitterbit Studio
- Jitterbit API Manager
- Jitterbit Sales Agent adquirido como um complemento de licença
- Jitterbit Cloud Datastore (opcional)
Endpoints suportados
Os endpoints a seguir estão incorporados ao design do agente, mas outros sistemas podem ser acomodados modificando as configurações de endpoint e workflows 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 e gerenciar o Azure OpenAI com um modelo gpt-4o implantado.
Dica
Para selecionar níveis de preço com base em seus requisitos específicos e uso previsto, consulte Preços do Azure OpenAI.
Interface de chat
O design do agente incorpora o Slack como a interface de chat para interagir com o agente de IA.
NetSuite
O agente conecta-se ao NetSuite como a fonte principal para formulários de pedidos de clientes. A integração permite que o agente recupere, atualize ou valide dados de pedidos em tempo real durante as interações do usuário.
Salesforce
O agente usa o Salesforce para gerenciar contas de clientes e preços de produtos. Essa integração fornece ao agente os dados atuais necessários para gerar cotações precisas e detalhes de contas.
Exemplos de prompts
Aqui estão exemplos de prompts que o Agente de Vendas pode processar com acesso aos dados apropriados:
Perguntas sobre Pesquisa de Clientes
- "Mostre-me todos os clientes na Califórnia."
- "Quais clientes estão baseados em Sydney?"
Perguntas sobre Detalhes de Formulário de Pedido / Licenciamento
- "Quais produtos a Acme Corp comprou?"
- "Quantas licenças de 'Produto X' a ByteTech GmbH possui?"
- "Você pode me fornecer os detalhes do pedido da AcmeCloud Ltd?"
- "Qual é a duração da assinatura da Zento Systems?"
Perguntas sobre Preços de Produtos ou Planos
- "Qual é o preço do 'Produto X' em USD?"
- "Quanto custa a assinatura Professional?"
- "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 responsabilidade de jsmith@abc.com?"
- "Mostre 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:
- Baixe as personalizações e instale o projeto Studio.
- Crie recursos do Microsoft Azure.
- Crie o app Slack.
- Prepare o Jitterbit Cloud Datastore.
- Configure variáveis do projeto.
- Teste as conexões.
- Implante o projeto.
- Crie a API customizada do Jitterbit.
- Revise os fluxos de trabalho do projeto.
- Dispare os fluxos de trabalho do projeto.
Baixe as personalizações e instale o projeto
Siga estas etapas para baixar arquivos de personalização e instalar o projeto Studio:
-
Faça login no portal Harmony em https://login.jitterbit.com e abra Marketplace.
-
Localize o agente de IA chamado Jitterbit Sales Agent. Para localizá-lo, você pode usar a barra de pesquisa ou, no painel Filtros em Tipo, selecione AI Agent para limitar a exibição aos agentes de IA disponíveis.
-
Clique no link Documentação do agente de IA para abrir sua documentação em uma aba separada. Mantenha a aba aberta para consultar depois de iniciar o projeto.
-
Clique em Start Project para abrir um diálogo de configuração em duas etapas para baixar personalizações e importar o agente de IA como um projeto Studio.
Nota
Se você ainda não adquiriu o agente de IA, será exibido Get agent. Clique nele para abrir um diálogo informativo e clique em Submit para que um representante entre em contato para discutir a compra do agente de IA.
-
Na etapa de configuração 1, Download Customizations, os seguintes arquivos são fornecidos para facilitar a configuração do índice e do indexador no Azure AI Search e criar o app Slack. Selecione os arquivos e clique em Download Files:
-
Arquivos de definição JSON do índice e indexador do Azure AI Search
Azure_AI_Search_Datasource_Definition.jsonAzure_AI_Search_Index_Definition.jsonAzure_AI_Search_Indexer_Definition.json
-
Arquivo de manifesto do app Slack
slack_app_manifest.json
Dica
O diálogo de configuração inclui um aviso para não importar o template antes de aplicar personalizações de endpoint. Esse aviso não se aplica a este agente de IA e pode ser ignorado. Siga a ordem de etapas recomendada nesta documentação.
Clique em Next.
-
-
Na etapa de configuração 2, Create a New Project, selecione um ambiente onde deseja criar o projeto Studio e clique em Create Project.
-
Um diálogo de progresso é exibido. Depois que indicar que o projeto foi criado, use o link do diálogo Go to Studio ou abra o projeto diretamente na página Projetos do Studio.
Crie recursos do Microsoft Azure
Crie os seguintes recursos do Microsoft Azure e retenha 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 do Azure Blob
Você deve criar um contêiner do Azure Blob para armazenar detalhes dos clientes. Os dados do contêiner do Blob serão indexados no Azure AI Search usando um índice e indexador.
Você precisará da URL SAS do contêiner para usar na determinação dos valores das variáveis do projeto de Armazenamento de Blob do Azure. Para gerar a URL SAS:
- No portal do Azure, navegue para Contas de armazenamento e abra a conta de armazenamento específica.
- No menu de recursos em Armazenamento de dados, selecione Contêineres e abra o contêiner específico.
- No menu de recursos em Configurações, selecione Tokens de acesso compartilhado.
- Use o menu Permissões para verificar se a URL de assinatura de acesso compartilhado (SAS) deste contêiner tem no mínimo permissões de Leitura e Gravação:

- Clique em Generate SAS token and URL.
- Copie a Blob SAS URL exibida na parte inferior.
- Determine os valores das variáveis do projeto Azure Blob Storage a partir da URL SAS. A 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 indexador, você também precisará da chave de conta do Azure Blob Storage. Para visualizar chaves de acesso da conta:
- No portal do Azure, navegue até Contas de armazenamento e abra a conta de armazenamento específica.
- No menu de recursos em Security + networking, selecione Access keys.
-
Clique em Show keys para revelar a chave de acesso a ser usada durante a configuração do Azure AI Search.

Serviço Azure AI Search
É necessário 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 chave de API do serviço Azure AI Search para determinar os valores das variáveis do projeto Azure AI Search:
- URL: Para obter o valor a ser usado para
azure_ai_search_url, consulte a documentação do Azure Get service information. - Chave de API: Para obter o valor a ser usado para
azure_ai_search_api_key, consulte a documentação do Azure Configure role-based access.
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 indexador, ou criá-los você mesmo.
Se estiver usando os arquivos de definição fornecidos, é necessário 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 |
|---|---|
{{Your Azure AI Search Service Name}} |
O nome do serviço Azure AI Search. |
Azure_AI_Search_Datasource_Definition.json
| Espaço reservado | Descrição |
|---|---|
{{Your Azure AI Search Service Name}} |
O nome do serviço Azure AI Search. |
{{Your Azure Blob Account Name}} |
O nome da conta Azure Blob. |
{{Your Azure Blob Account Key}} |
A chave de acesso da conta Azure Blob Storage, obtida conforme descrito em Contêiner Azure Blob acima. |
{{your_azure_blob_container_name}} |
O nome do contêiner Azure Blob. |
Recurso Azure OpenAI
É necessário 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 ponto de extremidade do Azure OpenAI e chave de API para determinar os valores das variáveis do projeto Azure OpenAI. Para encontrar estes valores:
- No portal do Azure AI Foundry, abra o recurso específico do OpenAI.
-
Os valores a usar para a URL do endpoint (
azure_openai_base_url) e a chave da API (azure_openai_api_key) são exibidos na página inicial do recurso:
-
No menu de navegação em Recursos compartilhados, selecione Implantações. O nome da implantação (
Azure_OpenAI_Deployment_Name) é exibido.
Criar o app do Slack
Para criar a interface de chat do Agente de Vendas no Slack, siga estas etapas:
-
Crie um app do Slack usando o arquivo de manifesto do app do Slack (
slack_app_manifest.json) fornecido com os arquivos de personalização deste agente de IA. Como alternativa, crie o app do zero. -
Se você usar o arquivo de manifesto fornecido, substitua os seguintes espaços reservados pelos seus próprios valores de configuração:
Espaço reservado Descrição {{Replace with Slack bot name}}O nome que você deseja que seu bot do Slack tenha, conforme exibido aos usuários. Substitua esse valor em dois locais no manifesto. {{Replace with Jitterbit API URL}}A URL do serviço da API personalizada do Jitterbit que você criou em Criar a API personalizada do Jitterbit. -
Instale o app no seu workspace do Slack.
-
Obtenha o token do bot (para o campo Bot User OAuth Token da conexão do Slack) e insira seu valor para a variável de projeto
slack_bot_oauth_user_token. -
Configure a variável de projeto
slack_channel_namecom o canal para o qual as notificações devem ser enviadas. -
Insira o valor do token do bot para a variável de projeto
slack_bot_oauth_user_tokene o nome do canal para a variável de projetoslack_channel_name. Você configurará essas variáveis na próxima etapa.
Preparar o Jitterbit Cloud Datastore
Crie dois armazenamentos de chaves no Jitterbit Cloud Datastore, Bot_Authorized_Users e askjb_sales_q_and_a. Os campos Key, AlternativeKey e Value estão presentes por padrão. Adicione os campos personalizados com os nomes e tipos listados nas tabelas abaixo.
Depois de adicionar os campos personalizados, adicione um registro de armazenamento de chaves para cada usuário autorizado a usar o bot do agente de IA. Você deve definir manualmente os valores marcados nas tabelas abaixo. Deixe em branco os valores dos campos cujos valores são preenchidos automaticamente ou não utilizados.
Bot_Authorized_Users
Este armazenamento de chaves contém a lista de usuários autorizados e suas sessões. Você deve inserir manualmente os endereços de e-mail dos usuários autorizados a acessar o bot do agente de IA. Nenhum campo personalizado é necessário.
| Nome do campo | Tipo | Descrição |
|---|---|---|
Key |
Texto | Insira manualmente. O endereço de e-mail do usuário autorizado a interagir com o agente de IA através do bot do Slack. |
AlternativeKey |
Texto | Preenchido automaticamente. A sessão do usuário, gerada durante a execução. Nenhuma entrada manual é necessária. |
Value |
Texto | Insira manualmente. O endereço de e-mail do usuário autorizado a interagir com o agente de IA através do bot do Slack. Fornecer um valor é necessário para o agente de IA funcionar. |
askjb_sales_q_and_a
Este armazenamento de chaves retém o histórico de chat de um bot para fornecer contexto de memória para o LLM. É usado 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. Adicione os seguintes campos personalizados:
| Nome do campo | Tipo | Descrição |
|---|---|---|
Key |
Texto | Preenchido automaticamente. Especifica o identificador único atribuído a uma mensagem pelo sistema. |
AlternativeKey |
Texto | Preenchido automaticamente. Especifica o identificador único atribuído a uma sessão de chat pelo sistema. |
Value |
Texto | Não utilizado. |
slackChannel |
Texto | Preenchido automaticamente. A ID do canal do Slack do qual a mensagem é enviada. |
User |
Texto | Preenchido automaticamente. O nome de usuário do Slack do usuário que envia a mensagem. |
FirstName |
Texto | Preenchido automaticamente. Primeiro nome do usuário que envia a mensagem. |
LastName |
Texto | Preenchido automaticamente. Último nome do usuário que envia a mensagem. |
Email |
Texto | Preenchido automaticamente. Endereço de e-mail do usuário que envia a mensagem. |
MessageTimestampText |
Texto | Preenchido automaticamente. O texto do timestamp da mensagem. |
UserQuestion |
Texto grande | Preenchido automaticamente. A pergunta ou mensagem enviada pelo usuário ao agente de IA. |
AIAnswer |
Texto grande | Preenchido automaticamente. A resposta gerada pelo agente de IA para a pergunta do usuário. |
ai_reformulate_question |
Texto grande | Preenchido automaticamente. A pergunta do usuário após ser reformulada ou refraseada 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.
Para configurar variáveis do projeto, use o menu de ações do projeto para selecionar Variáveis do Projeto. Isso abre um painel na parte inferior da página onde você pode revisar e definir os valores.
Salesforce
| Nome da variável | Descrição |
|---|---|
SF_Login_URL |
Server 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 |
Azure Blob Storage
| Nome da variável | Descrição |
|---|---|
Azure_Customer_Details_Container |
O nome do contêiner Azure Blob para armazenar informações de clientes de formulários de pedidos. |
azure_customer_detail_blob_sig |
Assinatura de URL SAS para Azure_Customer_Details_Container. |
azure_blob_base_url |
URL base do serviço de contêiner Azure para Azure_Customer_Details_Container. |
Dica
É possível derivar esses valores da URL SAS, que está no formato {{azure_blob_base_url}}/{{Azure_Customer_Details_Container}}?{{azure_customer_detail_blob_sig}}.
Azure AI Search
| Nome da variável | Descrição |
|---|---|
customer_search_index_name |
O nome do índice do Azure que armazena as informações do cliente a partir de formulários de pedidos. |
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 Azure AI Search. |
azure_ai_search_api_key |
Chave de API do serviço Azure AI Search. |
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 oferece suporte a até 32768 tokens, enquanto GPT-4o oferece suporte a até 16384. |
Azure_OpenAI_Deployment_Name |
O nome da implantação do LLM no Azure OpenAI. |
azure_openai_base_url |
URL base do serviço Azure OpenAI. |
azure_openai_api_key |
Chave de API do serviço Azure OpenAI. |
Slack
| Nome da variável | Descrição |
|---|---|
salesorder_slack_bot_token |
O token do bot do Slack obtido após criar o app do Slack, usado para o Bot user OAuth access token na conexão do Slack. |
Nota
O app do Slack é criado em uma etapa posterior. Por enquanto, você pode deixar essa variável em branco.
Comum
| Nome da variável | Descrição |
|---|---|
Authorized_User_Admin |
Nome do contato/email 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 de última sincronização padrão a ser usada se o valor em 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, o histórico completo de pedidos é recuperado 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 das variáveis de projeto definidas.
Para testar as conexões, acesse a guia Endpoints de projeto e conectores na 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 para selecionar Implantar.
Criar a API personalizada do Jitterbit
Crie uma API personalizada usando o API Manager para um dos seguintes:
- Manipulador de solicitações de API de bot do Slack: Obrigatório se estiver usando a notificação do Slack incluída no design deste agente de IA.
- Manipulador de solicitações de API genérica: Opcional. Use para processar solicitações de API de qualquer aplicação.
Criar o manipulador de solicitações de API de bot do Slack
Esta API personalizada do Jitterbit acionará a operação Slack Bot API Request Handler. Configure e publique a API personalizada com as seguintes configurações:
- Serviço de API:
Slack Bot API Request Handler - Caminho:
/ - Projeto: Selecione o projeto do Studio criado a partir do
Jitterbit Sales Agentno Marketplace - Operação a acionar:
Slack Bot API Request Handler - Método:
POST - Tipo de resposta:
System Variable
Retenha a URL do serviço da API publicada para uso na criação do app do Slack. A URL do serviço pode ser encontrada na gaveta de detalhes da API na guia Serviços, passando o mouse sobre a coluna Ações do serviço e clicando em Copiar URL do serviço de API.
Manipulador de solicitações de API genérica
Esta API personalizada do Jitterbit acionará a operação Generic API request Handler. Não é obrigatório. Crie esta API se estiver usando outras aplicações 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 Agentno 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.
{
"username": "abc@abc.com",
"sessionId": "123608",
"prompt": "Order Forms details for xyz"
}
{
"message": "Based on order forms, here are the complete order details: ...",
"status_code": 200
}
Revisar workflows do projeto
No projeto Studio aberto, revise os workflows junto com as descrições abaixo para entender o que fazem. As descrições abaixo indicam onde você poderia substituir o sistema modificando as configurações de endpoints e os workflows do projeto.
-
Utility-Upload Customer Order Forms to Azure
Este workflow automatiza o processamento de formulários de pedidos extraindo detalhes do NetSuite, fazendo upload de documentos para o Azure Blob Storage e indexando-os no índice do Azure AI Search.
Este workflow deve ser executado primeiro para carregar todos os dados de clientes ativos, disponibilizando os detalhes dos clientes para o agente de IA. A execução do workflow é descrita em Trigger the project workflows mais adiante nesta página.
Se os dados do formulário de pedido do cliente da sua organização estiverem em um sistema diferente do NetSuite, você deve modificar as operações do workflow para substituir os componentes específicos do NetSuite pelos do seu endpoint.
-
Main Entry - Slack API Request Handler
Este workflow gerencia solicitações de bot do Slack recebidas e verifica a autorização do usuário. É acionado por meio de uma API customizada do Jitterbit cada vez que sua equipe de Vendas interage com a interface do chat do bot do Slack (ou seja, envia uma mensagem do Slack para ele). A configuração da API customizada do Jitterbit é descrita em Create the Jitterbit custom API mais adiante nesta página.
Se você não estiver usando Slack, este workflow pode ser ignorado e não será acionado. Para usar uma interface de chat diferente para sua equipe de Vendas interagir, use o workflow
Generic API Request Handler, também acionado por meio de uma API customizada do Jitterbit. -
Main - AI Agent Tools Logic
Após receber autorização do usuário de um dos workflows
Main Entry - Slack API Request HandlerouGeneric API Request Handler, este workflow 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. Há três chamadas de ferramentas principais:-
Customer_Order_Function: Esta ferramenta responde consultas de usuários sobre formulários de pedidos de clientes invocando a operação
Main - Get Customer Order Form Detailsdentro do workflowTool-Customer Order Details. -
Pricing_Function: Esta ferramenta responde consultas de usuários sobre preços de produtos invocando a operação
Main - Pricing Sheetdentro do workflowTool-Pricing Sheets. -
Customer_Lookup_By_Location_Function: Esta ferramenta responde consultas de usuários para obter clientes por localização ou proprietário da conta invocando a operação
Main - Customer Lookupdentro do workflowTool - Customer Lookup.
-
-
Tool-Customer Order Details
Este workflow 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. Em seguida, acione a nova operação a partir da operaçãoMain - Get Customer Order Form Details. -
Tool-Pricing Sheets
Este workflow recupera preços de produtos do Salesforce.
Na configuração da atividade Salesforce Query, a consulta a seguir 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 workflow não funcionará corretamente. Nesse caso, o agente não poderá responder perguntas sobre preços. Personalize a consulta neste workflow 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 NamePara usar um endpoint diferente do Salesforce, crie uma nova operação para recuperar preços de produtos do sistema e atribua os resultados à variável global
pricing_sheet. Em seguida, acione a nova operação a partir da operaçãoMain - Pricing Sheet. -
Tool - Customer Lookup
Este fluxo de trabalho recupera clientes do Salesforce.
Na configuração da atividade Salesforce Query, a consulta a seguir recupera informações de conta de cliente. Se sua organização Salesforce utiliza campos ou objetos diferentes para detalhes de clientes, customize 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çãoMain - Customer Lookup. -
Utility - Get All Account Owners
Este fluxo de trabalho recupera proprietários de contas do Salesforce.
Na configuração da atividade Salesforce Query, a consulta a seguir recupera proprietários de contas (nome e email) para todas as contas do tipo
CustomerouPartner. Se sua organização Salesforce utiliza tipos de conta diferentes ou campos personalizados para classificar contas, customize 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çãoMain - Get Owner List. -
Utility-User Authorization And Session
Este fluxo de trabalho gerencia a autorização de usuário e a sessão. Ele usa o 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 de usuários, modifique as operações do fluxo de trabalho conforme apropriado.
-
Utility - Bot Chat History Storage
Este fluxo de trabalho gerencia o armazenamento do histórico de chat do bot, essencial para fornecer contexto de memória aos LLMs. Para isso, ele aproveita o Jitterbit Cloud Datastore.
Para integrar com outras soluções de armazenamento de dados para armazenar e recuperar histórico de chat, modifique as operações do fluxo de trabalho conforme apropriado.
-
Generic API Request Handler
Este fluxo de trabalho processa solicitações HTTP API de qualquer aplicativo. Para integrar com seus aplicativos, crie uma API Jitterbit customizada que acione a operação
Generic API request Handler. A URL dessa API pode ser utilizada por qualquer aplicativo para enviar e receber solicitações.A configuração da API Jitterbit customizada é descrita em Create the Jitterbit custom API mais adiante nesta página.
Trigger the project workflows
Para o carregamento inicial de dados, execute a operação no primeiro fluxo de trabalho, Utility-Upload Customer Order Forms to Azure. Isso pode ser feito usando a opção Run da operação 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 esta operação em um schedule para obter dados atualizados regularmente. Isso pode ser feito no menu ações da operação em Settings > Schedules.
Os outros dois fluxos de trabalho principais são acionados pelas APIs Jitterbit customizadas:
-
Main Entry - Slack API Request Handler: Este fluxo de trabalho é acionado a partir do Slack via a API customizadaSlack Bot API Request Handler. Enviar uma mensagem direta para o app Slack acionará o disparo da API customizada. -
Generic API Request Handler: Este fluxo de trabalho é acionado a partir de outro aplicativo via a API customizadaGeneric API request Handler. Enviar uma solicitação para a API configurada acionará o disparo da API customizada.
Todos os outros fluxos de trabalho são acionados por outras operações e são downstream daqueles listados acima. Eles não se destinam a ser executados por conta própria.
Solução de problemas
Se encontrar problemas, consulte os logs a seguir para obter informações detalhadas de solução de problemas:
Para obter assistência adicional, entre em contato com o suporte da Jitterbit.