Wenn ServiceNow-Aktionen aktiviert sind, können Endnutzer den Assistenten bitten, die folgenden ServiceNow-Aktionen auszuführen:
- ServiceNow-Vorfälle erstellen
- ServiceNow-Vorfälle aktualisieren
Ein Nutzer könnte beispielsweise „Erstelle ein ServiceNow-Ticket zu einem Computerhardwarefehler“ oder „Aktualisiere das ServiceNow-Ticket INC0010001 auf hohe Dringlichkeit“ in die App eingeben. Der Assistent fragt bei Bedarf nach zusätzlichen Details und bittet den Nutzer dann, die Erstellungs- oder Aktualisierungsanfrage zu bestätigen.
Der Assistent kann die folgenden ServiceNow-Felder über Aktionen lesen und aktualisieren:
Feld |
Beschreibung |
---|---|
Anrufer |
Pflichteingabe. Die E-Mail-Adresse des Anrufers, in dessen Namen der Vorfall erstellt wird, z. B. user@google.com. |
Titel |
Ein kurzer Titel für den zu erstellenden Vorfall. |
Beschreibung |
Details zum zu erstellenden Vorfall. |
Kategorie |
Kategorie des Vorfalls, der erstellt werden soll. |
Auswirkungen |
Auswirkungen des Vorfalls. |
Dringlichkeit |
Dringlichkeit des Vorfalls. |
Status |
Status des Vorfalls. |
Zugewiesen an |
E-Mail-Adresse des Nutzers, dem der Vorfall zugewiesen werden soll, z. B. user@google.com . |
Zuweisungsgruppe |
Nutzergruppe, der der Vorfall zugewiesen werden soll. |
Code schließen |
Schließungscode für den Vorfall. |
Notizen schließen |
Schließen Sie die Notizen für den Vorfall. |
Authentifizierung und Berechtigungen für ServiceNow einrichten
Bevor Sie ServiceNow-Aktionen aktivieren, muss ein ServiceNow-Administrator einen ServiceNow-Connector für Aktionen autorisieren und einrichten. Dies ist erforderlich, um Ihre Integration zu verbinden und Lese- und Schreibberechtigungen für Aktionen zu erteilen.
Bevor Sie die Verbindung einrichten, müssen Sie Folgendes erledigt haben:
Administratorberechtigung: Sie müssen ein ServiceNow-Administrator sein.
ServiceNow-Instanz: Erstellen Sie eine ServiceNow-Instanz. Folgen Sie dazu der Anleitung in der ServiceNow-Entwicklerdokumentation.
Google Cloud -Projekt: Richten Sie ein Google Cloud -Projekt mit einem Administratorkonto ein, das Konfigurationen auf Organisationsebene verwalten kann, damit die Organisation einen Personalpool einrichten kann.
Personalpool: Ihre Organisation muss für die Verwaltung eines Personalpools eingerichtet sein.
Weitere Informationen finden Sie im Blogpost OAuth 2.0 with Inbound REST.
ServiceNow einrichten
ServiceNow bietet zwei primäre Websites:
- ServiceNow-Hauptwebsite: Die Website für Ihre ServiceNow-Instanz.
- Verwaltet Nutzer, Gruppen und Systemverwaltungsaufgaben.
- URL: Die URL für Ihre ServiceNow-Instanz.
- Melden Sie sich mit Ihren Administratoranmeldedaten an.
- Entwicklerwebsite:
- Hier lassen sich die Wissensdatenbank konfigurieren, Workflows einrichten und benutzerdefinierte Anwendungen entwickeln.
- URL:
https://developer.service-now.com
. - Melden Sie sich mit Ihrer ServiceNow-ID an.
OAuth-Endpunkt erstellen
So erstellen Sie einen OAuth-Endpunkt:
- Melden Sie sich mit Administratorberechtigungen in der Hauptinstanz von ServiceNow an.
- Gehen Sie zu Alle > System-OAuth > Anwendungsregistrierung.
- Klicken Sie auf Neu und wählen Sie dann OAuth-API-Endpunkt für externe Clients erstellen aus. Rufen Sie die Client-ID und den Clientschlüssel ab.
- Geben Sie die erforderlichen Informationen ein:
- Name: Eindeutiger Name.
- Weiterleitungs-URL:
https://vertexaisearch.cloud.google.com/oauth-redirect
- Klicken Sie auf Senden, um die Anmeldedaten zu erstellen.
- Klicken Sie nach dem Einreichen auf den Namen, um das Client-Secret aufzurufen.
- Der Clientschlüssel ist maskiert. Klicken Sie daneben auf das Schlosssymbol, um die Maskierung des Secrets aufzuheben und es anzusehen.
- Bewahren Sie eine Kopie der Client-ID und des Clientschlüssels auf, um sie bei Bedarf zu verwenden.
- Rufen Sie
developer.service-now.com
auf und klicken Sie auf Instanzpasswort verwalten. - Bewahren Sie eine Kopie des Nutzernamens und des Passworts auf, um sie bei Bedarf zu verwenden.
- In dieser Phase sind alle fünf Informationen verfügbar, die zum Einrichten eines ServiceNow-Datenspeichers erforderlich sind. Wenn es keine Bedenken hinsichtlich der Verwendung der Administratorrolle zum Abrufen von Daten gibt, fahren Sie mit dem Erstellen eines Datenspeichers fort.
Rollen und Berechtigungen einrichten
Sie benötigen eine Sicherheitsadministratorrolle, um Nutzer zu erstellen und zu verwalten. Wenn Sie diese Rolle nicht haben, klicken Sie unter Ihrem Profil auf Rolle erweitern, um Ihre Rolle auf security_admin zu erweitern. Wählen Sie die Rolle security_admin aus und klicken Sie auf Aktualisieren. Die Rolle security_admin ist erforderlich, um Rollen zu erstellen und Nutzer zu verwalten.
- So erstellen Sie eine benutzerdefinierte Rolle mit ACL-Regeln:
- Klicken Sie auf Alle > Nutzerverwaltung > Rollen.
- Klicken Sie auf Neu, um eine neue Rolle zu erstellen.
- Wählen Sie einen Namen aus und klicken Sie auf Senden.
- Rufen Sie Systemsicherheit > Zugriffssteuerung (ACL) auf, um eine neue ACL-Regel zu erstellen.
- Klicken Sie auf Neu, um eine neue ACL-Regel zu erstellen.
- Wählen Sie eine Rolle aus, z. B.
sys_user_role
. - Klicken Sie auf Senden und weisen Sie die Rolle zu.
- Wiederholen Sie diesen Vorgang, bis der Zugriff auf alle Tabellen gewährt wurde. Der Connector benötigt Zugriff auf die folgenden Tabellen, damit die einzelnen Entitäten erfolgreich ausgeführt werden können:
- Vorfall:
incident
. - Katalogartikel:
sc_cat_item
,sc_cat_item_user_criteria_mtom
,sc_cat_item_user_criteria_no_mtom
,sc_cat_item_user_mtom
,sc_cat_item_user_no_mtom
. - Wissen:
kb_knowledge
,kb_knowledge_base
,kb_uc_can_read_mtom
,kb_uc_can_contribute_mtom
. - Anhang: Alle aufgeführten Elemente.
- Identität:
sys_user_role
,sys_user_has_role
,sys_user_group
,sys_user_grmember
,sys_user
. - Wird aktualisiert, wenn neue Kriterien abgerufen werden:
core_company
,cmn_location
,cmn_department
. - Nutzerkriterien:
user_criteria
.
- Vorfall:
- Prüfen Sie, ob alle ACLs aktualisiert wurden. Geben Sie dazu
sys_security_acl_role_list.do
in die Suchleiste ein. - Wählen Sie die Rolle aus, die Sie bestätigen möchten.
- Prüfen Sie, ob der ausgewählten Rolle alle erforderlichen ACLs zugewiesen sind.
- Weisen Sie einem Dienstkonto die Rolle zu:
- Klicken Sie auf Alle > Nutzerverwaltung > Nutzer und wählen Sie den Nutzer aus.
- Suchen Sie den Nutzer, dem Sie die Rolle zuweisen möchten, und wählen Sie ihn aus.
- Wenn kein Nutzer verfügbar ist, gehen Sie zu Systemsicherheit > Nutzer und Gruppen > Nutzer.
- Klicken Sie auf Neu, um ein neues Dienstkonto in der Tabelle Nutzer zu erstellen.
- Klicken Sie das Kästchen Nur Zugriff auf Webdienste an.
- Rufen Sie unten auf der Seite die Tabelle Rollen auf.
- Klicken Sie rechts auf Bearbeiten.
- Weisen Sie dem Nutzer die zuvor erstellte Rolle zu. Wählen Sie je nach Art der erstellten Rolle die entsprechende Rolle aus und weisen Sie sie zu.
- Rufen Sie den Nutzernamen und das Passwort für den Nutzer ab. Klicken Sie auf derselben Seite auf Passwort festlegen.
- Passwort automatisch generieren und für die spätere Verwendung speichern:
- Nutzer-ID:
manager
. - Passwort: Geben Sie das automatisch generierte Passwort ein.
- Nutzer-ID:
Spezielle Rolle erstellen und ACLs zuweisen
Wenn Sie eine Nutzerrolle verwenden, die keine Administratorrolle ist, können Probleme auftreten, wenn Sie eine ServiceNow-Aktion ausführen, obwohl Ihre Nutzerrolle die erforderlichen Berechtigungen enthält. Um dieses Problem zu vermeiden, erstellen Sie eine dedizierte Rolle und weisen Sie die erforderlichen Berechtigungen zu.
Neue Rolle erstellen
- Klicken Sie auf Nutzerverwaltung > Rollen.
- Klicken Sie auf Neu.
- Geben Sie einen Namen für die neue Rolle an, z. B.
database_admin_restricted
. - Geben Sie optional unter Beschreibung eine Beschreibung ein.
- Klicken Sie auf Senden.
Weisen Sie dem authentifizierenden Nutzer die neue Rolle zu.
- Gehen Sie zu Nutzerverwaltung > Nutzer.
- Wählen Sie den Nutzer aus, der eingeschränkten Zugriff benötigt.
- Rufen Sie im Nutzerdatensatz die zugehörige Liste Rollen auf.
- Klicken Sie in der zugehörigen Liste Rollen auf Bearbeiten.
- Suchen Sie in der Spalte Sammlung nach der Rolle, die Sie gerade erstellt haben, und wählen Sie sie aus.
- Klicken Sie auf Hinzufügen, um die Rolle in die Rollenliste zu verschieben.
- Klicken Sie auf Speichern.
Berechtigungen auf Zeilenebene implementieren
- Rufen Sie Systemsicherheit > Zugriffssteuerung (ACL) auf.
- Klicken Sie auf Neu.
Konfigurieren Sie die folgenden Felder:
- Typ:Wählen Sie Eintrag aus.
- Vorgang:Wählen Sie read aus.
- Name:
- Wählen Sie im ersten Drop-down-Menü die Tabelle sys_db_object aus.
- Wählen Sie im zweiten Drop-down-Menü Keine aus.
- Erforderliche Rolle:Suchen Sie im Feld Neue Zeile einfügen nach der neu erstellten Rolle und wählen Sie sie aus.
Klicken Sie auf Senden.
Wiederholen Sie diese Schritte, um Berechtigungen auf Zeilenebene für die Tabellen sys_glide_object und sys_dictionary zu implementieren.
Berechtigungen auf Feldebene implementieren
- Rufen Sie Systemsicherheit > Zugriffssteuerung (ACL) auf.
- Klicken Sie auf Neu.
- Konfigurieren Sie die folgenden Felder:
- Typ:Wählen Sie Eintrag aus.
- Vorgang:Wählen Sie read aus.
- Name:
- Wählen Sie im ersten Drop-down-Menü die Zieltabelle aus, z. B. sys_db_object.
- Wenden Sie im zweiten Drop-down-Menü die Berechtigung auf alle Felder in der Tabelle an oder wählen Sie einen bestimmten Feldnamen aus, z. B. name.
- Erforderliche Rolle:Suchen Sie im Feld Neue Zeile einfügen nach der neu erstellten Rolle und wählen Sie sie aus.
- Klicken Sie auf Senden.
- Wiederholen Sie diese Schritte, um Berechtigungen auf Feldebene für bestimmte Felder oder alle Felder in den Tabellen sys_glide_object und sys_dictionary zu implementieren.
Personalpool konfigurieren
Folgen Sie der Anleitung, um einen Workforce-Pool mit einer der folgenden Konfigurationen einzurichten:
ServiceNow-Vorgang konfigurieren
Bevor Sie beginnen, muss ein Google Cloud Administrator die Schritte unter Authentifizierung und Berechtigungen für ServiceNow einrichten ausführen und Ihnen Folgendes zur Verfügung stellen:
Feld | Beschreibung |
---|---|
Client-ID | Die Client-ID für Ihre ServiceNow-Integration. |
Clientschlüssel | Der Clientschlüssel für Ihre ServiceNow-Integration |
Nutzername | Nutzerkonto Ihrer Integration. |
Passwort | Passwort Ihrer Integration. |
Instanz-URL (oder Zielhost) | Instanz-URL Ihrer ServiceNow-Website. Das Format ist:
https://INSTANCE_NAME.service-now.com |
Auth-URL | Die Autorisierungs-URI für Ihren ServiceNow-API-Client. Das Format ist:
https://INSTANCE_NAME.service-now.com/oauth_auth.do |
Token-URL | Der URI des Aktualisierungstokens für Ihren ServiceNow-API-Client. Das Format ist:
https://INSTANCE_NAME.service-now.com/oauth_token.do |
ServiceNow-Aktionen in der Google Cloud Console konfigurieren
So fügen Sie Ihrer App über die Console Aktionen hinzu:
- Rufen Sie in der Google Cloud -Console die Seite Agent Builder auf.
- Klicken Sie im Navigationsmenü auf Aktionen.
- Klicken Sie auf Aktionen hinzufügen.
- Wenn Sie ServiceNow als Quelle für die Aktionen auswählen möchten, klicken Sie auf der ServiceNow-Karte auf Verbinden.
- Wählen Sie auf der Seite Konfiguration in der Drop-down-Liste Instanz auswählen den ServiceNow-Datenspeicher aus.
ServiceNow-Einrichtung konfigurieren Geben Sie Autorisierungsinformationen für die ausgewählte Connector-Instanz ein:
- Geben Sie die Neue Client-ID und den Neuen Clientschlüssel ein, die Sie beim Erstellen des OAuth-Endpunkts abgerufen haben.
- Geben Sie den ServiceNow-Auth URI ein. Verwenden Sie das Format
https://<var>INSTANCE_NAME</var>.service-now.com/oauth_auth.do
. - Geben Sie den Ziel-URI von ServiceNow ein. Verwenden Sie das Format
https://<var>INSTANCE_NAME</var>.service-now.com
. - Geben Sie den Token-URI von ServiceNow ein. Verwenden Sie das Format
https://<var>INSTANCE_NAME</var>.service-now.com/oauth_token.do
. - Geben Sie das Nutzerkonto und das Passwort des ServiceNow-Administrators ein.
Optional: Wählen Sie PKCE-Unterstützung aktivieren aus, um eine zusätzliche Sicherheitsebene für Ihre App zu aktivieren.
Optional: Wählen Sie Systemtabellen einbeziehen aus, um die zugrunde liegenden Systeminformationen (Systemtabellen) von ServiceNow zugänglich zu machen. Wählen Sie diese Option nur nach sorgfältiger Überlegung und nur, wenn es unbedingt erforderlich ist.
Wählen Sie die ServiceNow-Aktionen aus, die Sie aktivieren möchten.
Klicken Sie auf Einrichtung abschließen. Ihre Aktion wird auf der Seite Aktionen angezeigt. Es dauert einige Minuten, bis Aktionen in Ihrer App wirksam werden.
ServiceNow-Aktionen mit der API konfigurieren
So fügen Sie Ihrer App Aktionen über die API hinzu:
So erstellen Sie einen ServiceNow-Connector für Aktionen:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-GFE-SSL: yes" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global:setUpDataConnector" \ -d '{ "collectionId": "COLLECTION_ID", "collectionDisplayName": "COLLECTION_DISPLAY_NAME", "dataConnector": { "dataSource": "servicenow", "params": { "user_account": "USER_ACCOUNT", "client_id": "CLIENT_ID", "client_secret": "CLIENT_SECRET", "password": "PASSWORD", "instance_uri": "INSTANCE_URI", "auth_type": "OAUTH_PASSWORD_GRANT" }, "refreshInterval": "86400s", "entities": [ { "entityName": "knowledge_base", "params": { "inclusion_filters":{}, "exclusion_filters":{} } }, { "entityName": "catalog" }, { "entityName": "knowledge" }, { "entityName": "incident" }, { "entityName": "attachment" } ], "syncMode": "PERIODIC", "staticIpEnabled": false } }'
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID.COLLECTION_ID
: Eine ID für die Sammlung.COLLECTION_DISPLAY_NAME
: Ein Anzeigename für die Sammlung.USER_ACCOUNT
: das Nutzerkonto Ihrer ServiceNow-Integration.CLIENT_ID
: Die Client-ID für Ihre ServiceNow-Integration.PASSWORD
: Das Passwort Ihrer ServiceNow-Integration.INSTANCE_URI
: Der Instanz-URI Ihrer ServiceNow-Website.
Aktualisieren Sie den Connector, um Aktionskonfigurationen einzuschließen.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/COLLECTION_ID/dataConnector?update_mask=action_config,bap_config,destination_configs" \ -d '{ "name": "projects/PROJECT_ID/locations/global/collections/COLLECTION_ID/dataConnector", "actionConfig": { "isActionConfigured": true, "actionParams": { "client_id": "CLIENT_ID", "client_secret": "CLIENT_SECRET", "auth_uri": "AUTH_URI", "token_uri": "TOKEN_URI", "pkce_support_enabled": true, "include_system_tables": true } }, "bapConfig": { "supported_connector_modes": "ACTIONS" }, "destinationConfigs": [ { "key": "host_url", "destinations": [ { "host": "INSTANCE_URL" } ] } ] }'
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID.COLLECTION_ID
: die ID für die Sammlung.USERNAME
: Das Nutzerkonto Ihrer ServiceNow-Integration.CLIENT_ID
: Die Client-ID für Ihre ServiceNow-Integration.PASSWORD
: Das Passwort für Ihre ServiceNow-Integration.AUTH_URI
: Der Autorisierungs-URI für Ihre ServiceNow-Integration.TOKEN_URI
: Der URI des Aktualisierungstokens für Ihre ServiceNow-Integration.INSTANCE_URL
: Instanz-URL Ihrer ServiceNow-Website.
Aktivieren Sie ServiceNow-Aktionen für Ihren Assistenten.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_NUMBER" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=enabledActions" \ -d '{ "name": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant", "enabledActions": { "projects/PROJECT_NUMBER/locations/global/collections/CONNECTOR_ID/dataConnector": { "actionInfo": [ { "actionName": "create_servicenow_incident", "actionDisplayName": "Create ServiceNow Incident" }, { "actionName": "update_servicenow_incident", "actionDisplayName": "Update ServiceNow Incident" } ] } } }'
Ersetzen Sie Folgendes:
PROJECT_NUMBER
: Die Nummer Ihres Google Cloud -ProjektsAPP_ID
: Die ID der App.CONNECTOR_ID
: die Sammlungs-ID des Connectors, die Sie im vorherigen Schritt generiert haben.
Nachdem Sie Aktionen hinzugefügt haben, kann der Assistent diese Aktionen im Namen Ihrer Endnutzer in der App ausführen. Wenn ein Nutzer den Assistenten zum ersten Mal auffordert, eine ServiceNow-Aktion auszuführen, wird er aufgefordert, den Zugriff auf sein ServiceNow-Konto zu autorisieren. Um den Assistenten verwenden zu können, benötigen Nutzer Gemini Enterprise Plus-Lizenzen.