Zum Inhalt springen

Jitterbit Sales Agent

Übersicht

Jitterbit stellt den Sales Agent Kunden über den Jitterbit Marketplace zur Verfügung. Dieser Agent soll das interne Vertriebsteam Ihrer Organisation unterstützen. Der Agent nutzt die Retrieval-Augmented Generation (RAG)-Technik, die LLM-Reasoning mit Zugriff auf externe Tools und Datenquellen kombiniert. Er führt folgende Aufgaben aus:

  • Verbindung zu NetSuite und Salesforce, um Echtzeitdaten zu Verkaufsaufträgen, Preisen und Kundendaten mit Jitterbit Studio abzurufen.
  • Integration mit einem LLM zur Bereitstellung eines intelligenten Sales Agent-Chatbots, auf den über eine mit Jitterbit API Manager erstellte benutzerdefinierte API zugegriffen wird.

Dieses Dokument erklärt die Einrichtung und den Betrieb dieses KI-Agenten. Es behandelt Architektur und Voraussetzungen, Beispiel-Prompts, die zeigen, was der Agent kann, sowie Schritte zur Installation, Konfiguration und zum Betrieb des KI-Agenten.

KI-Agent-Architektur

Das folgende Diagramm zeigt die im Sales Agent implementierte Architektur:

--- config: themeVariables: lineColor: '#6b7280' edgeLabelBackground: '#f5f5f5' 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

Voraussetzungen

Für die Verwendung des Sales Agent sind folgende Komponenten erforderlich oder im Design des Agenten vorgesehen.

Harmony-Komponenten

Sie benötigen eine Jitterbit Harmony-Lizenz mit Zugriff auf folgende Komponenten:

Unterstützte Endpunkte

Die folgenden Endpunkte sind im Design des Agenten enthalten, aber andere Systeme können durch Änderung der Endpunktkonfigurationen und Workflows des Projekts unterstützt werden.

Large Language Model (LLM)

Der KI-Agent verwendet Azure OpenAI als LLM-Anbieter. Um Azure OpenAI zu verwenden, benötigen Sie ein Microsoft Azure-Abonnement mit Berechtigungen zur Erstellung und Verwaltung von Azure OpenAI mit einem bereitgestellten gpt-4o-Modell.

Tipp

Um Preisstufen basierend auf Ihren spezifischen Anforderungen und erwarteten Nutzungen zu wählen, beachten Sie Azure OpenAI-Preise.

Chat-Schnittstelle

Das Design des Agenten nutzt Slack als Chat-Schnittstelle für die Interaktion mit dem KI-Agenten.

NetSuite

Der Agent verbindet sich mit NetSuite als primäre Quelle für Kundenauftragsformulare. Die Integration ermöglicht es dem Agenten, Auftragsdaten in Echtzeit während Benutzerinteraktionen abzurufen, zu aktualisieren oder zu validieren.

Salesforce

Der Agent nutzt Salesforce, um Kundenkonten und Produktpreise zu verwalten. Diese Integration versorgt den Agenten mit aktuellen Daten, die erforderlich sind, um genaue Angebote und Kontodaten zu generieren.

Beispiel-Prompts

Hier sind Beispiel-Prompts, die der Sales Agent mit Zugriff auf die entsprechenden Daten bearbeiten kann:

Kundensuch-Fragen

  • „Zeige mir alle Kunden in Kalifornien."
  • „Welche Kunden haben ihren Sitz in Sydney?"

Auftragsformular / Lizenzdetails-Fragen

  • „Welche Produkte hat Acme Corp gekauft?"
  • „Wie viele ‚Product X' ist ByteTech GmbH lizenziert?"
  • „Kannst du mir die Auftragsdetails für AcmeCloud Ltd geben?"
  • „Wie lange ist das Abonnement für Zento Systems?"

Produktpreis- oder Tarifanfragen

  • „Wie hoch ist der Preis von ‚Product X' in USD?"
  • „Wie viel kostet das Professional-Abonnement?"
  • „Welcher Abonnement-Plan ermöglicht 10 Umgebungen?"
  • „Kannst du die Kosten für 15 ‚Product X' und 4 ‚Product Y' berechnen?"

Kontoverantwortliche-Anfragen

  • „Wer verwaltet Acme Corp?"
  • „Welche Kunden werden von jsmith@abc.com verwaltet?"
  • „Zeige Kunden, die von David Brown in Texas betreut werden."
  • „Liste Konten auf, die von Grace in Großbritannien verwaltet werden."

