Jitterbit Vertriebsagent
Übersicht
Der Jitterbit Vertriebsagent (Sales Agent) ist ein KI-Agent, der über den Jitterbit Marketplace bereitgestellt wird und dazu dient, das interne Vertriebsteam Ihrer Organisation zu unterstützen. Dieser Agent verwendet die Technik der Retrieval-Augmented Generation (RAG), die das Denken von LLM mit dem Zugriff auf externe Tools und Datenquellen kombiniert. Er führt Folgendes aus:
- Stellt eine Verbindung zu NetSuite und Salesforce her, um in Echtzeit Verkaufsaufträge, Preise und Kundendaten über Jitterbit Studio abzurufen.
- Integriert sich mit Azure OpenAI, um einen intelligenten Vertriebsagenten-Chatbot zu betreiben, der über eine benutzerdefinierte API, die mit Jitterbit API Manager erstellt wurde, zugänglich ist.
Dieses Dokument erklärt, wie man diesen KI-Agenten einrichtet und betreibt. Es behandelt die Architektur und Voraussetzungen, Beispielaufforderungen, die zeigen, was der Agent leisten kann, sowie die Schritte zur Installation, Konfiguration und Betrieb des KI-Agenten.
Architektur des KI-Agenten
Das folgende Diagramm zeigt die Architektur, die im Vertriebsagenten implementiert ist:
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
Um den Vertriebsagenten zu nutzen, sind die folgenden Komponenten erforderlich oder werden im Design des Agenten vorausgesetzt.
Harmony-Komponenten
Sie müssen über eine Jitterbit Harmony-Lizenz mit Zugriff auf die folgenden Komponenten verfügen:
- Jitterbit Studio
- Jitterbit API Manager
- Jitterbit Vertriebsagent, der als Lizenz-Add-On erworben wurde
- Jitterbit Cloud Datastore (optional)
Unterstützte Endpunkte
Die folgenden Endpunkte sind in das Design des Agenten integriert, aber andere Systeme können durch Anpassung der Endpunktkonfigurationen und Workflows des Projekts berücksichtigt werden.
Großes Sprachmodell (LLM)
Der KI-Agent verwendet Azure OpenAI als Anbieter des LLM. Um Azure OpenAI zu nutzen, müssen Sie über ein Microsoft Azure-Abonnement mit Berechtigungen verfügen, um Azure OpenAI mit einem bereitgestellten gpt-4o-Modell zu erstellen und zu verwalten.
Tipp
Um Preiskategorien basierend auf Ihren spezifischen Anforderungen und der erwarteten Nutzung auszuwählen, siehe Azure OpenAI-Preise.
Chat-Schnittstelle
Das Design des Agenten integriert 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 Kundenbestellformulare. Die Integration ermöglicht es dem Agenten, Bestelldaten in Echtzeit während der Benutzerinteraktionen abzurufen, zu aktualisieren oder zu validieren.
Salesforce
Der Agent nutzt Salesforce zur Verwaltung von Kundenkonten und Produktpreisen. Diese Integration versorgt den Agenten mit den aktuellen Daten, die erforderlich sind, um genaue Angebote und Kontoinformationen zu erstellen.
Beispielaufforderungen
Hier sind Beispielaufforderungen, die der Vertriebsagent mit Zugriff auf die entsprechenden Daten bearbeiten kann:
Kundenabfragefragen
- "Zeige mir alle Kunden in Kalifornien."
- "Welche Kunden haben ihren Sitz in Sydney?"
Fragen zu Bestellformularen / Lizenzdetails
- "Welche Produkte hat Acme Corp gekauft?"
- "Für wie viele 'Produkt X' ist die ByteTech GmbH lizenziert?"
- "Kannst du mir die Bestelldetails für AcmeCloud Ltd geben?"
- "Wie lange ist die Abonnementdauer für Zento Systems?"
Anfragen zu Produktpreisen oder Plänen
- "Was kostet 'Produkt X' in USD?"
- "Wie viel kostet das Professional-Abonnement?"
- "Welches Abonnement ermöglicht 10 Umgebungen?"
- "Kannst du die Kosten für 15 'Produkt X' und 4 'Produkt Y' berechnen?"
Anfragen zu Kontoinhabern
- "Wer verwaltet Acme Corp?"
- "Welche Kunden gehören zu jsmith@abc.com?"
- "Zeige Kunden, die von David Brown in Texas betreut werden."
- "Liste Konten auf, die von Grace im Vereinigten Königreich verwaltet werden."
Installation, Konfiguration und Betrieb
Befolgen Sie diese Schritte, um diesen KI-Agenten zu installieren, zu konfigurieren und zu betreiben:
- Laden Sie Anpassungen herunter und installieren Sie das Studio-Projekt.
- Überprüfen Sie die Projekt-Workflows.
- Erstellen Sie Microsoft Azure-Ressourcen.
- Bereiten Sie das Jitterbit Cloud-Datenspeicher vor.
- Konfigurieren Sie Projektvariablen.
- Testen Sie die Verbindungen.
- Stellen Sie das Projekt bereit.
- Erstellen Sie die Jitterbit benutzerdefinierte API.
- Erstellen Sie die Slack-App, testen Sie die Slack-Verbindung und stellen Sie das Projekt erneut bereit.
- Lösen Sie die Projekt-Workflows aus.
Download von Anpassungen und Installation des Projekts
Befolgen Sie diese Schritte, um Anpassungsdateien herunterzuladen und das Studio-Projekt zu installieren:
-
Melden Sie sich im Harmony-Portal unter https://login.jitterbit.com an und öffnen Sie Marketplace.
-
Suchen Sie den KI-Agenten mit dem Namen Jitterbit Sales Agent. Um den Agenten zu finden, können Sie die Suchleiste verwenden oder im Filter-Bereich unter Typ KI-Agent auswählen, um die Anzeige auf die verfügbaren KI-Agenten zu beschränken.
-
Klicken Sie auf den Dokumentation-Link des KI-Agenten, um dessen Dokumentation in einem separaten Tab zu öffnen. Halten Sie den Tab geöffnet, um später darauf zurückzugreifen, nachdem Sie das Projekt gestartet haben.
-
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 gekauft haben, wird stattdessen Diesen Agenten erhalten angezeigt. Klicken Sie darauf, um einen Informationsdialog zu öffnen, und klicken Sie dann auf Absenden, damit sich ein Vertreter mit Ihnen in Verbindung setzt, um den KI-Agenten zu kaufen.
-
In der Konfigurationsstufe 1, Anpassungen herunterladen, werden die folgenden Dateien bereitgestellt, um die Einrichtung des Index und des Indexers in Azure AI Search zu erleichtern und die Slack-App zu erstellen. Wählen Sie die Dateien aus und klicken Sie auf Dateien herunterladen:
-
JSON-Definitionsdateien für Azure AI Search-Index und -Indexer
Azure_AI_Search_Datasource_Definition.jsonAzure_AI_Search_Index_Definition.jsonAzure_AI_Search_Indexer_Definition.json
-
Manifestdatei der Slack-App
slack_app_manifest.json
Tipp
Der Konfigurationsdialog enthält eine Warnung, die besagt, dass die Vorlage nicht importiert werden soll, bevor die Endpunktanpassungen angewendet werden. Diese Warnung gilt nicht für diesen KI-Agenten und kann ignoriert werden. Befolgen Sie die empfohlene Reihenfolge der Schritte in dieser Dokumentation.
Klicken Sie auf Weiter.
-
-
In der Konfigurationsstufe 2, Neues Projekt erstellen, wählen Sie eine Umgebung aus, in der Sie das Studio-Projekt erstellen möchten, und klicken Sie dann auf Projekt erstellen.
-
Ein Fortschrittsdialog wird angezeigt. Nachdem er anzeigt, dass das Projekt erstellt wurde, verwenden Sie den Dialoglink Gehe zu Studio oder öffnen Sie das Projekt direkt von der Studio-Seite Projekte aus.
Überprüfen der Projekt-Workflows
Überprüfen Sie im geöffneten Studio-Projekt die Workflows sowie die nachstehenden Beschreibungen, um zu verstehen, was sie tun. Die nachstehenden Beschreibungen weisen darauf hin, wo Sie das System durch Ändern der Endpunktkonfigurationen und Workflows des Projekts ersetzen könnten.
-
Utility-Kundenbestellformulare in Azure hochladen
Dieser Workflow automatisiert die Verarbeitung von Bestellformularen, indem er Details aus NetSuite extrahiert, Dokumente in Azure Blob Storage hochlädt und sie im Azure AI Search-Index indiziert.
Dieser Workflow muss zuerst ausgeführt werden, um alle aktiven Kundendaten zu laden, damit die Kundendetails dem KI-Agenten zur Verfügung stehen. Die Ausführung des Workflows wird in Triggern der Projekt-Workflows weiter unten auf dieser Seite beschrieben.
Wenn die Bestelldaten Ihres Unternehmens in einem anderen System als NetSuite gespeichert sind, müssen Sie die Operationen des Workflows ändern, um NetSuite-spezifische Komponenten durch solche für Ihren Endpunkt zu ersetzen.
-
Haupteingang - Slack API-Anforderungsbearbeiter
Dieser Workflow verwaltet eingehende Slack-Bot-Anfragen und überprüft die Benutzerautorisierung. Er wird über eine benutzerdefinierte Jitterbit-API ausgelöst, jedes Mal, wenn Ihr Vertriebsteam mit der Slack-Bot-Chat-Benutzeroberfläche interagiert (d. h. eine Slack-Nachricht an ihn sendet). Die Konfiguration der benutzerdefinierten Jitterbit-API wird in Erstellen der benutzerdefinierten Jitterbit-API weiter unten auf dieser Seite beschrieben.
Wenn Sie Slack nicht verwenden, kann dieser Workflow ignoriert werden und wird nicht ausgelöst. Um eine andere Chat-Benutzeroberfläche für Ihr Vertriebsteam zu verwenden, verwenden Sie den Workflow
Generic API Request Handler, der ebenfalls über eine benutzerdefinierte Jitterbit-API ausgelöst wird. -
Haupt - KI-Agenten-Tools-Logik
Nachdem die Benutzerautorisierung entweder vom Workflow
Haupteingang - Slack API-AnforderungsbearbeiteroderGeneric API Request Handlererhalten wurde, verwaltet dieser Workflow die Funktionsaufrufanforderungen an das große Sprachmodell (LLM) und trifft Entscheidungen darüber, welches Tool basierend auf der Antwort des LLM ausgeführt werden soll. Es gibt drei Haupttoolaufrufe:-
Customer_Order_Function: Dieses Tool beantwortet Benutzeranfragen zu Kundenbestellformularen, indem es die
Main - Get Customer Order Form Details-Operation imTool-Customer Order Details-Workflow aufruft. -
Pricing_Function: Dieses Tool beantwortet Benutzeranfragen zu Produktpreisen, indem es die
Main - Pricing Sheet-Operation imTool-Pricing Sheets-Workflow aufruft. -
Customer_Lookup_By_Location_Function: Dieses Tool beantwortet Benutzeranfragen, um Kunden nach Standort oder Kontoinhaber zu finden, indem es die
Main - Customer Lookup-Operation imTool - Customer Lookup-Workflow aufruft.
-
-
Tool-Customer Order Details
Dieser Workflow ruft Kundenbestelldetails aus NetSuite ab.
Um einen anderen Endpunkt als NetSuite zu verwenden, erstellen Sie eine neue Operation, um Bestellformulare aus dem System abzurufen, und weisen Sie die Ergebnisse der
extractedContentglobalen Variable zu. Dann lösen Sie die neue Operation aus derMain - Get Customer Order Form Details-Operation aus. -
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. Wenn Ihre Salesforce-Organisation diese Objekte und Felder nicht verwendet oder wenn Produktpreisinformationen in anderen Objekten/Feldern gespeichert sind, funktioniert dieser Workflow möglicherweise nicht richtig. In diesem Fall kann der Agent keine Preisanfragen beantworten. Passen Sie die Abfrage in diesem Workflow an das Datenmodell Ihrer Salesforce-Organisation 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 NameUm einen anderen Endpunkt als Salesforce zu verwenden, erstellen Sie eine neue Operation, um Produktpreise aus dem System abzurufen, und weisen Sie die Ergebnisse der
pricing_sheetglobalen Variable zu. Dann lösen Sie die neue Operation aus derMain - Pricing Sheet-Operation aus. -
Tool - Customer Lookup
Dieser Workflow ruft Kunden aus Salesforce ab.
In der Konfiguration der Salesforce-Abfrageaktivität ruft die folgende Abfrage Informationen zu Kundenkonten ab. Wenn Ihre Salesforce-Organisation andere 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 eine neue Operation, um Kunden aus dem System abzurufen, und weisen Sie die Ergebnisse der globalen Variablen
extractedContentzu. Triggern Sie dann die neue Operation aus der OperationMain - Customer Lookup. -
Utility - Alle Kontoinhaber abrufen
Dieser Workflow ruft Kontoinhaber aus Salesforce ab.
In der Konfiguration der Salesforce-Abfrageaktivität ruft die folgende Abfrage Kontoinhaber (Name und Email) für alle Konten des Typs
CustomeroderPartnerab. Wenn Ihre Salesforce-Organisation andere 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 eine neue Operation, um Kontoinhaber aus dem System abzurufen, und weisen Sie die Ergebnisse der Variablen
Account_Owner_Listzu. Triggern Sie dann die neue Operation aus der OperationMain - Get Owner List. -
Utility - Benutzerautorisierung und Sitzung
Dieser Workflow verwaltet die Benutzerautorisierung und Sitzung. Er verwendet Jitterbit Cloud Datastore, um eine Liste autorisierter Benutzer und deren aktive Sitzungen zu führen.
Um diesen Workflow mit einem alternativen Datenspeicher oder Autorisierungsmechanismus zur Verwaltung des Benutzerzugriffs und der Sitzungen zu konfigurieren, ändern Sie die Operationen des Workflows entsprechend.
-
Utility - Speicherung des Bot-Chatverlaufs
Dieser Workflow verwaltet die Speicherung des Bot-Chatverlaufs, der für die Bereitstellung des Gedächtniskontexts für LLMs unerlässlich ist. Er nutzt dafür Jitterbit Cloud Datastore.
Um mit anderen Datenspeicherlösungen zu integrieren, die den Chatverlauf speichern und abrufen, passen Sie die Operationen des Workflows entsprechend an.
-
Generischer API-Anforderungs-Handler
Dieser Workflow verarbeitet HTTP-API-Anfragen von jeder Anwendung. Um mit Ihren Anwendungen zu integrieren, erstellen Sie eine benutzerdefinierte Jitterbit-API, die die Operation
Generischer API-Anforderungs-Handlerauslöst. 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 Erstellen der Jitterbit benutzerdefinierten API weiter unten auf dieser Seite beschrieben.
Microsoft Azure-Ressourcen erstellen
Erstellen Sie die folgenden Microsoft Azure-Ressourcen und behalten Sie die folgenden Informationen zur Konfiguration des KI-Agenten. Um diese Ressourcen zu erstellen und zu verwalten, benötigen Sie ein Microsoft Azure-Abonnement mit den entsprechenden Berechtigungen.
Azure Blob-Container
Sie müssen einen Azure Blob-Container erstellen, um Kundendaten zu speichern. Daten aus dem Blob-Container werden in Azure AI Search mithilfe eines Index und eines Indexers indiziert.
Sie benötigen die SAS-URL des Containers, um die Werte der Azure Blob Storage-Projektvariablen zu bestimmen. Um die SAS-URL zu generieren:
- Gehen Sie im Azure-Portal zu Speicherkonten und öffnen Sie das spezifische Speicherkonto.
- Wählen Sie im Ressourcenmenü unter Datenspeicherung Container aus und öffnen Sie den spezifischen Container.
- Wählen Sie im Ressourcenmenü unter Einstellungen Geteilte Zugriffstoken aus.
-
Verwenden Sie das Menü Berechtigungen, um zu überprüfen, ob die URL der Shared Access Signature (SAS) für diesen Container mindestens über die Berechtigungen Lesen und Schreiben verfügt:

-
Klicken Sie auf SAS-Token und URL generieren.
- Kopieren Sie die Blob SAS-URL, die am Ende angezeigt wird.
- 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 in den Anpassungsdateien des KI-Agenten enthaltenen JSON-Definitionsdateien verwenden, um den Index und den Indexer zu generieren, benötigen Sie auch den Azure Blob Storage-Kontenschlüssel. Um Kontozugriffsschlüssel anzuzeigen:
- Gehen Sie im Azure-Portal zu Speicherkonten und öffnen Sie das spezifische Speicherkonto.
- Wählen Sie im Ressourcenmenü unter Sicherheit + Netzwerk Zugriffsschlüssel aus.
-
Klicken Sie auf Schlüssel anzeigen, um den Zugriffsschlüssel anzuzeigen, der während der Konfiguration von Azure AI Search verwendet werden soll.

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_urlzu erhalten, beziehen Sie sich auf die Azure-Dokumentation Dienstinformationen abrufen. - API-Schlüssel: Um den Wert für
azure_ai_search_api_keyzu erhalten, beziehen Sie sich auf die Azure-Dokumentation Rollenspezifischen Zugriff konfigurieren.
Sie können die in den Anpassungsdateien des KI-Agenten enthaltenen JSON-Definitionsdateien verwenden, um den Index und den Indexer zu generieren, oder Sie können sie 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 |
|---|---|
{{Ihr Azure AI Search-Dienstname}} |
Der Name des Azure AI Search-Dienstes. |
Azure_AI_Search_Datasource_Definition.json
| Platzhalter | Beschreibung |
|---|---|
{{Ihr Azure AI Suchdienstname}} |
Der Name des Azure AI Suchdienstes. |
{{Ihr Azure Blob-Kontoname}} |
Der Name des Azure Blob-Kontos. |
{{Ihr Azure Blob-Kontenschlüssel}} |
Der Zugriffsschlüssel für das Azure Blob Storage-Konto, wie im Abschnitt Azure Blob-Container oben beschrieben. |
{{Ihr_azure_blob_container_name}} |
Der Name des Azure Blob-Containers. |
Azure OpenAI-Ressource
Sie müssen eine Azure OpenAI-Ressource erstellen und ein Modell gpt-4o oder gpt-4.1 ü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:
- Öffnen Sie im Azure AI Foundry-Portal die spezifische OpenAI-Ressource.
-
Die Werte für die Endpunkt-URL (
azure_openai_base_url) und den API-Schlüssel (azure_openai_api_key) werden auf der Startseite der Ressource angezeigt:
-
Wählen Sie im Navigationsmenü unter Geteilte Ressourcen Bereitstellungen aus. Der Bereitstellungsname (
Azure_OpenAI_Deployment_Name) wird angezeigt.
Jitterbit Cloud-Datenspeicher vorbereiten
Erstellen Sie zwei Schlüssel-Speicher im Jitterbit Cloud-Datenspeicher, Bot_Authorized_Users und askjb_sales_q_and_a, deren Felder die in den Tabellen unten aufgeführten Namen und Typen haben.
Wenn Sie benutzerdefinierte Felder hinzufügen, verwenden Sie die Tabellen unten, um zu bestimmen, ob jedes Feld im Cloud Datastore-Benutzerinterface auf Erforderlich umgeschaltet werden sollte. Die Felder AlternativeKey und Value sind Standardfelder, die nicht entfernt oder umgeschaltet werden können.
Nachdem Sie benutzerdefinierte Felder hinzugefügt haben, fügen Sie ein Schlüssel-Speicherregister für jeden Benutzer hinzu, der autorisiert ist, den AI-Agenten-Bot zu verwenden. Sie müssen die in den Tabellen unten markierten Werte manuell definieren. Die Werte von Feldern, deren Werte automatisch ausgefüllt oder nicht verwendet werden, können Sie leer lassen.
Bot_Authorized_Users
Dieses Schlüssel-Speicherregister enthält die Liste der autorisierten Benutzer und deren Sitzungen. Sie müssen die Email-Adressen der Benutzer manuell eingeben, die autorisiert sind, auf den AI-Agenten-Bot zuzugreifen.
| Name | Typ | Erforderlich | Wertdefinition | Beschreibung |
|---|---|---|---|---|
Key |
Text | Ja | Manuell eingeben | Die Email-Adresse des Benutzers, der autorisiert ist, über den Slack-Bot mit dem AI-Agenten zu interagieren. Dieser Wert wird manuell eingegeben. |
AlternativeKey |
Text | Nein | Automatisch ausgefüllt | Die Sitzung für den Benutzer wird während der Ausführung automatisch generiert. Eine manuelle Eingabe ist nicht erforderlich. |
Value |
Text | Nein | Manuell eingeben | Die Email-Adresse des Benutzers, der autorisiert ist, über den Slack-Bot mit dem AI-Agenten zu interagieren. Dieser Wert wird manuell eingegeben. Obwohl er standardmäßig nicht als erforderliches Feld markiert ist, ist die Angabe eines Wertes erforderlich, damit der AI-Agent funktioniert. |
askjb_sales_q_and_a
Dieser Schlüssel-Speicher bewahrt den Chatverlauf eines Bots, um den Gedächtniskontext für das LLM bereitzustellen. Er wird von der Integration verwendet, um die Frage- und Antwortgeschichte zu speichern. Alle Daten werden automatisch während der Interaktion erfasst.
| Name | Typ | Erforderlich | Wertdefinition | Beschreibung |
|---|---|---|---|---|
Key |
Text | Ja | Automatisch ausgefüllt | Gibt die eindeutige Kennung an, die einer Nachricht vom System zugewiesen wird. |
AlternativeKey |
Text | Nein | Automatisch ausgefüllt | Gibt die eindeutige Kennung an, die einer Chatsitzung vom System zugewiesen wird. |
Value |
Text | Nein | Nicht verwendet | Nicht verwendet. |
slackChannel |
Text | Ja | Automatisch ausgefüllt | Die Slack-Kanal-ID, von der die Nachricht gesendet wird. |
User |
Text | Ja | Automatisch ausgefüllt | Der Slack-Benutzername des Benutzers, der die Nachricht sendet. |
FirstName |
Text | Nein | Automatisch ausgefüllt | Vorname des Benutzers, der die Nachricht sendet. |
LastName |
Text | Nein | Automatisch ausgefüllt | Nachname des Benutzers, der die Nachricht sendet. |
Email |
Text | Ja | Automatisch ausgefüllt | Email-Adresse des Benutzers, der die Nachricht sendet. |
MessageTimestampText |
Text | Ja | Automatisch ausgefüllt | Der Zeitstempeltext der Nachricht. |
UserQuestion |
Großer Text | Ja | Automatisch ausgefüllt | Die Frage oder Nachricht, die der Benutzer dem KI-Agenten übermittelt. |
AIAnswer |
Großer Text | Ja | Automatisch ausgefüllt | Die Antwort, die vom KI-Agenten auf die Frage des Benutzers generiert wurde. |
ai_reformulate_question |
Großer Text | Nein | Automatisch ausgefüllt | Die Frage des Benutzers, nachdem sie von der KI umformuliert oder umschrieben wurde, um das Verständnis zu verbessern. |
Projektvariablen konfigurieren
Im zuvor über den Marketplace installierten Studio-Projekt müssen Werte für die folgenden Projektvariablen festgelegt werden.
Um Projektvariablen zu konfigurieren, verwenden Sie das Aktionsmenü des Projekts, um Projektvariablen auszuwählen. Dadurch wird ein Schublade am unteren Rand der Seite geöffnet, 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 |
Verbraucherschlüssel in der NetSuite-Verbindung |
NetSuite_Consumer_Secret |
Verbrauchergeheimnis in der NetSuite-Verbindung |
NetSuite_Base_URL |
Basis-URL von NetSuite, wie https://{{NetSuite_Account}}.suitetalk.api.netsuite.com. |
NetSuite_Token_Key |
Token-Schlüssel in der NetSuite-Verbindung |
NetSuite_Token_Secret |
Token-Geheimnis in der NetSuite-Verbindung |
Azure Blob Storage
| Variablenname | Beschreibung |
|---|---|
Azure_Customer_Details_Container |
Der Name des Azure Blob-Containers zur Speicherung von Kundeninformationen aus Bestellformularen. |
azure_customer_detail_blob_sig |
SAS-URL-Signatur für Azure_Customer_Details_Container. |
azure_blob_base_url |
Basis-URL des Azure-Container-Dienstes für Azure_Customer_Details_Container. |
Hinweis
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.
Azure AI Search
| 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 von Azure_Customer_Details_Container in den Index customer_search_index_name indiziert. |
azure_ai_search_url |
Basis-URL des Azure AI-Suchdienstes. |
azure_ai_search_api_key |
API-Schlüssel für den Azure AI-Suchdienst. |
Azure OpenAI
| Variablenname | Beschreibung |
|---|---|
Max_Output_Tokens |
Die maximale Anzahl von Tokens, die das LLM in einer Antwort generieren kann. GPT-4.1 unterstützt bis zu 32768 Tokens, während GPT-4o bis zu 16384 unterstützt. |
Azure_OpenAI_Deployment_Name |
Der Name des Deployments für LLM in Azure OpenAI. |
azure_openai_base_url |
Basis-URL des Azure OpenAI-Dienstes. |
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 Erstellen der Slack-App erhalten wird, wird für das Bot-Benutzer-OAuth-Zugriffstoken in der Slack-Verbindung verwendet. |
Hinweis
Die Slack-App wird in einem späteren Schritt erstellt. Für den Moment können Sie diese Variable leer lassen.
Common
| Variablenname | Beschreibung |
|---|---|
Authorized_User_Admin |
Kontaktname/Email, der in der Antwort angezeigt wird, die an den Benutzer gesendet wird, wenn ein Fehler auftritt. |
Customer_LastOrder_DefaultDate |
Das Standarddatum (mm/dd/yyyy), von dem aus Bestellungen während des ersten Laufs oder eines historischen Laufs abgerufen werden, wenn incrementalRun auf false gesetzt ist. Zum Beispiel: 06/01/2004. |
Default_Last_Sync_Date |
Standarddatum der letzten Synchronisierung, das verwendet wird, wenn der Cachewert 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 die Bestellungen mit nextbilldate, die nach dem heutigen Datum liegen, aus NetSuite abgerufen. |
Testverbindungen
Test die Endpunktkonfigurationen, um die Konnektivität mit den definierten Projektvariablenwerten zu überprüfen.
Um Verbindungen zu testen, gehen Sie zur {{icon_new_connection}} Projektendpunkte und -verbinder-Registerkarte der Designkomponentenpalette, fahren Sie mit der Maus über jeden Endpunkt und klicken Sie auf {{icon_test}} Test.
Projekt bereitstellen
Projekt bereitstellen das Studio-Projekt.
Um das Projekt bereitzustellen, verwenden Sie das {{icon_more}} Aktionsmenü des Projekts, um Bereitstellen auszuwählen.
Erstellen Sie die benutzerdefinierte Jitterbit-API
Erstellen Sie eine benutzerdefinierte API mit dem API-Manager für eine der folgenden:
- Slack-Bot-API-Anforderungsbearbeiter: Erforderlich, wenn die Slack-Benachrichtigung verwendet wird, die im Design dieses KI-Agenten enthalten ist.
- Generischer API-Anforderungsbearbeiter: Optional. Verwenden Sie ihn zur Bearbeitung von API-Anfragen aus beliebigen Anwendungen.
Erstellen Sie den Slack-Bot-API-Anforderungsbearbeiter
Diese benutzerdefinierte Jitterbit-API löst die Slack Bot API Request Handler-Operation aus. Konfigurieren und veröffentlichen Sie die benutzerdefinierte API mit den folgenden Einstellungen:
- API-Dienst:
Slack Bot API Request Handler - Pfad:
/ - Projekt: Wählen Sie das Studio-Projekt aus, das aus dem
Jitterbit Sales Agentim Marketplace erstellt wurde - Zu triggernde Operation:
Slack Bot API Request Handler - Methode:
POST - Antworttyp:
Systemvariable
Behalten Sie die Dienst-URL der veröffentlichten API für die Erstellung der Slack-App. Die Dienst-URL finden Sie im API-Details-Bereich auf der Dienste-Registerkarte, indem Sie über die Aktionen-Spalte des Dienstes fahren und auf {{icon_copy}} API-Dienst-URL kopieren klicken.
Generischer API-Anforderungsbearbeiter
Diese benutzerdefinierte Jitterbit-API löst die Generic API request Handler-Operation aus. Sie 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:
- Service name:
Generic API request Handler - Project: Wählen Sie das Studio-Projekt aus, das aus dem
Jitterbit Sales Agentim Marketplace erstellt wurde - Operation:
Generic API request Handler - Method:
POST - Response type:
System Variable
Hinweis
Sie können auch ein Sicherheitsprofil zur Authentifizierung hinzufügen.
{
"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
}
Erstellen Sie die Slack-App, testen Sie die Verbindung und setzen Sie das Projekt erneut ein
Um die Chat-Oberfläche des Sales Agent in Slack zu erstellen, erstellen Sie eine Slack-App mit der im Anpassungsdateien dieses KI-Agenten bereitgestellten Slack-App-Manifestdatei. Oder, erstellen Sie sie von Grund auf.
Wenn Sie die bereitgestellte Slack-App-Manifestdatei (slack_app_manifest.json) verwenden, müssen Sie die folgenden Platzhalter durch Ihre eigenen Konfigurationswerte ersetzen:
{% raw %}
| Platzhalter | Beschreibung |
|---|---|
{{Replace with Slack bot name}} |
Der Name, den Ihr Slack-Bot haben soll, wie er den Benutzern angezeigt wird. Es gibt zwei Stellen im Manifest, an denen Sie diesen Wert ersetzen müssen. |
{{Replace with Jitterbit API URL}} |
Die Dienst-URL der benutzerdefinierten Jitterbit-API, die Sie in Erstellen Sie den Slack-Bot-API-Anforderungs-Handler erstellt haben. |
Nachdem Sie die Slack-App installiert haben, erhalten Sie das Bot-Token.
Öffnen Sie die Konfiguration der Projektvariablen erneut und geben Sie das Bot-Token für den Wert der Projektvariablen salesorder_slack_bot_token ein.
Sobald das Bot-Token festgelegt ist, testen Sie die Slack-Verbindung und setzen Sie das Projekt erneut in Betrieb.
Triggern Sie die Projekt-Workflows
Für den initialen Datenlader, führen Sie die Operation im ersten Workflow, Utility-Upload Customer Order Forms to Azure, aus. Dies kann über die Ausführen-Option erfolgen, die angezeigt wird, wenn Sie über die Operation fahren. Sie müssen die Operation in Zukunft erneut ausführen, wenn Ihre Daten aktualisiert werden.
Hinweis
Möglicherweise möchten Sie diese Operation auf einen Zeitplan setzen, um regelmäßig aktualisierte Daten zu erhalten. Dies kann über das Aktionsmenü der Operation in Einstellungen > Zeitpläne erfolgen.
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 APISlack Bot API Request Handlerausgelöst. Das Senden einer Direktnachricht an die Slack-App initiiert den benutzerdefinierten API-Trigger. -
Generic API Request Handler: Dieser Workflow wird von einer anderen Anwendung über die benutzerdefinierte APIGeneric API Request Handlerausgelöst. Das Senden einer Anfrage an die konfigurierte API initiiert den benutzerdefinierten API-Trigger.
Alle anderen Workflows werden durch andere Operationen ausgelöst und sind nachgelagert zu den oben genannten. Sie sind nicht dafür gedacht, eigenständig ausgeführt zu werden.
Fehlersuche
Wenn Sie auf Probleme stoßen, überprüfen Sie die folgenden Protokolle für detaillierte Informationen zur Fehlersuche:
Für zusätzliche Unterstützung kontaktieren Sie Jitterbit-Support.