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. Er führt Folgendes aus:

  • Stellt eine Verbindung zu NetSuite und Salesforce her, um in Echtzeit Verkaufsbestellungen, Preise und Kundendaten mithilfe von Jitterbit Integration 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 werden die Voraussetzungen behandelt, gefolgt von Beispielaufforderungen, um zu zeigen, was der Agent leisten kann, und schließlich werden Schritte zur Installation, Konfiguration und zum Betrieb des Agenten bereitgestellt.

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 Preisklassen basierend auf Ihren spezifischen Anforderungen und der erwarteten Nutzung auszuwählen, siehe Azure AI Search Preisklassen 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:

Fragen zur Kundenabfrage

  • "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 professionelle Abonnement?"
  • "Welches Abonnement ermöglicht 10 Umgebungen?"
  • "Kannst du die Kosten für 15 'Produkt X' und 4 'Produkt Y' berechnen?"

Anfragen 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. Laden Sie Anpassungen herunter und installieren Sie das Integration Studio-Projekt.
  2. Überprüfen Sie die Projekt-Workflows.
  3. Erstellen Sie Microsoft Azure-Ressourcen.
  4. Bereiten Sie den Jitterbit Cloud Datastore (Beta) 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 Integration 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 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.

  4. Klicken Sie auf Projekt starten, um einen zweistufigen Konfigurationsdialog zu öffnen, um Anpassungen herunterzuladen und den KI-Agenten als Integration 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. Im Konfigurationsschritt 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. Im Konfigurationsschritt 2, Neues Projekt erstellen, wählen Sie eine Umgebung, in der das Integration 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 Integration Studio oder öffnen Sie das Projekt direkt von der Integration Studio Projekte Seite.

Überprüfen der Projekt-Workflows

Überprüfen Sie im geöffneten Integration Studio-Projekt die Workflows zusammen mit den folgenden Beschreibungen, um zu verstehen, was sie tun. Die folgenden 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 Ihrer Organisation 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

    Nach Erhalt der Benutzerautorisierung von entweder dem Main Entry - Slack API Request Handler oder dem Generic API Request Handler Workflow 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 finden, indem es die Operation Main - Customer Lookup innerhalb des Tool - Customer Lookup Workflows aufruft.

  4. Tool-Kundenbestelldetails

    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 von der Operation Main - Get Customer Order Form Details.

  5. Tool-Preisliste

    Dieser Workflow ruft die Produktpreise aus Salesforce ab.

    In der Konfiguration der Salesforce-Abfrageaktivitä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 Preisfragen 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 Variable `pricing_sheet` zuzuweisen. Triggern Sie dann die neue Operation aus der Operation `Main - Pricing Sheet`.