Installation, Konfiguration und Betrieb

Befolgen Sie diese Schritte, um diesen KI-Agenten zu installieren, zu konfigurieren und zu betreiben:

  1. Anpassungen herunterladen und das Projekt installieren.
  2. Microsoft Azure-Ressourcen erstellen.
  3. Slack-App erstellen.
  4. Jitterbit Cloud Datastore vorbereiten.
  5. Projektvariablen konfigurieren.
  6. Verbindungen testen.
  7. Projekt bereitstellen.
  8. Benutzerdefinierte Jitterbit-API erstellen.
  9. Projekt-Workflows überprüfen.
  10. Projekt-Workflows auslösen.

Anpassungen herunterladen und das Projekt installieren

Befolgen Sie diese Schritte, um Anpassungsdateien herunterzuladen und das Studio-Projekt zu installieren:

  1. Melden Sie sich beim Harmony-Portal unter https://login.jitterbit.com an und öffnen Sie Marketplace.

  2. Suchen Sie den KI-Agenten namens Jitterbit Sales Agent. Um den Agenten zu finden, können Sie die Suchleiste verwenden oder im Bereich Filter unter Typ die Option KI-Agent auswählen, um die Anzeige auf die verfügbaren KI-Agenten zu beschränken.

  3. Klicken Sie auf den Link Dokumentation des KI-Agenten, um dessen Dokumentation in einem neuen Tab zu öffnen. Halten Sie den Tab offen, um später darauf zu verweisen.

  4. Klicken Sie auf Projekt starten, um einen zweistufigen Konfigurationsdialog zu öffnen, um Anpassungen herunterzuladen und den KI-Agenten als Studio-Projekt zu importieren.

    Hinweis

    Wenn Sie den KI-Agenten noch nicht erworben haben, wird stattdessen Agent abrufen angezeigt. Klicken Sie darauf, um einen Informationsdialog zu öffnen, und klicken Sie dann auf Senden, um einen Vertreter zu bitten, Sie zum Kauf des KI-Agenten zu kontaktieren.

  5. In Konfigurationsschritt 1, Anpassungen herunterladen, werden die folgenden Dateien bereitgestellt, um die Einrichtung des Index und des Indexers in Azure AI Search sowie die Erstellung der Slack-App zu erleichtern. Wählen Sie die Dateien aus und klicken Sie auf Dateien herunterladen:

    • Azure AI Search-Index- und Indexer-JSON-Definitionsdateien

      • Azure_AI_Search_Datasource_Definition.json
      • Azure_AI_Search_Index_Definition.json
      • Azure_AI_Search_Indexer_Definition.json
    • Slack-App-Manifestdatei

      • slack_app_manifest.json

    Tipp

    Der Konfigurationsdialog enthält eine Warnung, die Vorlage nicht zu importieren, bevor Endpunkt-Anpassungen angewendet werden. Diese Warnung gilt nicht für diesen KI-Agenten und kann ignoriert werden. Befolgen Sie die empfohlene Schrittfolge in dieser Dokumentation.

    Klicken Sie auf Weiter.

  6. In Konfigurationsschritt 2, Neues Projekt erstellen, wählen Sie eine Umgebung aus, in der Sie das Studio-Projekt erstellen möchten, und klicken Sie auf Projekt erstellen.

  7. Ein Fortschrittsdialog wird angezeigt. Nachdem er anzeigt, dass das Projekt erstellt wurde, verwenden Sie den Dialog-Link Zu Studio wechseln oder öffnen Sie das Projekt direkt über die Seite Projekte von Studio.

Microsoft Azure-Ressourcen erstellen

Erstellen Sie die folgenden Microsoft Azure-Ressourcen und behalten Sie die folgenden Informationen bei, um den KI-Agenten zu konfigurieren. Um diese Ressourcen zu erstellen und zu verwalten, benötigen Sie ein Microsoft Azure-Abonnement mit den entsprechenden Berechtigungen.

Azure Blob-Container

Man muss einen Azure Blob-Container erstellen, um Kundendetails zu speichern. Daten aus dem Blob-Container werden mit einem Index und einem Indexer in Azure AI Search indiziert.

