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 bereitzustellen, der über eine benutzerdefinierte API, die mit Jitterbit API Manager erstellt wurde, zugänglich ist.

Dieses Dokument erklärt die Einrichtung und den Betrieb des Agenten. Zunächst wird die Architektur und die Voraussetzungen behandelt, dann werden Beispielaufforderungen gegeben, um zu zeigen, was der Agent leisten kann, und schließlich werden Schritte zur Installation, Konfiguration und zum Betrieb des Agenten bereitgestellt.

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:

Azure-Ressourcen

Sie müssen über ein Microsoft Azure-Abonnement mit Berechtigungen verfügen, um die folgenden Ressourcen zu erstellen und zu verwalten:

  • Azure Storage mit einem Blob-Container zur Speicherung von Kundendaten.
  • Azure AI Search mit einem Suchdienst, der mit einem Index und einem Indexer konfiguriert werden kann.
  • Azure OpenAI mit einem bereitgestellten gpt-4o oder gpt-4.1 Modell.

Tipp

Um Preiskategorien basierend auf Ihren spezifischen Anforderungen und der voraussichtlichen Nutzung auszuwählen, siehe Azure AI Search Preiskategorien und Azure OpenAI Preise.

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:

  • NetSuite: Die Quelle der Kundenbestellformulare.
  • Salesforce: Die Quelle Ihrer Kundenkonten und Produktpreise.
  • Slack: Die Chat-Oberfläche zur Interaktion mit dem Agenten.

Wenn Sie eine andere Anwendung als Chat-Oberfläche verwenden möchten, sind ein separater Workflow und Anweisungen für eine generische API-Konfiguration in diesem KI-Agenten enthalten.

Beispielaufforderungen

Hier sind Beispielaufforderungen, die der Vertriebsagent mit Zugriff auf die entsprechenden Daten bearbeiten kann:

Kundenabfragen

  • "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 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?"
  • "Welcher Abonnementplan erlaubt 10 Umgebungen?"
  • "Kannst du die Kosten für 15 'Produkt X' und 4 'Produkt Y' berechnen?"

Abfragen zum Kontoinhaber

  • "Wer verwaltet Acme Corp?"
  • "Welche Kunden gehören 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. Benutzerdefinierte Anpassungen herunterladen und das Studio-Projekt installieren.
  2. Projekt-Workflows überprüfen.
  3. Microsoft Azure-Ressourcen erstellen.
  4. Jitterbit Cloud-Datenspeicher vorbereiten.
  5. Projektvariablen konfigurieren.
  6. Verbindungen testen.
  7. Das Projekt bereitstellen.
  8. Die benutzerdefinierte Jitterbit-API erstellen.
  9. Die Slack-App erstellen, die Slack-Verbindung testen und das Projekt erneut bereitstellen.
  10. Die Projekt-Workflows auslösen.

Benutzerdefinierte Anpassungen herunterladen und das Projekt installieren

Befolgen Sie diese Schritte, um Anpassungsdateien herunterzuladen und das Studio-Projekt für den KI-Agenten zu installieren:

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

  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 ein Vertreter Sie bezüglich des Kaufs des KI-Agenten kontaktieren kann.

  5. In Schritt 1 der Konfiguration, Benutzerdefinierte 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:

    • 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 besagt, dass die Vorlage nicht importiert werden sollte, bevor die Anpassungen am Endpunkt 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. Wählen Sie im Konfigurationsschritt 2, Neues Projekt erstellen, eine Umgebung aus, in der das Studio-Projekt erstellt wird, und klicken Sie dann auf Projekt erstellen.

  7. Ein Fortschrittsdialog wird angezeigt. Sobald 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.

Überprüfen der Projekt-Workflows

