Jitterbit CRM Kontaktagent
Übersicht
Jitterbit stellt den CRM Kontaktagenten über den Jitterbit Marketplace den Kunden zur Verfügung. Dieser Agent nutzt KI, um Kontaktinformationen für CRM-Systeme wie Salesforce über eine konversationale Schnittstelle zu verwalten, wodurch Vertriebsteams Kontakte effizienter finden, erstellen und aktualisieren können. Dieser Agent verwendet die Technik der Retrieval-Augmented Generation (RAG), die das Denken von LLM mit dem Zugriff auf externe Werkzeuge und Datenquellen kombiniert.
Der Agent erhält Anfragen in natürlicher Sprache über Slack und bestimmt die Benutzerabsicht mithilfe von Azure OpenAI. Basierend auf jeder Anfrage durchsucht der Agent Salesforce nach bestehenden Kontakten, ruft Kontaktdaten von ZoomInfo ab und führt nach Genehmigung des Benutzers Erstellungs- oder Aktualisierungsoperationen in Salesforce durch. Der Agent speichert die Gesprächshistorie im Jitterbit Cloud Datastore, um kontextbewusste Antworten über eine Sitzung hinweg bereitzustellen.
Der Agent führt die folgenden Aufgaben aus:
- Empfängt Anfragen in natürlicher Sprache von Benutzern über Slack.
- Nutzt Azure OpenAI, um den Kontonamen zu extrahieren und die Absicht jeder Anfrage zu bestimmen.
- Durchsucht Salesforce nach bestehenden Kontakten, die mit dem angegebenen Konto verbunden sind.
- Fragt ZoomInfo nach Kontaktdaten, die noch nicht in Salesforce vorhanden sind, einschließlich Berufsbezeichnungen, Telefonnummern und Email-Adressen.
- Vergleicht Salesforce-Kontaktaufzeichnungen mit ZoomInfo-Daten, um veraltete oder fehlende Informationen zu identifizieren.
- Präsentiert Kontaktlisten und Aktualisierungsempfehlungen dem Benutzer in Slack zur Genehmigung, bevor Änderungen in Salesforce vorgenommen werden.
- Erstellt oder aktualisiert Kontaktaufzeichnungen in Salesforce nach Genehmigung des Benutzers.
- Speichert die Gesprächshistorie im Cloud Datastore, um den Kontext über Nachrichten innerhalb eines 30-minütigen Sitzungsfensters aufrechtzuerhalten.
- Sendet Slack-Benachrichtigungen an einen konfigurierten Vertriebswarnkanal, wenn ein Kontakt als nicht mehr im Unternehmen identifiziert wird.
Dieses Dokument erklärt, wie man diesen KI-Agenten einrichtet und betreibt. Es behandelt die Architektur und Voraussetzungen, Hinweise zur Aufforderung des Agenten und Schritte zur Installation, Konfiguration und zum Betrieb des KI-Agenten.
KI-Agent-Architektur
Dieser KI-Agent verwaltet Salesforce-Kontakte über eine konversationelle Slack-Oberfläche. Eine typische Interaktion folgt diesen Schritten:
- Ein Benutzer sendet eine Nachricht in natürlicher Sprache an den CRM-Kontakt-Agenten über Slack.
- Der Agent ruft die Gesprächshistorie aus dem Cloud Datastore ab, um den Sitzungs-Kontext aufrechtzuerhalten, und ruft dann Azure OpenAI auf, um den Kontonamen aus der Anfrage zu extrahieren.
- Der Agent fragt Salesforce an, um den Kontonamen zu validieren und die Salesforce-Konto-ID abzurufen.
- Der Agent ruft Azure OpenAI ein zweites Mal mit verfügbaren Tools auf, um die Absicht des Benutzers zu bestimmen und das geeignete Tool auszuwählen.
- Das ausgewählte Tool fragt Salesforce und ZoomInfo nach Bedarf an, um Kontaktdaten zu sammeln.
- Bei Operationen, die Kontakte erstellen oder aktualisieren, präsentiert der Agent eine Zusammenfassung an den Benutzer in Slack und wartet auf die Genehmigung, bevor er in Salesforce handelt.
- Der Agent ruft Azure OpenAI ohne Tools auf, um die endgültige Antwort mit einem kontextspezifischen Prompt zu formatieren, und postet die Antwort dann zurück an den Benutzer in Slack.
- Die Gesprächshistorie wird im Cloud Datastore gespeichert, um in nachfolgenden Nachrichten innerhalb derselben Sitzung verwendet zu werden.
Workflow-Diagramm
Das folgende Diagramm zeigt den Haupt-Workflow zur Anfragenbearbeitung für den CRM-Kontakt-Agenten.
Jitterbit
CRM Contact Agent" } SLK[fab:fa-slack
Slack] SF[fab:fa-salesforce
Salesforce] ZI[ZoomInfo API] AZR[Azure OpenAI REST call] AZM@{ shape: hex, label: "Azure OpenAI model" } CD@{ shape: hex, label: "fas:fa-database
Cloud Datastore" } SLK -->|1. User request| JSP JSP <-->|2. Session history| CD JSP <-->|3. Account lookup| SF JSP -->|4. Conversation and prompt| AZR AZR --> AZM AZM --> AZR AZR -->|5. Intent + tool selection| JSP JSP <-->|6. Contact data| SF JSP <-->|7. Contact data| ZI JSP -->|8. Response| SLK
Voraussetzungen
Sie benötigen die folgenden Komponenten, um diesen KI-Agenten zu verwenden.
Harmony-Komponenten
Sie müssen über eine Jitterbit Harmony-Lizenz mit Zugriff auf die folgenden Komponenten verfügen:
- Jitterbit Studio.
- Jitterbit Cloud Datastore, um die Gesprächshistorie und die Kontaktdaten zu speichern.
- Jitterbit CRM-Kontakt-Agent, der als Lizenz-Add-On erworben wurde.
Unterstützte Endpunkte
Der KI-Agent verbindet sich mit den folgenden Endpunkten. Sie können andere Systeme unterstützen, indem Sie die Endpunktkonfigurationen und Workflows des Projekts anpassen.
Großes Sprachmodell (LLM)
Der KI-Agent verwendet Azure OpenAI als LLM-Anbieter. Um Azure OpenAI zu nutzen, müssen Sie über ein Microsoft Azure-Abonnement mit Berechtigungen verfügen, um eine Azure OpenAI-Ressource mit einem bereitgestellten Modell zu erstellen.
Tipp
Für Preisinformationen siehe die Azure OpenAI-Preisseite.
CRM-System
Der Agent fragt Kontaktinformationen ab und aktualisiert diese in Salesforce. Um Salesforce zu nutzen, benötigen Sie ein Salesforce-Konto mit API-Zugriff und Berechtigungen zum Lesen und Schreiben von Kontaktinformationen.
Kontakt-Datenanbieter
Der Agent ruft Kontaktdaten von ZoomInfo ab, um bestehende Salesforce-Datensätze zu ergänzen. Um ZoomInfo zu nutzen, benötigen Sie ein ZoomInfo-Konto mit API-Zugangsdaten.
Messaging-Plattform
Der Agent verwendet Slack als seine Konversationsschnittstelle und Benachrichtigungskanal. Um Slack zu nutzen, benötigen Sie einen Slack-Arbeitsbereich mit einer konfigurierten Slack-App, um Nachrichten zu empfangen und zu beantworten. Für detaillierte Anweisungen zur Erstellung einer Slack-App siehe Erstellen einer Slack-App.
Agentenaufforderungen
Der CRM-Kontaktagent erhält alle Anfragen als natürliche Sprachmeldungen, die an die Slack-App gesendet werden. Dieser Abschnitt beschreibt die Regeln für effektive Aufforderungen und bietet Beispielaufforderungen.
Richtlinien für Aufforderungen
Befolgen Sie diese Richtlinien, wenn Sie Nachrichten an den Agenten senden:
-
Geben Sie den Kontonamen in jeder Aufforderung an. Das LLM versucht, den Kontonamen aus dem Gesprächsverlauf abzuleiten (alle 30 Minuten gelöscht), aber die explizite Angabe in jeder Nachricht liefert zuverlässigere Ergebnisse.
-
Um neue Kontakte zu erstellen, müssen Sie den Agenten zuerst bitten, diese mit einer Neuen Kontakte-Aufforderung zu finden. Der Agent präsentiert eine Liste von Kontakten zur Genehmigung, bevor er Datensätze in Salesforce erstellt.
-
Um bestehende Kontakte zu aktualisieren, müssen Sie zuerst eine Aktualisierungsprüfung mit einer Datenhygiene und Aktualisierungen-Aufforderung durchführen. Der Agent präsentiert Aktualisierungsempfehlungen zur Genehmigung, bevor er Änderungen in Salesforce schreibt.
Beispielaufforderungen
Die folgenden Beispielaufforderungen zeigen die Arten von Aufforderungen, die der Agent verarbeiten kann. Ersetzen Sie {Account Name} durch den Namen des Salesforce-Kontos und {list of roles} durch eine durch Kommas getrennte Liste relevanter Berufsbezeichnungen.
Neue Kontakte
Verwenden Sie diese Aufforderungen, um neue Kontakte für ein Konto mit Daten von ZoomInfo zu finden und zu erstellen:
Aufforderungen
Find New Contacts for Account - {Account Name}Find New Contacts for Account - {Account Name}, only include contacts with roles related to {list of roles}Create new contacts for account - {Account Name}
Datenhygiene und Updates
Verwenden Sie diese Aufforderungen, um veraltete oder fehlende Kontaktdaten zu identifizieren und Updates anzuwenden:
Aufforderungen
Run a hygiene check for Account - {Account Name}Run an update for existing contacts for account - {Account Name}
Bestehende Kontakte
Verwenden Sie diese Aufforderungen, um nach Kontakten zu suchen und Berichte über bereits in Salesforce vorhandene Kontakte zu erstellen:
Aufforderungen
Find Existing Contacts for Account - {Account Name}Find last 3 contacts created for Account - {Account Name}When was the last time we spoke with a contact from {Account Name}Flag contacts with no activity in Salesforce for account {Account Name}Find any duplicate contacts for account - {Account Name}Find contacts missing titles, emails, phone numbers for account - {Account Name}Compare Salesforce contacts against ZoomInfo for account - {Account Name}Locate a contact for account {Account Name} that we usually reach out to
Besondere Zugriffsaufforderungen
Die folgenden Aufforderungen erfordern Administratorzugriff, wie im Skript set.user.roles konfiguriert. Diese Vorgänge verbrauchen ZoomInfo-Guthaben aus Ihrem Kontingent:
Aufforderungen
Run an enriched hygiene check for Account - {Account Name}Enrich missing phone numbers for account - {Account Name}
Installation, Konfiguration und Betrieb
Befolgen Sie diese Schritte, um diesen KI-Agenten zu installieren, zu konfigurieren und zu betreiben:
- Projekt herunterladen und installieren
- Microsoft Azure-Ressourcen erstellen
- Die Slack-App erstellen
- Cloud Datastore konfigurieren
- Projektvariablen konfigurieren
- Verbindungen testen
- Projekt bereitstellen
- Projekt-Workflows überprüfen
- Projekt-Workflows auslösen
Für Troubleshooting-Anleitungen siehe Troubleshooting.
Projekt herunterladen und installieren
Befolge diese Schritte, um das Studio-Projekt für den KI-Agenten zu installieren:
-
Melde dich im Harmony-Portal unter https://login.jitterbit.com an und öffne den Marktplatz.
-
Suche den KI-Agenten mit dem Namen Jitterbit CRM Contact Agent. Um den Agenten zu finden, benutze die Suchleiste oder wähle im Bereich Filter unter Typ KI-Agent aus, um die Anzeige auf KI-Agenten zu beschränken.
-
Klicke auf den Link Dokumentation des Agenten, um die Dokumentation in einem separaten Tab zu öffnen. Halte den Tab geöffnet, um später darauf zurückzugreifen.
-
Klicke auf Projekt starten, um einen zweistufigen Konfigurationsdialog zu öffnen.
Hinweis
Wenn du den KI-Agenten noch nicht gekauft hast, wird stattdessen Diesen Agenten erhalten angezeigt. Klicke darauf, um einen Informationsdialog zu öffnen, und klicke dann auf Absenden, damit ein Vertreter dich bezüglich des Kaufs des KI-Agenten kontaktiert.
-
Wähle in Schritt 1 der Konfiguration, Anpassungen herunterladen, alle bereitgestellten Konfigurationsdateien herunter.
-
Klicke auf Weiter.
-
Wähle in Schritt 2 der Konfiguration, Neues Projekt erstellen, eine Umgebung aus, in der das Studio-Projekt erstellt wird, und klicke dann auf Projekt erstellen.
-
Nachdem der Fortschrittsdialog anzeigt, dass das Projekt erstellt wurde, benutze den Dialoglink Gehe zu Studio oder öffne das Projekt direkt von der Studio-Seite Projekte aus.
Microsoft Azure-Ressourcen erstellen
Erstelle die folgenden Microsoft Azure-Ressourcen und notiere die Informationen zur Konfiguration des KI-Agenten. Um diese Ressourcen zu erstellen und zu verwalten, musst du über ein Microsoft Azure-Abonnement mit den entsprechenden Berechtigungen verfügen.
Du musst eine Azure OpenAI-Ressource erstellen und ein Modell über das Azure AI Foundry-Portal bereitstellen.
Beachten Sie den Bereitstellungsnamen, die Endpunkt-URL und den API-Schlüssel. Geben Sie diese Werte ein, wenn Sie Projektvariablen konfigurieren.
Um diese Werte zu finden, befolgen Sie diese Schritte:
-
Öffnen Sie im Azure AI Foundry-Portal die spezifische OpenAI-Ressource.
-
Kopieren Sie auf der Landingpage der Ressource die Endpunkt-URL (für die Projektvariable
Openai.token) und den API-Schlüssel. -
Wählen Sie im Navigationsmenü unter Gemeinsame Ressourcen die Option Bereitstellungen. Kopieren Sie den Bereitstellungsnamen (für die Projektvariable
Openai.model).
Erstellen Sie die Slack-App
Um die Slack-Oberfläche des Agenten zu aktivieren, befolgen Sie diese Schritte:
-
Erstellen Sie eine Slack-App und installieren Sie sie in Ihrem Slack-Arbeitsbereich.
-
Erhalten Sie das Bot-Token und bewahren Sie es für die Projektvariable
Slack.tokenauf. -
Bestimmen Sie den Slack-Kanal, in dem der Agent auf Benutzeranfragen antwortet, und bewahren Sie ihn für die Projektvariable
Slack.channelauf. -
Bestimmen Sie den Slack-Kanal, der für Benachrichtigungen an Account Executives vorgesehen ist, und bewahren Sie ihn für die Projektvariable
salesforce.sales.alerts.channelauf.
Cloud Datastore konfigurieren
Der Agent verwendet drei Cloud Datastore-Schlüsselspeicher, um den Verlauf von Konversationen und die Kontaktdaten zu verwalten:
| Schlüsselspeicher | Zweck |
|---|---|
| Slack-Agent AI | Speichert den Verlauf von Konversationen für jeden Slack-Benutzer. |
| Kontakt-Cache | Stellt Kontaktdaten bereit, wenn ein Benutzer eine Erstellungs- oder Aktualisierungsaktion genehmigt. |
| LLM-Token-Kosten | Protokolliert die Token-Nutzung für jeden Azure OpenAI API-Aufruf. |
Befolgen Sie für jeden Schlüsselspeicher diese Schritte:
- Erstellen Sie den Schlüsselspeicher mit dem unten angegebenen Namen und den benutzerdefinierten Feldern.
- Suchen Sie im Komponenten-Tab des Studio-Projekts unter Endpunkte jede Cloud Datastore-Aktivität, die mit diesem Speicher verbunden ist. Jede Aktivität ist mit dem Namen des Schlüsselspeichers vorangestellt (zum Beispiel
KONTAKT-CACHE - Elemente Cache CDS löschen). Doppelklicken Sie, um es zu öffnen, weisen Sie den Speichername zu und speichern Sie.
Slack-Agent AI
Erstellen Sie einen Schlüssel-Speicher mit dem Namen Slack-Agent AI und fügen Sie die folgenden benutzerdefinierten Felder hinzu:
system_content_big(großer Text)created_on(Text)slack_channel_id(Text)user_content(Text)
Verwenden Sie diesen Speicher für alle Cloud Datastore-Aktivitäten, die mit SLACK AGENT AI beginnen.
Kontakt-Cache
Erstellen Sie einen Schlüssel-Speicher mit dem Namen Kontakt-Cache und fügen Sie die folgenden benutzerdefinierten Felder hinzu:
create_or_update(Text)jsonbody(großer Text)contactbody(großer Text)
Verwenden Sie diesen Speicher für alle Cloud Datastore-Aktivitäten, die mit CONTACT CACHE beginnen.
LLM-Token-Kosten
Erstellen Sie einen Schlüssel-Speicher mit dem Namen LLM-Token-Kosten und fügen Sie die folgenden benutzerdefinierten Felder hinzu:
total_tokens(Text)prompt_tokens(Text)completion_tokens(Text)createdDate(Text)content(großer Text)
Verwenden Sie diesen Speicher für alle Cloud Datastore-Aktivitäten, die mit LLM TOKEN COST beginnen.
Projektvariablen konfigurieren
Im Studio-Projekt, das aus dem Marketplace installiert wurde, setzen Sie Werte für die folgenden Projektvariablen.
Um Projektvariablen zu konfigurieren, verwenden Sie das Aktionsmenü des Projekts und wählen Sie Projektvariablen aus, um die Konfigurationsschublade zu öffnen.
ZoomInfo
| Variablenname | Beschreibung |
|---|---|
zoom.username |
Benutzername für das ZoomInfo-API-Konto. |
zoom.password |
Passwort für das ZoomInfo-API-Konto. |
Salesforce
| Variablenname | Beschreibung |
|---|---|
salesforce.username |
Benutzername für die Salesforce-Instanz. |
salesforce.url |
URL für die Salesforce-Instanz. |
salesforce.token |
Sicherheitstoken für das Salesforce-Konto. |
salesforce.password |
Passwort für die Salesforce-Instanz. |
salesforce.sales.alerts.channel |
Slack-Kanal, der Benachrichtigungen erhält, wenn ein Kontakt, der mit einem Salesforce-Konto verbunden ist, nicht mehr im Unternehmen ist. |
Slack
| Variablenname | Beschreibung |
|---|---|
slack.token |
Das Slack Bot-Token, das nach der Erstellung der Slack-App erhalten wurde, wird im Feld Bot User OAuth Token der Slack-Verbindung verwendet. |
slack.channel |
Slack-Kanal, in dem der Agent auf Benutzeranfragen hört und darauf reagiert. |
slack.bot.userId |
Die Benutzer-ID Ihres Slack-Bots. Wird verwendet, um die eigenen API-Aufrufe des Bots aus den Slack-Ereignisprotokollen herauszufiltern. |
Azure OpenAI
| Variablenname | Beschreibung |
|---|---|
openai.token |
API-Schlüssel, der zur Authentifizierung von Anfragen an den Azure OpenAI-Dienst verwendet wird. |
openai.temperature |
Steuert die Zufälligkeit der Modellausgabe. Auf 1 setzen, wenn das Modell o4-mini verwendet wird. Andernfalls einen Wert von 0,5 oder niedriger für konsistentere Antworten verwenden. |
openai.model |
Bereitstellungsname des zu verwendenden Azure OpenAI-Modells. |
Cloud Datastore
| Variablenname | Beschreibung |
|---|---|
clouddatastore.token |
Authentifizierungstoken für Cloud Datastore, das von der Management Console Access Tokens Seite erhalten wird. |
Konversationseinstellungen
| Variablenname | Beschreibung |
|---|---|
cleanup.historytime |
Dauer in Sekunden, die der Verlauf der Konversation aufbewahrt wird, bevor er bereinigt wird. Standard ist 1800 (30 Minuten). Längere Werte senden mehr Kontext an das LLM pro Anfrage. |
Verbindungen testen
Teste die Endpunktkonfigurationen, um die Konnektivität mit den definierten Projektvariablenwerten zu überprüfen.
Um Verbindungen zu testen, gehe zum Tab Projektendpunkte und -verbinder in der Design-Komponentenpalette, fahre mit der Maus über jeden Endpunkt und klicke auf Test.
Projekt bereitstellen
Stelle bereit das Studio-Projekt.
Um das Projekt bereitzustellen, verwende das Aktionsmenü des Projekts und wähle Bereitstellen.
Erstelle die benutzerdefinierte Jitterbit-API
Erstelle eine benutzerdefinierte API mit der Option Als API veröffentlichen für die Operation Receiver - Slack API request handler im Workflow Main Entry - Slack API Request Handler.
Konfiguriere diese Einstellungen für den Dienst:
| Einstellung | Wert |
|---|---|
| Dienstname | slackApiRequestHandler |
| Operation | Receiver - Slack API request handler |
| Pfad | /slackApiRequestHandler |
| Methode | POST |
| Antworttyp | Systemvariable |
Nachdem Sie den Dienst konfiguriert haben, veröffentlichen Sie die benutzerdefinierte API.
Kopieren Sie die API-Dienst-URL. Um die Dienst-URL zu finden, gehen Sie zum API-Details-Bereich auf der Dienste-Registerkarte, fahren Sie mit der Maus über die Aktionen-Spalte des Dienstes und klicken Sie auf API-Dienst-URL kopieren.
Navigieren Sie in der Konfiguration Ihrer Slack-App zu Features > Ereignis-Abonnements und aktivieren Sie Ereignisse. Fügen Sie dann die API-Dienst-URL in das Feld Anforderungs-URL ein. Slack sendet eine Anfrage mit einem challenge-Parameter. Sobald Slack bestätigt, dass die URL gültig ist, klicken Sie auf Änderungen speichern.
Tipp
Sie können auch ein Sicherheitsprofil zur Authentifizierung hinzufügen.
Überprüfen der Projekt-Workflows
Das Studio-Projekt enthält 18 Workflows, die die Funktionalität des CRM-Kontaktagenten implementieren, organisiert in fünf funktionale Gruppen.
Einstiegspunkt
| Workflow | Beschreibung |
|---|---|
| Haupt-Einstieg - Slack API-Anforderungs-Handler | Empfängt eingehende Slack-Nachrichten und initiiert das Hauptsteuerungsskript. |
Haupt-Einstieg - Slack API-Anforderungs-Handler
Dieser Workflow empfängt Slack-Nachrichten und führt das Hauptsteuerungsskript (controller.receiver.async) aus. Der Controller orchestriert den gesamten Anforderungsbearbeitungsprozess: Er ruft die Gesprächshistorie aus dem Cloud Datastore ab, ruft Azure OpenAI auf, um den Kontonamen zu extrahieren und die Absicht zu bestimmen, leitet die Anfrage an das entsprechende Tool weiter, formatiert die LLM-Antwort und postet das Ergebnis zurück an den Slack-Benutzer.
API-Integrationen
| Workflow | Beschreibung |
|---|---|
| API - Slack-Handler | Behandelt alle Slack API-Interaktionen, einschließlich des Postens von Nachrichten und des Löschens von Tippindikatoren. |
| API - Azure Open AI | Enthält beide Arten von Azure OpenAI API-Aufrufen: mit Tools zur Absichtserkennung und ohne Tools zur Antwortformatierung. |
| API - Zoom Info | Beherbergt ZoomInfo API-Operationen zur Kontaktsuche, Authentifizierung und zum Abrufen von Kontaktdaten. |
API - Slack Handler
Dieser Workflow enthält alle Slack API-Operationen, die vom Agenten verwendet werden, einschließlich der Abfrage des Slack-Profils des Benutzers, dem Posten eines "tippt gerade..."-Indikators, dem Posten der endgültigen Antwort und dem Löschen des Tippindikators, nachdem die Antwort gesendet wurde.
API - Azure Open AI
Dieser Workflow enthält zwei Arten von Azure OpenAI API-Aufrufen:
- Open AI - Prompt HTTP With Tools: Sendet eine Anfrage an Azure OpenAI mit einer Liste verfügbarer Tools. Dieser Aufruf wird verwendet, um den Kontonamen aus der Nachricht des Benutzers zu extrahieren und die Absicht der Anfrage zu bestimmen.
- Open AI - Prompt HTTP No Tools: Sendet eine Anfrage an Azure OpenAI ohne Tools, nachdem das ausgewählte Tool alle erforderlichen Daten gesammelt hat. Dieser Aufruf generiert die endgültige, Slack-bereite Antwort mithilfe eines kontextspezifischen Prompts.
Die beiden Aufrufe verwenden separate Gesprächsverläufe. Der Aufruf zur Bestimmung der Absicht verwendet einen kontospezifischen Verlauf, während der Aufruf zur Extraktion des Kontonamens den vollständigen Gesprächsverlauf verwendet. Diese Trennung hält den Kontext, der an das LLM gesendet wird, fokussiert und reduziert die unnötige Token-Nutzung.
API - Zoom Info
Dieser Workflow beherbergt alle ZoomInfo API-Operationen. Die Operationen sind nach Datentyp und nicht nach Tool organisiert, was sie über mehrere Tools hinweg wiederverwendbar macht. Alle ZoomInfo-Operationen erfordern, dass Sie die Projektvariable core.zoom.resource auf einen gültigen Wert setzen. Gültige Werte ab März 2026 sind contact, authenticate, enrich_contact und scoop.
Das Skript core. Load Zoom API Resource zentralisiert alle API-Basis-URLs und Webobjekte, was es einfach macht, bei Bedarf zu einem anderen Anbieter von Kontaktdaten zu wechseln. Alle Anfragen zu Kontaktdaten teilen sich die standardmäßige ZoomInfo POST-Aktivität. Der Authentifizierungsaufruf verwendet eine separate Aktivität.
Memory and state
| Workflow | Beschreibung |
|---|---|
| Memory - Cloud Datastore | Verwaltet Lese- und Schreiboperationen im Cloud Datastore für Gesprächsverlauf und Kontaktdaten. |
| Conversation Cleanup Controller | Entfernt Gesprächsverläufe, die älter sind als der konfigurierte cleanup.historytime-Schwellenwert. |
| Scheduler Task Manager | Verwaltet Operationen, die so konfiguriert sind, dass sie nach einem Zeitplan ausgeführt werden. |
Speicher - Cloud Datastore
Dieser Workflow verwaltet vier Arten von Cloud Datastore-Operationen, die über drei Cloud Datastore-Speicher verteilt sind:
- Get Account Specific Slack History: Ruft die Gesprächshistorie für ein bestimmtes Salesforce-Konto ab und bietet dem LLM einen fokussierten Kontext, der für die aktuelle Anfrage relevant ist.
- Get Master Slack History: Ruft die vollständige Gesprächshistorie für den Slack-Benutzer ab. Der Agent verwendet dies nur, wenn er das LLM aufruft, um den Kontonamen zu extrahieren.
- Cache Last Message Controller: Speichert Kontaktdaten kurz bevor eine Erstellungs- oder Aktualisierungsaktion genehmigt wird. Der Agent schlüsselt die Daten anhand einer Kombination aus Slack-Benutzer-ID und Salesforce-Konto-ID, um sicherzustellen, dass die richtige Kontaktliste referenziert wird, wenn der Benutzer eine Aktion genehmigt. Wenn der im Cache gespeicherte Schlüssel nicht mit dem aktuell referenzierten Konto übereinstimmt, meldet der Agent eine Diskrepanz und fährt nicht fort.
- Store Token Costs to Cache: Protokolliert die Token-Nutzung aus jedem Azure OpenAI API-Aufruf zur Überprüfung durch den Kunden und zur Kostenberichterstattung.
Gesprächsbereinigungs-Controller
Dieser Workflow entfernt Gesprächshistorien, die den Schwellenwert cleanup.historytime überschreiten. Wenn das LLM mehr Gesprächsdaten erhält, als es effektiv verarbeiten kann, kann es möglicherweise die Absicht der aktuellen Anfrage nicht bestimmen. In diesem Fall reduziert der Agent das Historienfenster auf 10 Minuten und bittet den Benutzer, die Eingabe erneut einzureichen.
Scheduler Task Manager
Dieser Workflow verwaltet alle Operationen, die so konfiguriert sind, dass sie nach Betriebsplänen ausgeführt werden.
Zwei Operationen haben spezifische Planungsanforderungen:
-
Conversation Cleanup Controller: Soll mindestens alle 5 Minuten ausgeführt werden. Dies steuert, wie eng die tatsächliche Aufbewahrung mit dem Schwellenwert
cleanup.historytimeübereinstimmt. Je seltener es ausgeführt wird, desto länger kann die Historie über das konfigurierte Limit hinaus bestehen bleiben. -
Account Executive Notifications: Soll einmal täglich ausgeführt werden. Die Standardabfrage bezieht sich auf die Daten dieses Tages, sodass eine mehrfache Ausführung Duplikate zurückgibt.
Um einen Zeitplan zu konfigurieren, öffnen Sie das Aktionsmenü der Operation und wählen Sie Einstellungen > Zeitpläne.
Dienstprogramme
| Workflow | Beschreibung |
|---|---|
| Utility Tools | Enthält wiederverwendbare Dienstprogrammskripte für Salesforce-Kontoabfragen und Email-Kommunikationsprüfungen. |
| Tools Supervisor | Leitet Anfragen basierend auf der von Azure OpenAI zurückgegebenen Absicht an den entsprechenden Tool-Workflow weiter. |
Utility Tools
Dieser Workflow enthält wiederverwendbare Dienstprogrammskripte, die in mehreren Tool-Workflows aufgerufen werden können:
Utility- Get Account id from Salesforce: Sucht eine Salesforce-Konto-ID anhand des Kontonamens.Utility- Check for Email COMs by Name: Durchsucht Salesforce nach Email-Konversationen anhand des Kontaktnamens und der Domain. Erfordert, dass ein Kontaktnamen und eine Domain als Argumente festgelegt werden, bevor das Skript aufgerufen wird.Utility- Get Number of Contacts for SF Account: Gibt die Anzahl der Kontakte zurück, die mit einem Salesforce-Konto verbunden sind. Dieses Dienstprogramm wird derzeit nicht verwendet.Utility- Check Empty Email Contacts: Durchläuft ein Verzeichnis von Kontakten, die keine Email-Adresse in Salesforce haben, und ruft die Email-Kommunikationsprüfung für jeden auf, um nach verwandten Email-Aktivitäten zu suchen.
Tools Supervisor
Dieser Workflow liest den von Azure OpenAI zurückgegebenen Absichtswert (gespeichert in der Projektvariablen openai.response.route) und verwendet eine Fallanweisung, um die Anfrage an den entsprechenden Tool-Workflow weiterzuleiten. Wenn ein Kontoname gefunden wird, aber kein Weg bestimmt werden kann (typischerweise aufgrund einer langen Gesprächshistorie), bereinigt der Agent die Historie und bittet den Benutzer, die Eingabe erneut einzureichen.
Agentenwerkzeuge
| Workflow | Beschreibung |
|---|---|
| Search Existing Contact | Ruft alle Kontakte für ein bestimmtes Salesforce-Konto ab. |
| Search New Contacts | Abfragen von ZoomInfo nach Kontakten, die noch nicht in Salesforce sind, und Abgleich der Ergebnisse mit vorhandenen Datensätzen. |
| Confirm Contact Creation | Präsentiert dem Benutzer in Slack eine Liste neuer Kontakte zur Genehmigung, bevor Datensätze in Salesforce erstellt werden. |
| Execute Contact Creation | Erstellt genehmigte Kontaktaufzeichnungen in Salesforce mithilfe einer Upsert-Operation, die auf der Email-Adresse basiert. |
| Hygiene Check | Vergleicht Salesforce-Kontaktaufzeichnungen mit ZoomInfo-Daten, um Titelabweichungen und fehlende Informationen zu identifizieren. |
| Enriched Hygiene Check | Führt einen detaillierten Vergleich von Salesforce- und ZoomInfo-Kontaktaufzeichnungen für Administratoren durch. Dieser Workflow verbraucht ZoomInfo-Credits. |
| Account Executives Notifications | Sendet Slack-Benachrichtigungen an den Vertriebswarnkanal, wenn ein Kontakt als nicht mehr im Unternehmen identifiziert wird. |
| Confirm Contact Update | Präsentiert dem Benutzer in Slack Empfehlungen zur Kontaktaktualisierung zur Genehmigung, bevor Änderungen in Salesforce angewendet werden. |
| Execute Contact Update | Wendet genehmigte Kontaktaktualisierungen in Salesforce an und berichtet dem Benutzer über Erfolg oder Misserfolg. |
Suche nach bestehenden Kontakten
Dieser Workflow ruft alle Kontakte für ein angegebenes Konto aus Salesforce ab. Der Skriptname lautet search_existing_contact - controller. Der Workflow speichert Kontaktdaten in salesforce.response.body, schreibt sie in $tool.response zur Verarbeitung durch das LLM und setzt die Antwortüberprüfung auf master_prompt.
Suche nach neuen Kontakten
Dieser Workflow ruft Kontaktdaten von ZoomInfo für ein angegebenes Konto ab. Der Skriptname lautet search_new_contact Controller. Der Workflow führt einen ZoomInfo-API-Aufruf pro Berufsbezeichnung durch, die in der Projektvariablen $zoom.query_jobTitle konfiguriert ist. Begrenzen Sie diese Variable auf vier oder fünf Rollen, um akzeptable Antwortzeiten zu gewährleisten.
Der Workflow führt zunächst eine offene Suche ohne Rollenfilter durch, um eine uneingeschränkte Kontaktliste abzurufen, und führt dann rollenbasierte Aufrufe durch. Der Workflow ordnet die Ergebnisse einem gemeinsamen JSON-Schema (contactdata.json) zu, das in anderen Tools verwendet wird. Der Workflow vergleicht jeden neuen Kontakt mit Salesforce, um zu überprüfen, ob er bereits für das Konto existiert. Das Tool überprüft auch die Email-Aktivität für Kontakte, die über ZoomInfo gefunden wurden, mithilfe des Dienstprogramms Utility- Check Empty Email Contacts.
Bestätigung der Kontaktcreation
Dieser Workflow ruft die von dem Workflow Suche nach neuen Kontakten gespeicherte Kontaktliste aus dem Kontakt-Cache Cloud Datastore-Schlüssel-Speicher ab und sendet sie mit einem confirm_create_contact-Prompt an Azure OpenAI. Das LLM leitet Email-Adressen aus den verfügbaren Salesforce-Daten ab und präsentiert dem Benutzer in Slack eine strukturierte Kontaktliste, die um Genehmigung bittet, bevor Datensätze erstellt werden. Der Workflow speichert die genehmigten Kontaktdaten zurück im Kontakt-Cache zur Verwendung im Workflow Ausführung der Kontaktcreation.
Ausführung der Kontaktcreation
Dieser Workflow ruft die genehmigte Kontaktliste aus dem Kontakt-Cache Cloud Datastore-Schlüssel-Speicher ab und vergleicht die Salesforce-Konto-ID im Cache-Schlüssel mit dem Konto, das derzeit im Gespräch referenziert wird. Wenn die IDs übereinstimmen, erstellt der Workflow Kontaktaufzeichnungen in Salesforce mithilfe einer Upsert-Operation, die auf der Email-Adresse basiert. Bei einer Abweichung benachrichtigt der Agent den Benutzer und fährt nicht mit der Erstellung fort.
Hygiene Check
Dieser Workflow ruft alle Kontakte für ein Salesforce-Konto ab und fragt dann für jeden Kontakt ZoomInfo ab, um Titelabweichungen oder fehlende Informationen zu identifizieren. Der Workflow fügt Kontakte ohne Email-Adresse in Salesforce einem Wörterbuch hinzu und überprüft sie auf Email-Aktivitäten mit dem Utility- Check Empty Email Contacts-Dienstprogramm. Der Workflow speichert Daten sowohl von Salesforce als auch von ZoomInfo in $tool.response und setzt die Antwortüberprüfung auf hygiene_check.
Enriched Hygiene Check
Dieser Workflow funktioniert ähnlich wie der Hygiene Check-Workflow, ist jedoch auf Administratoren beschränkt, wie im Skript set.user.roles konfiguriert. Dieser Workflow verbraucht ZoomInfo-Guthaben aus Ihrem Kontingent. Dieser Workflow setzt die Antwortüberprüfung auf enriched_hygiene_check.
Account Executives Notifications
Dieser Workflow sendet eine Slack-Benachrichtigung an den im salesforce.sales.alerts.channel konfigurierten Kanal, wenn der Agent einen Kontakt identifiziert, der mit einem bekannten Salesforce-Konto verbunden ist und nicht mehr mit diesem Unternehmen verbunden ist.
Confirm Contact Update
Dieser Workflow ruft alle Kontakte für das angegebene Salesforce-Konto ab und fragt ZoomInfo für jeden Kontakt ab, um zu überprüfen, ob sich der Titel geändert hat. Er überprüft auch Salesforce auf Email-Aktivitäten, die mit jedem Kontakt verbunden sind. Basierend auf diesen Überprüfungen weist eine Transformation jedem Kontakt eine von drei empfohlenen Aktionen zu: recommend_update, recommend_donotupdate oder recommend_delete. Der Agent präsentiert diese Empfehlungen dem Benutzer zur Genehmigung, bevor er Maßnahmen ergreift. Beachten Sie, dass der CRM Contact Agent keine Kontakte aus Salesforce löscht; die Aktion recommend_delete weist den Benutzer darauf hin, dass ein Kontakt möglicherweise entfernt werden muss.
Execute Contact Update
Dieser Workflow ruft genehmigte Aktualisierungsdaten aus dem Contact cache Cloud Datastore-Schlüssel-Speicher ab, überprüft, ob das referenzierte Konto mit der im Cache-Schlüssel gespeicherten Kontonummer übereinstimmt, und wendet dann die genehmigten Aktualisierungen auf die Salesforce-Kontaktdatensätze an. Der Workflow berichtet dem Benutzer in Slack über den Erfolg oder Misserfolg jeder Aktualisierung.
Triggern Sie die Projekt-Workflows
Der CRM-Kontaktagent wird durch eingehende Nachrichten von der mit dem Main Entry - Slack API Request Handler Workflow verbundenen Slack-App ausgelöst. Sie müssen keinen Vorgang manuell ausführen, um den Agenten zu starten; die Slack-App übernimmt das automatische Auslösen, wenn Benutzer Nachrichten senden.
Der Scheduler Task Manager Workflow unterstützt Betriebspläne für alle Vorgänge, die Sie regelmäßig ausführen möchten. Um einen Plan zu konfigurieren, öffnen Sie das Aktionsmenü des Vorgangs und wählen Sie Einstellungen > Zeitpläne.
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.