Man benötigt die SAS-URL des Containers, um die Werte der Azure Blob Storage-Projektvariablen zu bestimmen. So generiert man die SAS-URL:

  1. Navigieren Sie im Azure-Portal zu Speicherkonten und öffnen Sie das entsprechende Speicherkonto.
  2. Wählen Sie im Ressourcenmenü unter Datenspeicher die Option Container aus und öffnen Sie den gewünschten Container.
  3. Wählen Sie im Ressourcenmenü unter Einstellungen die Option Shared Access Tokens aus.
  4. Verwenden Sie das Menü Berechtigungen, um zu überprüfen, dass die Shared Access Signature (SAS)-URL für diesen Container mindestens die Berechtigungen Lesen und Schreiben hat:

SAS-URL-Berechtigungen

  1. Klicken Sie auf Generate SAS token and URL (SAS-Token und URL generieren).
  2. Kopieren Sie die Blob SAS URL, die unten angezeigt wird.
  3. Bestimmen Sie die Werte der Azure Blob Storage-Projektvariablen aus der SAS-URL. Die SAS-URL hat das Format {{ azure_blob_base_url }}/{{ Azure_Customer_Details_Container }}?{{ azure_customer_detail_blob_sig }}.

Wenn Sie die JSON-Definitionsdateien in den Anpassungsdateien des KI-Agenten verwenden, um den Index und den Indexer zu generieren, benötigen Sie auch den Azure Blob Storage-Kontoschlüssel. Um Kontenzugriffstasten anzuzeigen:

  1. Navigieren Sie im Azure-Portal zu Speicherkonten und öffnen Sie das spezifische Speicherkonto.
  2. Wählen Sie im Ressourcenmenü unter Security + networking (Sicherheit + Netzwerk) die Option Access keys (Zugriffstasten) aus.
  3. Klicken Sie auf Show keys (Tasten anzeigen), um den Zugriffstasten anzuzeigen, der während der Konfiguration von Azure AI Search verwendet werden soll.

    Speicherkontotasten

Azure AI Search-Dienst

Sie müssen einen Azure AI Search-Dienst erstellen und dessen Index und Indexer konfigurieren, um die Daten aus dem Blob-Container zu verarbeiten.

Sie benötigen die URL und den API-Schlüssel des Azure AI Search-Dienstes, um die Werte der Azure AI Search-Projektvariablen zu bestimmen:

  • URL: Um den Wert für azure_ai_search_url zu erhalten, lesen Sie die Azure-Dokumentation Get service information (Dienstinformationen abrufen).
  • API-Schlüssel: Um den Wert für azure_ai_search_api_key zu erhalten, lesen Sie die Azure-Dokumentation Configure role-based access (Rollengestützten Zugriff konfigurieren).

Sie können die JSON-Definitionsdateien in den Anpassungsdateien des KI-Agenten verwenden, um den Index und den Indexer zu generieren, oder Sie können diese selbst erstellen.

Wenn Sie die bereitgestellten Definitionsdateien verwenden, müssen Sie die folgenden Platzhalter durch Ihre eigenen Konfigurationswerte ersetzen:

Azure_AI_Search_Indexer_Definition.json

Platzhalter Beschreibung
{{Your Azure AI Search Service Name}} Der Name des Azure AI Search-Dienstes.

Azure_AI_Search_Datasource_Definition.json

Platzhalter Beschreibung
{{Your Azure AI Search Service Name}} Der Name des Azure AI Search-Dienstes.
{{Your Azure Blob Account Name}} Der Name des Azure Blob-Kontos.
{{Your Azure Blob Account Key}} Der Zugriffstasten für das Azure Blob Storage-Konto, wie in Azure Blob-Container oben beschrieben.
{{your_azure_blob_container_name}} Der Name des Azure Blob-Containers.

Azure OpenAI-Ressource

Sie müssen eine Azure OpenAI-Ressource erstellen und ein gpt-4o- oder gpt-4.1-Modell über das Azure AI Foundry-Portal bereitstellen.

Sie benötigen den Bereitstellungsnamen, die Azure OpenAI-Endpunkt-URL und den API-Schlüssel, um die Werte der Azure OpenAI-Projektvariablen zu bestimmen. Um diese Werte zu finden:

  1. Öffnen Sie im Azure AI Foundry-Portal die spezifische OpenAI-Ressource.
  2. Die Werte für die Endpoint-URL (azure_openai_base_url) und den API-Schlüssel (azure_openai_api_key) werden auf der Landingpage der Ressource angezeigt:

    AI Foundry-Schlüssel und URL

  3. Wählen Sie im Navigationsmenü unter Gemeinsame Ressourcen die Option Bereitstellungen aus. Der Bereitstellungsname (Azure_OpenAI_Deployment_Name) wird angezeigt.

