Zum Inhalt springen

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:

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

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:

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:

  1. Laden Sie Anpassungen herunter und installieren Sie das Studio-Projekt.
  2. Überprüfen Sie die Projekt-Workflows.
  3. Erstellen Sie Microsoft Azure-Ressourcen.
  4. Bereiten Sie das Jitterbit Cloud-Datenspeicher vor.
  5. Konfigurieren Sie Projektvariablen.
  6. Testen Sie die Verbindungen.
  7. Stellen Sie das Projekt bereit.
  8. Erstellen Sie die Jitterbit benutzerdefinierte API.
  9. Erstellen Sie die Slack-App, testen Sie die Slack-Verbindung und stellen Sie das Projekt erneut bereit.
  10. 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:

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

  2. 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.

  3. 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.

  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 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.

  5. 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.json
      • Azure_AI_Search_Index_Definition.json
      • Azure_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.

  6. 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.

  7. 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.

  1. 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.

  2. 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.

  3. Haupt - KI-Agenten-Tools-Logik

    Nachdem die Benutzerautorisierung entweder vom Workflow Haupteingang - Slack API-Anforderungsbearbeiter oder Generic API Request Handler erhalten 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:

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

    2. Pricing_Function: Dieses Tool beantwortet Benutzeranfragen zu Produktpreisen, indem es die Main - Pricing Sheet-Operation im Tool-Pricing Sheets-Workflow aufruft.

    3. Customer_Lookup_By_Location_Function: Dieses Tool beantwortet Benutzeranfragen, um Kunden nach Standort oder Kontoinhaber zu finden, indem es die Main - Customer Lookup-Operation im Tool - Customer Lookup-Workflow 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, um Bestellformulare aus dem System abzurufen, und weisen Sie die Ergebnisse der extractedContent globalen Variable zu. Dann lösen Sie die neue Operation aus der Main - Get Customer Order Form Details-Operation 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. 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 Name
    

    Um 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_sheet globalen Variable zu. Dann lösen Sie die neue Operation aus der Main - Pricing Sheet-Operation aus.

  6. 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 extractedContent zu. Triggern Sie dann die neue Operation aus der Operation Main - Customer Lookup.

  7. 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 Customer oder Partner ab. 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_List zu. Triggern Sie dann die neue Operation aus der Operation Main - Get Owner List.

  8. 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.

  9. 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.

  1. 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-Handler auslö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:

  1. Gehen Sie im Azure-Portal zu Speicherkonten und öffnen Sie das spezifische Speicherkonto.
  2. Wählen Sie im Ressourcenmenü unter Datenspeicherung Container aus und öffnen Sie den spezifischen Container.
  3. Wählen Sie im Ressourcenmenü unter Einstellungen Geteilte Zugriffstoken aus.
  4. 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:

    SAS-URL-Berechtigungen

  5. Klicken Sie auf SAS-Token und URL generieren.

  6. Kopieren Sie die Blob SAS-URL, die am Ende angezeigt wird.
  7. 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:

  1. Gehen Sie im Azure-Portal zu Speicherkonten und öffnen Sie das spezifische Speicherkonto.
  2. Wählen Sie im Ressourcenmenü unter Sicherheit + Netzwerk Zugriffsschlüssel aus.
  3. Klicken Sie auf Schlüssel anzeigen, um den Zugriffsschlüssel anzuzeigen, der während der Konfiguration von Azure AI Search verwendet werden soll.

    Speicherkontenschlüssel

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:

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:

  1. Öffnen Sie im Azure AI Foundry-Portal die spezifische OpenAI-Ressource.
  2. 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:

    AI Foundry Schlüssel und URL

  3. 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.

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:

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 Agent im 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 Agent im 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.

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
}

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 API Slack Bot API Request Handler ausgelö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 API Generic API Request Handler ausgelö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.