6.  **Tool - Kundenabfrage**

    Dieser Workflow ruft Kunden von Salesforce ab.

    In der Konfiguration der [Salesforce-Abfrageaktivität](/de/integration-studio/design/connectors/salesforce/salesforce-connector-configuration/salesforce-query-activity/) 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:

    ```sql
    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 Variable `extractedContent` zuzuweisen. Triggern Sie dann die neue Operation aus der Operation `Main - Customer Lookup`.

7.  **Utility - Alle Kontoinhaber abrufen**

    Dieser Workflow ruft Kontoinhaber von Salesforce ab.

    In der Konfiguration der [Salesforce-Abfrageaktivität](/de/integration-studio/design/connectors/salesforce/salesforce-connector-configuration/salesforce-query-activity/) ruft die folgende Abfrage Kontoinhaber (Name und Email) für alle Konten vom Typ `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:

    ```sql
    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 Variable `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 (Beta)](/de/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 (Beta).

    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](#create-the-jitterbit-custom-api) weiter unten auf dieser Seite beschrieben.

### Microsoft Azure-Ressourcen erstellen {: #create-microsoft-azure-resources }

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](https://learn.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations) verfügen.

#### Azure Blob-Container {: #azure-blob-container }

Sie müssen [einen Azure Blob-Container erstellen](https://learn.microsoft.com/en-us/azure/storage/blobs/blob-containers-portal), 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](#azure-blob-storage) zu bestimmen. Um die SAS-URL zu generieren:

1.  Gehen Sie im Azure-Portal zu [Speicherkonten](https://portal.azure.com/#browse/Microsoft.Storage%2FStorageAccounts) 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](/_download/images/other/azure-sas.png)

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](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-keys-manage?tabs=azure-portal#view-account-access-keys):

1.  Öffnen Sie im Azure-Portal [Speicherkonten](https://portal.azure.com/#browse/Microsoft.Storage%2FStorageAccounts) 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](#azure-ai-search) verwendet werden soll.

    ![Speicherkontenschlüssel](/_download/images/other/azure-keys.png)

#### Azure AI Search-Dienst {: #azure-ai-search-service }

Sie müssen [einen Azure AI Search-Dienst erstellen](https://learn.microsoft.com/en-us/azure/search/search-create-service-portal) 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](#azure-ai-search) zu bestimmen:

-   **URL:** Um den Wert für `azure_ai_search_url` zu erhalten, beziehen Sie sich auf die Azure-Dokumentation [Dienstinformationen abrufen](https://learn.microsoft.com/en-us/azure/search/search-get-started-rbac?pivots=rest#get-service-information).
-   **API-Schlüssel:** Um den Wert für `azure_ai_search_api_key` zu erhalten, beziehen Sie sich auf die Azure-Dokumentation [Rollenspezifischen Zugriff konfigurieren](https://learn.microsoft.com/en-us/azure/search/search-get-started-rbac?pivots=rest#configure-role-based-access).

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-Kontoname}}`         | Der Name des Azure Blob-Kontos.                                                                                                  |
| `{{Ihr Azure Blob-Kontenschlüssel}}`   | Der Zugriffsschlüssel für das Azure Blob Storage-Konto, wie oben im Abschnitt [Azure Blob-Container](#azure-blob-container) beschrieben. |
| `{{Ihr_azure_blob_container_name}}`    | Der Name des Azure Blob-Containers.                                                                                              |



#### Azure OpenAI-Ressource {: #azure-openai-resource }

Sie müssen [eine Azure OpenAI-Ressource erstellen](https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/create-resource?pivots=web-portal) 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](#azure-openai) 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 key and URL](/_download/images/other/azure-foundry.png){style="width: 1286px"}

3.  Wählen Sie im Navigationsmenü unter **Geteilte Ressourcen** **Bereitstellungen** aus. Der Bereitstellungsname (`Azure_OpenAI_Deployment_Name`) wird angezeigt.

### Jitterbit Cloud Datastore (Beta) vorbereiten

[Erstellen Sie zwei Schlüssel-Speicher](/de/management-console/cloud-datastore/#key-storages) im Jitterbit Cloud Datastore (Beta), `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 (Beta) 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](/de/management-console/cloud-datastore/#key-storage-registers) 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 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 Integration Studio-Projekt, das zuvor über den Marketplace installiert wurde, müssen Werte für die folgenden [Projektvariablen](/de/integration-studio/design/variables/project/) festgelegt werden.

Dies kann über das Aktionsmenü <span class="icon-more"></span> 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](/de/integration-studio/design/connectors/salesforce/salesforce-connector-configuration/salesforce-connection/#configure-a-salesforce-connection)    |
| `SF_Password`       | **Passwort** in der [Salesforce-Verbindung](/de/integration-studio/design/connectors/salesforce/salesforce-connector-configuration/salesforce-connection/#configure-a-salesforce-connection)       |
| `SF_Security_Token` | **Sicherheitstoken** in der [Salesforce-Verbindung](/de/integration-studio/design/connectors/salesforce/salesforce-connector-configuration/salesforce-connection/#configure-a-salesforce-connection) |
| `SF_User_Name`      | **Benutzername** in der [Salesforce-Verbindung](/de/integration-studio/design/connectors/salesforce/salesforce-connector-configuration/salesforce-connection/#configure-a-salesforce-connection)       |

#### NetSuite



| Variablenname              | Beschreibung                                                                                                                                                                            |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `NetSuite_Account`         | **Konto** in der [NetSuite-Verbindung](/de/integration-studio/design/connectors/netsuite/netsuite-connector-configuration/netsuite-connection/#configure-a-netsuite-connection)         |
| `NetSuite_Consumer_Key`    | **Verbraucherschlüssel** in der [NetSuite-Verbindung](/de/integration-studio/design/connectors/netsuite/netsuite-connector-configuration/netsuite-connection/#configure-a-netsuite-connection)    |
| `NetSuite_Consumer_Secret` | **Verbraucher-Geheimnis** in der [NetSuite-Verbindung](/de/integration-studio/design/connectors/netsuite/netsuite-connector-configuration/netsuite-connection/#configure-a-netsuite-connection) |
| `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](/de/integration-studio/design/connectors/netsuite/netsuite-connector-configuration/netsuite-connection/#configure-a-netsuite-connection)       |
| `NetSuite_Token_Secret`    | **Token-Geheimnis** in der [NetSuite-Verbindung](/de/integration-studio/design/connectors/netsuite/netsuite-connector-configuration/netsuite-connection/#configure-a-netsuite-connection)    |

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

!!! tip "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-Indexes, 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](https://learn.microsoft.com/en-us/azure/ai-foundry/openai/concepts/models?tabs=global-standard%2Cstandard-chat-completions#gpt-41-series) unterstützt bis zu 32768 Tokens, während [GPT-4o](https://learn.microsoft.com/en-us/azure/ai-foundry/openai/concepts/models?tabs=global-standard%2Cstandard-chat-completions#gpt-4o-and-gpt-4-turbo) 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](#create-the-slack-app) erhalten wird, wird für das **OAuth-Zugriffstoken des Bot-Benutzers** in der [Slack-Verbindung](/de/integration-studio/design/connectors/slack/connection/) verwendet. |

!!! note "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](/de/integration-studio/design/connectors/connector-basics/#connectorbasics-connection-testing) die Endpunktkonfigurationen, um die Konnektivität mit den definierten Projektvariablenwerten zu überprüfen.

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

### Projekt bereitstellen

[Projekt bereitstellen](/de/integration-studio/design/projects/deployment/) das Integration Studio-Projekt. Dies kann über das {{icon_more}} Aktionsmenü des Projekts erfolgen, um **Bereitstellen** auszuwählen.

### Die benutzerdefinierte Jitterbit-API erstellen

[Erstellen Sie eine benutzerdefinierte API](/de/api-manager/api-manager-reference/api-configuration/custom-api/) mit dem API-Manager für eine der folgenden:

-   [Slack-Bot-API-Anforderungsbehandler](#create-the-slack-bot-api-request-handler): Erforderlich, wenn die Slack-Benachrichtigung, die im Design dieses KI-Agenten enthalten ist, verwendet wird.
-   [Allgemeiner API-Anforderungsbehandler](#generic-api-request-handler): Optional. Verwenden Sie ihn zur Verarbeitung von API-Anfragen aus beliebigen Anwendungen.

#### Erstellen Sie den Slack-Bot-API-Anforderungsbehandler

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 Integration 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](/de/api-manager/api-manager-user-interface/apis/#api-details-drawer) auf der **Dienste**-Registerkarte, indem Sie über die **Aktionen**-Spalte des Dienstes fahren und auf {{icon_copy}} **API-Dienst-URL kopieren** klicken.

#### Allgemeiner API-Anforderungsbehandler

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 Integration Studio-Projekt aus, das aus dem `Jitterbit Sales Agent` im Marketplace erstellt wurde
-   **Operation:** `Generic API request Handler`
-   **Method:** `POST`
-   **Response type:** `System Variable`

!!! tip "Hinweis"
    Sie können auch ein [Sicherheitsprofil](/de/api-manager/api-manager-user-interface/security-profiles/) zur Authentifizierung hinzufügen.

``` title="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 Sales Agent-Chatoberfläche 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 neu.

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 mit der Maus ü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 Operationsprotokolle für detaillierte Informationen zur Fehlersuche.

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