Slack-App erstellen

Führen Sie diese Schritte aus, um die Sales Agent Chat-Oberfläche in Slack zu erstellen:

  1. Erstellen Sie eine Slack-App mit der Slack-App-Manifestdatei (slack_app_manifest.json), die mit den Anpassungsdateien dieses KI-Agenten bereitgestellt wird. Alternativ können Sie die App von Grund auf neu erstellen.

  2. Wenn Sie die bereitgestellte Manifestdatei verwenden, ersetzen Sie die folgenden Platzhalter durch Ihre eigenen Konfigurationswerte:

    Platzhalter Beschreibung
    {{Replace with Slack bot name}} Der Name, den Ihr Slack-Bot haben soll und der Benutzern angezeigt wird. Ersetzen Sie diesen Wert an zwei Stellen im Manifest.
    {{Replace with Jitterbit API URL}} Die Service-URL der Jitterbit Custom API, die Sie unter Jitterbit Custom API erstellen erstellt haben.
  3. Installieren Sie die App in Ihrem Slack-Arbeitsbereich.

  4. Rufen Sie das Bot-Token ab (für das Feld Bot User OAuth Token der Slack-Verbindung) und geben Sie dessen Wert für die Projektvariable slack_bot_oauth_user_token ein.

  5. Konfigurieren Sie die Projektvariable slack_channel_name mit dem Kanal, an den Benachrichtigungen gesendet werden sollen.

  6. Geben Sie den Bot-Token-Wert für die Projektvariable slack_bot_oauth_user_token und den Kanalnamen für die Projektvariable slack_channel_name ein. Sie konfigurieren diese im nächsten Schritt.

Jitterbit Cloud Datastore vorbereiten

Erstellen Sie zwei Schlüsselspeicher in Jitterbit Cloud Datastore: Bot_Authorized_Users und askjb_sales_q_and_a. Die Felder Key, AlternativeKey und Value sind standardmäßig vorhanden. Fügen Sie die benutzerdefinierten Felder hinzu, die die in den folgenden Tabellen aufgeführten Namen und Typen haben.

Nach dem Hinzufügen benutzerdefinierter Felder fügen Sie für jeden Benutzer, der den KI-Agenten-Bot verwenden darf, ein Schlüsselspeicherregister hinzu. Sie müssen die in den folgenden Tabellen markierten Werte manuell definieren. Sie können die Werte von Feldern, deren Werte automatisch ausgefüllt werden oder nicht verwendet werden, leer lassen.

Bot_Authorized_Users

Dieser Schlüsselspeicher enthält die Liste der autorisierten Benutzer und deren Sitzungen. Sie müssen die E-Mail-Adressen von Benutzern, die berechtigt sind, auf den KI-Agenten-Bot zuzugreifen, manuell eingeben. Keine benutzerdefinierten Felder erforderlich.

Feldname Typ Beschreibung
Key Text Manuell eingeben. Die E-Mail-Adresse des Benutzers, der berechtigt ist, mit dem KI-Agenten über den Slack-Bot zu interagieren.
AlternativeKey Text Automatisch ausgefüllt. Die Sitzung für den Benutzer wird während der Ausführung generiert. Keine manuelle Eingabe erforderlich.
Value Text Manuell eingeben. Die E-Mail-Adresse des Benutzers, der berechtigt ist, mit dem KI-Agenten über den Slack-Bot zu interagieren. Ein Wert ist erforderlich, damit der KI-Agent funktioniert.

askjb_sales_q_and_a

Dieser Schlüsselspeicher speichert den Chat-Verlauf eines Bots, um Gedächtniskontext für das LLM bereitzustellen. Er wird von der Integration verwendet, um Frage- und Antwort-Verlauf zu speichern. Alle Daten werden während der Interaktionsausführung automatisch eingegeben. Fügen Sie die folgenden benutzerdefinierten Felder hinzu:

Feldname Typ Beschreibung
Key Text Automatisch ausgefüllt. Gibt die eindeutige Kennung an, die dem System zugewiesen wird.
AlternativeKey Text Automatisch ausgefüllt. Gibt die eindeutige Kennung an, die einem Chat-Session vom System zugewiesen wird.
Value Text Nicht verwendet.
slackChannel Text Automatisch ausgefüllt. Die Slack-Kanal-ID, von der die Nachricht gesendet wird.
User Text Automatisch ausgefüllt. Der Slack-Benutzername des Benutzers, der die Nachricht sendet.
FirstName Text Automatisch ausgefüllt. Vorname des Benutzers, der die Nachricht sendet.
LastName Text Automatisch ausgefüllt. Nachname des Benutzers, der die Nachricht sendet.
Email Text Automatisch ausgefüllt. E-Mail-Adresse des Benutzers, der die Nachricht sendet.
MessageTimestampText Text Automatisch ausgefüllt. Der Zeitstempel der Nachricht.
UserQuestion Big Text Automatisch ausgefüllt. Die Frage oder Nachricht, die der Benutzer dem KI-Agenten übermittelt.
AIAnswer Big Text Automatisch ausgefüllt. Die Antwort, die der KI-Agent auf die Benutzerfrage generiert.
ai_reformulate_question Big Text Automatisch ausgefüllt. Die vom KI-Agenten umformulierte oder umgangssprachlich ausgedrückte Benutzerfrage, um das Verständnis zu verbessern.

Projektvariablen konfigurieren

Im Studio-Projekt, das zuvor über den Marketplace installiert wurde, müssen Sie Werte für die folgenden Projektvariablen festlegen.

Um Projektvariablen zu konfigurieren, verwenden Sie das Aktionsmenü des Projekts, um Projektvariablen auszuwählen. Dies öffnet eine Schublade am unteren Rand der Seite, in der Sie die Werte überprüfen und festlegen können.

Salesforce

Variablenname Beschreibung
SF_Login_URL Server Host in der Salesforce-Verbindung
SF_Password Passwort in der Salesforce-Verbindung
SF_Security_Token Sicherheitstoken in der Salesforce-Verbindung
SF_User_Name Benutzername in der Salesforce-Verbindung

NetSuite

Variablenname Beschreibung
NetSuite_Account Konto in der NetSuite-Verbindung
NetSuite_Consumer_Key Consumer Key in der NetSuite-Verbindung
NetSuite_Consumer_Secret Consumer Secret in der NetSuite-Verbindung
NetSuite_Base_URL NetSuite-Basis-URL, wie z. B. https://{{NetSuite_Account}}.suitetalk.api.netsuite.com.
NetSuite_Token_Key Token Key in der NetSuite-Verbindung
NetSuite_Token_Secret Token Secret in der NetSuite-Verbindung

Azure Blob Storage

Variablenname Beschreibung
Azure_Customer_Details_Container Der Name des Azure Blob-Containers zum Speichern von Kundeninformationen aus Bestellformularen.
azure_customer_detail_blob_sig SAS-URL-Signatur für Azure_Customer_Details_Container.
azure_blob_base_url Azure-Containerdienst-Basis-URL für Azure_Customer_Details_Container.

Tipp

Diese Werte können aus der SAS-URL abgeleitet werden, die das Format {{ azure_blob_base_url }}/{{ Azure_Customer_Details_Container }}?{{ azure_customer_detail_blob_sig }} hat.

Variablenname Beschreibung
customer_search_index_name Der Name des Azure-Index, der Kundeninformationen aus Bestellformularen speichert.
Azure_SalesOrders_Customer_Indexer Der Name des Azure-Indexers, der Daten aus Azure_Customer_Details_Container in den Index customer_search_index_name indiziert.
azure_ai_search_url Basis-URL des Azure AI Search-Diensts.
azure_ai_search_api_key API-Schlüssel für den Azure AI Search-Dienst.

Azure OpenAI

Variablenname Beschreibung
Max_Output_Tokens Die maximale Anzahl von Token, die das LLM in einer Antwort generieren kann. GPT-4.1 unterstützt bis zu 32768 Token, während GPT-4o bis zu 16384 unterstützt.
Azure_OpenAI_Deployment_Name Der Name der Bereitstellung für das LLM in Azure OpenAI.
azure_openai_base_url Basis-URL des Azure OpenAI-Diensts.
azure_openai_api_key API-Schlüssel für den Azure OpenAI-Dienst.

Slack

Variablenname Beschreibung
salesorder_slack_bot_token Das Slack-Bot-Token, das nach dem Erstellen der Slack-App abgerufen wird und für das Bot-Benutzer-OAuth-Zugriffs-Token in der Slack-Verbindung verwendet wird.

Hinweis

Die Slack-App wird in einem späteren Schritt erstellt. Vorerst können Sie diese Variable leer lassen.

Allgemein