Überprüfen Sie im geöffneten Studio-Projekt die Workflows zusammen mit den Beschreibungen unten, um zu verstehen, was sie tun. Die Beschreibungen unten weisen darauf hin, wo Sie das System durch Modifizieren 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 Ihrer Organisation in einem anderen System als NetSuite gespeichert sind, müssen Sie die Operationen des Workflows anpassen, 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 Generic API Request Handler Workflow, der ebenfalls über eine benutzerdefinierte Jitterbit-API ausgelöst wird.

  3. Main - AI Agent Tools Logic

    Nachdem die Benutzerautorisierung entweder vom Main Entry - Slack API Request Handler oder vom Generic API Request Handler Workflow erhalten wurde, verwaltet dieser Workflow die Funktionsaufrufanfragen 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 Haupt-Toolaufrufe:

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

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

    3. Customer_Lookup_By_Location_Function: Dieses Tool beantwortet Benutzeranfragen, um Kunden nach Standort oder Kontoinhaber zu erhalten, indem es die Operation Main - Customer Lookup innerhalb des Tool - Customer Lookup Workflows aufruft.

  4. Tool-Customer Order Details

    Dieser Workflow ruft die 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. Triggern Sie dann die neue Operation aus der Main - Get Customer Order Form Details Operation.

  5. Tool-Pricing Sheets

    Dieser Workflow ruft die Produktpreise aus Salesforce ab.

    In der Konfiguration der Salesforce Query-Aktivität ruft die folgende Abfrage Informationen zu Produktpreisen nach Agent ab. Wenn Ihre Salesforce-Organisation diese Objekte und Felder nicht verwendet oder wenn Informationen zu Produktpreisen in anderen Objekten/Feldern gespeichert sind, funktioniert dieser Workflow 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 die Produktpreise aus dem System abzurufen und die Ergebnisse der globalen Variablen pricing_sheet zuzuweisen. Triggern Sie dann die neue Operation aus der Operation Main - Pricing Sheet.

  6. Tool - Kundenabfrage

    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 die Ergebnisse der globalen Variablen extractedContent zuzuweisen. 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 Kunde 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 die Ergebnisse der Variablen Account_Owner_List zuzuweisen. 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 ihrer aktiven 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. Dienstprogramm - 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 den Jitterbit Cloud Datastore.

    Um sich mit anderen Datenspeicherlösungen zur Speicherung und Abruf des Chatverlaufs zu integrieren, ändern Sie die Operationen des Workflows entsprechend.

  10. Generischer API-Anforderungs-Handler

    Dieser Workflow verarbeitet HTTP-API-Anfragen von jeder Anwendung. Um sich 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 benutzerdefinierten Jitterbit-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, müssen Sie über ein Microsoft Azure-Abonnement mit den entsprechenden Berechtigungen verfügen.

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 unten angezeigt wird.
  7. Bestimmen Sie die Werte der Projektvariablen für Azure Blob Storage 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. Öffnen Sie im Azure-Portal Speicherkonten und wählen Sie das spezifische Speicherkonto aus.
  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 Suchdienstname}} Der Name des Azure AI Suchdienstes.

Azure_AI_Search_Datasource_Definition.json

Platzhalter Beschreibung
{{Ihr Azure AI Suchdienstname}} Der Name des Azure AI Suchdienstes.
{{Ihr Azure Blob-Konto Name}} Der Name des Azure Blob-Kontos.
{{Ihr Azure Blob-Konto Schlüssel}} Der Zugriffsschlüssel für das Azure Blob Storage-Konto, wie oben im Abschnitt Azure Blob-Container 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 Datastore vorbereiten

Erstellen Sie zwei Schlüssel-Speicher im Jitterbit Cloud Datastore, 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 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. Sie können die Werte der Felder, deren Werte automatisch ausgefüllt oder nicht verwendet werden, leer lassen.

Bot_Authorized_Users

Dieser Schlüssel-Speicher enthält die Liste der autorisierten Benutzer und deren Sitzungen. Sie müssen die Email-Adressen der Benutzer, die autorisiert sind, auf den AI-Agenten-Bot zuzugreifen, manuell eingeben.

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 während der Interaktion automatisch eingegeben.

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

Dies kann über das Aktionsmenü des Projekts erfolgen, um Projektvariablen auszuwählen und eine Schublade am unteren Rand der Seite zu öffnen, in der die Werte überprüft und festgelegt werden 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, z. B. 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.

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

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

Teste die Endpunktkonfigurationen, um die Konnektivität mit den definierten Projektvariablenwerten zu überprüfen.

Dies kann über die Projektendpunkte und -verbinder-Registerkarte der Designkomponentenpalette erfolgen, indem man über jeden Endpunkt fährt und auf Test klickt.

Projekt bereitstellen

Stelle das Studio-Projekt bereit. Dies kann über das Aktionsmenü des Projekts erfolgen, um Bereitstellen auszuwählen.

Erstelle die Jitterbit benutzerdefinierte API

Erstelle eine benutzerdefinierte API mit dem API-Manager für eine der folgenden Optionen:

Erstelle den Slack-Bot-API-Anforderungs-Handler

Diese benutzerdefinierte Jitterbit-API löst die Slack Bot API Request Handler-Operation aus. Konfiguriere und veröffentliche die benutzerdefinierte API mit den folgenden Einstellungen:

  • API-Dienst: Slack Bot API Request Handler
  • Pfad: /
  • Projekt: Wähle 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

Behalte die Dienst-URL der veröffentlichten API zur Verwendung bei der Erstellung der Slack-App. Die Dienst-URL kann im API-Details-Bereich auf der Dienste-Registerkarte gefunden werden, indem man über die Aktionen-Spalte des Dienstes fährt und auf API-Dienst-URL kopieren klickt.

Generischer API-Anforderungs-Handler

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

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

Tipp

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:

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.

Nach der Installation der Slack-App 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 stellen Sie das Projekt erneut bereit.

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

Tipp

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 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 Operationen ausgelöst und sind nachgelagert zu den oben genannten. Sie sind nicht dafür gedacht, eigenständig ausgeführt zu werden.

Fehlersuche

Überprüfen Sie die API-Protokolle und die Betriebsprotokolle für detaillierte Informationen zur Fehlersuche.

Für zusätzliche Unterstützung kontaktieren Sie den Jitterbit-Support.