Variablenname Beschreibung
Authorized_User_Admin Kontaktname/E-Mail, die in der Antwort an den Benutzer angezeigt wird, wenn ein Fehler auftritt.
Customer_LastOrder_DefaultDate Das Standarddatum (mm/dd/yyyy), ab dem Bestellungen bei der ersten Ausführung oder einer historischen Ausführung aus NetSuite abgerufen werden, wenn incrementalRun auf false gesetzt ist. Beispiel: 06/01/2004.
Default_Last_Sync_Date Standardmäßiges letztes Synchronisierungsdatum, das verwendet wird, wenn der Cache-Wert nicht verfügbar ist.
incrementalRun Wenn true, werden nur inkrementelle (neue oder aktualisierte) Bestellungen aus NetSuite abgerufen. Wenn false oder leer, wird eine vollständige Bestellhistorie ab dem Standarddatum abgerufen.
Only_Unexpired_Orders Wenn true, werden nur Bestellungen mit nextbilldate größer als das heutige Datum aus NetSuite abgerufen.

Verbindungen testen

Testen Sie die Endpunktkonfigurationen, um die Konnektivität mit den definierten Projektvaribablenwerten zu überprüfen.

Um Verbindungen zu testen, rufen Sie die Projektendpunkte und Konnektoren-Registerkarte in der Designkomponentenpalette auf, halten Sie den Mauszeiger über jeden Endpunkt und klicken Sie auf Testen.

Das Projekt bereitstellen

Stellen Sie das Studio-Projekt bereit.

Um das Projekt bereitzustellen, wählen Sie im Aktionsmenü des Projekts die Option Bereitstellen aus.

Erstellen Sie die benutzerdefinierte Jitterbit-API

Erstellen Sie eine benutzerdefinierte API mit API Manager für eine der folgenden Optionen:

Erstellen Sie den Slack-Bot-API-Request-Handler

Diese benutzerdefinierte Jitterbit-API löst den Vorgang Slack Bot API Request Handler aus. Konfigurieren und veröffentlichen Sie die benutzerdefinierte API mit den folgenden Einstellungen:

  • API-Service: Slack Bot API Request Handler
  • Pfad: /
  • Projekt: Wählen Sie das Studio-Projekt aus, das aus dem Jitterbit Sales Agent im Marketplace erstellt wurde
  • Auszulösender Vorgang: Slack Bot API Request Handler
  • Methode: POST
  • Antworttyp: System Variable

Behalten Sie die Service-URL der veröffentlichten API für die Verwendung beim Erstellen der Slack-App bei. Die Service-URL finden Sie in der API-Detailansicht auf der Registerkarte Services, indem Sie den Mauszeiger über die Spalte Aktionen des Service bewegen und API-Service-URL kopieren anklicken.

Generischer API-Request-Handler

Diese benutzerdefinierte Jitterbit-API löst den Vorgang Generic API request Handler aus. Dies ist nicht erforderlich. Erstellen Sie diese API, wenn Sie andere Anwendungen zur Verarbeitung von HTTP-API-Anfragen verwenden. Konfigurieren und veröffentlichen Sie die benutzerdefinierte API mit den folgenden Einstellungen:

  • Servicename: Generic API request Handler
  • Projekt: Wählen Sie das Studio-Projekt aus, das aus dem Jitterbit Sales Agent im Marketplace erstellt wurde
  • Vorgang: Generic API request Handler
  • Methode: POST
  • Antworttyp: System Variable

Tipp

Sie können auch ein Sicherheitsprofil für die Authentifizierung hinzufügen.

Request body
{
    "username": "abc@abc.com",
    "sessionId": "123608",
    "prompt": "Order Forms details for xyz"
}
Response
{
   "message": "Based on order forms, here are the complete order details: ...",
   "status_code": 200
}

Projekt-Workflows überprüfen

Überprüfen Sie die Workflows im offenen Studio-Projekt zusammen mit den folgenden Beschreibungen, um zu verstehen, was sie bewirken. Die folgenden Beschreibungen zeigen auf, wo Sie das System durch Änderung der Endpunktkonfigurationen und Workflows des Projekts ersetzen könnten.

  1. Utility-Upload Customer Order Forms to Azure

    Dieser Workflow automatisiert die Verarbeitung von Bestellformularen, indem er Details aus NetSuite extrahiert, Dokumente in Azure Blob Storage hochlädt und diese im Azure AI Search-Index indiziert.

    Dieser Workflow muss zuerst ausgeführt werden, um alle aktiven Kundendaten zu laden und Kundendetails für den KI-Agent verfügbar zu machen. Die Ausführung des Workflows wird unter Projekt-Workflows auslösen später auf dieser Seite beschrieben.

    Falls sich die Bestellformdaten Ihrer Organisation in einem anderen System als NetSuite befinden, müssen Sie die Operationen des Workflows ändern, um NetSuite-spezifische Komponenten durch die für Ihren Endpunkt vorgesehenen zu ersetzen.

  2. Main Entry - Slack API Request Handler

    Dieser Workflow verwaltet eingehende Slack-Bot-Anfragen und überprüft die Benutzerautorisierung. Er wird jedes Mal über eine benutzerdefinierte Jitterbit-API ausgelöst, wenn Ihr Sales-Team mit der Slack-Bot-Chat-Benutzeroberfläche interagiert (d. h. eine Slack-Nachricht an diesen sendet). Die Konfiguration der benutzerdefinierten Jitterbit-API wird unter Benutzerdefinierte Jitterbit-API erstellen später auf dieser Seite beschrieben.

    Falls Sie Slack nicht verwenden, kann dieser Workflow ignoriert werden und wird nicht ausgelöst. Um eine andere Chat-Benutzeroberfläche für die Interaktion Ihres Sales-Teams zu verwenden, nutzen Sie den Workflow Generic API Request Handler, der ebenfalls über eine benutzerdefinierte Jitterbit-API ausgelöst wird.

  3. Main - AI Agent Tools Logic

    Nach Erhalt der Benutzerautorisierung von entweder dem Workflow Main Entry - Slack API Request Handler oder Generic API Request Handler verwaltet dieser Workflow Funktionsaufrufe an das Large Language Model (LLM) und trifft Entscheidungen darüber, welches Tool basierend auf der Antwort des LLM ausgeführt werden soll. Es gibt drei Hauptfunktionsaufrufe:

    1. Customer_Order_Function: Dieses Tool beantwortet Benutzerabfragen zu Kundenbestellformularen, indem es die Operation Main - Get Customer Order Form Details im Workflow Tool-Customer Order Details aufruft.

    2. Pricing_Function: Dieses Tool beantwortet Benutzerabfragen zur Produktpreisgestaltung, indem es die Operation Main - Pricing Sheet im Workflow Tool-Pricing Sheets aufruft.

    3. Customer_Lookup_By_Location_Function: Dieses Tool beantwortet Benutzerabfragen zum Abrufen von Kunden nach Standort oder Kontoeigentümer, indem es die Operation Main - Customer Lookup im Workflow Tool - Customer Lookup aufruft.

  4. Tool-Customer Order Details

    Dieser Workflow ruft Kundenbestelldetails aus NetSuite ab.

    Um einen anderen Endpunkt als NetSuite zu verwenden, erstellen Sie eine neue Operation zum Abrufen von Bestellformularen aus dem System und weisen Sie die Ergebnisse der globalen Variable extractedContent zu. Lösen Sie dann die neue Operation aus der Operation Main - Get Customer Order Form Details aus.

  5. Tool-Pricing Sheets

    Dieser Workflow ruft Produktpreise aus Salesforce ab.

    In der Konfiguration der Salesforce Query-Aktivität ruft die folgende Abfrage Produktpreisinformationen nach Agent ab. Falls Ihre Salesforce-Organisation diese Objekte und Felder nicht verwendet oder die Produktpreisinformationen in anderen Objekten/Feldern gespeichert sind, funktioniert dieser Workflow nicht ordnungsgemäß. In diesem Fall kann der Agent keine Preisfragen beantworten. Passen Sie die Abfrage in diesem Workflow an Ihr Salesforce-Organisationsdatenmodell an:

    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
    

    Um einen anderen Endpunkt als Salesforce zu verwenden, erstellen Sie eine neue Operation zum Abrufen von Produktpreisen aus dem System und weisen Sie die Ergebnisse der globalen Variable pricing_sheet zu. Lösen Sie dann die neue Operation aus der Operation Main - Pricing Sheet aus.

  6. Tool - Customer Lookup

    Dieser Workflow ruft Kunden aus Salesforce ab.

    In der Konfiguration der Salesforce Query-Aktivität ruft die folgende Abfrage Kundenkonten-Informationen ab. Falls Ihre Salesforce-Organisation unterschiedliche Felder oder Objekte für Kundendetails verwendet, passen Sie diese Abfrage in diesem Workflow entsprechend an:

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

    Um einen anderen Endpunkt als Salesforce zu verwenden, erstellen Sie einen neuen Vorgang, um Kunden aus dem System abzurufen, und weisen Sie die Ergebnisse der globalen Variable extractedContent zu. Triggern Sie dann den neuen Vorgang aus dem Vorgang Main - Customer Lookup.

  7. Utility - Get All Account Owners

    Dieser Workflow ruft Kontoeigentümer aus Salesforce ab.

    In der Konfiguration der Salesforce Query-Aktivität ruft die folgende Abfrage Kontoeigentümer (Name und E-Mail) für alle Konten des Typs Customer oder Partner ab. Falls Ihre Salesforce-Organisation unterschiedliche Kontotypen oder benutzerdefinierte Felder zur Klassifizierung von Konten verwendet, passen Sie diese Abfrage in diesem Workflow entsprechend an:

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

    Um einen anderen Endpunkt als Salesforce zu verwenden, erstellen Sie einen neuen Vorgang, um Kontoeigentümer aus dem System abzurufen, und weisen Sie die Ergebnisse der Variable Account_Owner_List zu. Triggern Sie dann den neuen Vorgang aus dem Vorgang Main - Get Owner List.

  8. Utility-User Authorization And Session

    Dieser Workflow verwaltet die Benutzerautorisierung und Sitzung. Er verwendet Jitterbit Cloud Datastore, um eine Liste autorisierter Benutzer und ihrer aktiven Sitzungen zu führen.

    Um diesen Workflow mit einem alternativen Datenspeicher oder einem anderen Autorisierungsmechanismus zur Verwaltung des Benutzerzugriffs und der Sitzungen zu konfigurieren, ändern Sie die Vorgänge des Workflows entsprechend.

  9. Utility - Bot Chat History Storage

    Dieser Workflow verwaltet die Speicherung des Chat-Verlaufs des Bots, was für die Bereitstellung von Speicherkontext für LLMs erforderlich ist. Er nutzt Jitterbit Cloud Datastore zu diesem Zweck.

    Um die Integration mit anderen Datenspeicherlösungen zum Speichern und Abrufen des Chat-Verlaufs durchzuführen, ändern Sie die Vorgänge des Workflows entsprechend.

  10. Generic API Request Handler

    Dieser Workflow verarbeitet HTTP-API-Anfragen von jeder Anwendung. Um die Integration mit Ihren Anwendungen durchzuführen, erstellen Sie eine benutzerdefinierte Jitterbit-API, die den Vorgang Generic API request Handler triggert. Die URL dieser API kann dann von jeder Anwendung verwendet werden, um Anfragen zu senden und zu empfangen.

    Die Konfiguration der benutzerdefinierten Jitterbit-API wird in Create the Jitterbit custom API später auf dieser Seite beschrieben.

Trigger the project workflows

Führen Sie für das anfängliche Laden der Daten den Vorgang im ersten Workflow aus, Utility-Upload Customer Order Forms to Azure. Dies können Sie über die Run-Option des Vorgangs durchführen, die beim Überfahren des Vorgangs angezeigt wird. Sie müssen diesen Vorgang später erneut ausführen, falls Ihre Daten aktualisiert werden.

Tipp

Sie können diesen Vorgang auf einen Zeitplan setzen, um regelmäßig aktualisierte Daten zu erhalten. Dies können Sie über das -Menü Einstellungen > Zeitpläne des Vorgangs durchführen.

Die beiden anderen Haupt-Workflows werden durch die benutzerdefinierten Jitterbit-APIs ausgelöst:

  • Main Entry - Slack API Request Handler: Dieser Workflow wird von Slack über die benutzerdefinierte API Slack Bot API Request Handler ausgelöst. Das Senden einer direkten Nachricht an die Slack-App initiiert den Trigger der benutzerdefinierten API.

  • Generic API Request Handler: Dieser Workflow wird von einer anderen Anwendung über die benutzerdefinierte API Generic API request Handler ausgelöst. Das Senden einer Anfrage an die konfigurierte API initiiert den Trigger der benutzerdefinierten API.

Alle anderen Workflows werden durch andere Vorgänge ausgelöst und sind nachgelagert gegenüber den oben aufgelisteten. Sie sollen nicht von selbst ausgeführt werden.

Fehlerbehebung

Bei Problemen können die folgenden Protokolle überprüft werden, um ausführliche Informationen zur Fehlerbehebung zu erhalten:

Für weitere Unterstützung wenden Sie sich an den Jitterbit-Support.