ServiceNow-Aktionen hinzufügen

Bei aktivierten ServiceNow-Aktionen können Endnutzer den Assistenten auffordern, die folgenden ServiceNow-Aktionen auszuführen:

  • ServiceNow-Vorfälle erstellen
  • ServiceNow-Vorfälle aktualisieren

Zum Beispiel können Nutzer „ServiceNow-Vorfall zu einem Computerhardwarefehler erstellen“ oder „ServiceNow-Vorfall INC0010001 auf höhere Dringlichkeit aktualisieren“ 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.

Title

Ein kurzer Titel für den zu erstellenden Vorfall.

Beschreibung

Details des zu erstellenden Vorfalls.

Kategorie

Kategorie des zu erstellenden Vorfalls

Auswirkungen

Auswirkungen des Vorfalls.

Dringlichkeit

Dringlichkeit des Vorfalls.

Status

Status des Vorfalls

Zugewiesen zu:

E-Mail-Adresse des Nutzers, dem der Vorfall zugewiesen werden soll, z. B. user@google.com

Zugewiesene Gruppe

Nutzergruppe, der der Vorfall zugewiesen werden soll.

Code schließen

Code zum Vorfall schließen

Notizen schließen

Notizen zum Vorfall schließen

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. Damit ist es möglich, Ihre Integration zu verbinden sowie Lese- und Schreibberechtigungen für Aktionen zu erteilen.

Bevor Sie die Verbindung einrichten, müssen Sie die folgenden Voraussetzungen erfüllt sein:

  • Administratorberechtigung: Sie sind Administrator von ServiceNow.

  • ServiceNow-Instanz: Erstellen Sie eine ServiceNow-Instanz. Folgen Sie dazu der Anleitung in der ServiceNow-Entwicklerdokumentation.

  • Google Cloud -Projekt: Richten Sie in Google Cloud ein Projekt mit einem Administratorkonto ein. Das Konto muss Konfigurationen auf Organisationsebene verwalten können, damit die Organisation einen Personalpool einrichten kann.

  • Personalpool: Prüfen Sie, ob die Einrichtung Ihrer Organisation die Verwaltung eines Personalpools zulässt.

Weitere Informationen finden Sie im Blogbeitrag OAuth 2.0 with Inbound REST.

ServiceNow einrichten

ServiceNow bietet zwei primäre Websites:

  1. ServiceNow-Hauptwebsite: Die Website für Ihre ServiceNow-Instanz.
    • Zur Verwaltung von Nutzern, Gruppen und Systemverwaltungsaufgaben
    • URL: Die URL für Ihre ServiceNow-Instanz
    • Anmeldung mit den Administratoranmeldedaten
  2. Entwicklerwebsite:
    • Zum Konfigurieren der Wissensdatenbank, Einrichten von Workflows und Entwickeln benutzerdefinierter Anwendungen.
    • URL: https://developer.service-now.com.
    • Anmeldung mit der ServiceNow-ID

OAuth-Endpunkt erstellen

So erstellen Sie einen OAuth-Endpunkt:

  1. Melden Sie sich mit Administratorberechtigungen bei der Hauptinstanz von ServiceNow an.
  2. Gehen Sie zu Alle > System OAuth > Anwendungsregistrierung.
  3. Klicken Sie auf Neu und wählen Sie OAuth-API-Endpunkt für externe Clients erstellen aus. Client-ID und Clientschlüssel abrufen
  4. Machen Sie alle erforderlichen Angaben.
    1. Name: Eindeutiger Name.
    2. Weiterleitungs-URL: https://vertexaisearch.cloud.google.com/oauth-redirect
  5. Klicken Sie auf Senden, um die Anmeldedaten zu erstellen.
  6. Klicken Sie dann auf den Namen, um den Clientschlüssel aufzurufen.
  7. Der Schlüssel ist maskiert. Klicken Sie daneben auf das Schloss-Symbol, um die Maskierung des Schlüssels aufzuheben und ihn anzusehen.
  8. Bewahren Sie eine Kopie der Client-ID und des Clientschlüssels für den Bedarfsfall auf.
  9. Rufen Sie developer.service-now.com auf und klicken Sie auf Instanzpasswort verwalten.
  10. Bewahren Sie eine Kopie des Nutzernamens und des Passworts für den Bedarfsfall auf.
  11. In dieser Phase sind alle fünf Informationen verfügbar, die zum Einrichten eines ServiceNow-Datenspeichers erforderlich sind. Wenn Sie keine Bedenken haben, die Admin-Rolle zum Abrufen von Daten zu verwenden, machen Sie mit der Erstellung eines Datenspeichers weiter.

Rollen und Berechtigungen einrichten

Sie benötigen die Rolle „Sicherheitsadministrator“, um Nutzer zu erstellen und zu verwalten. Wenn Sie diese Rolle nicht haben, erhöhen Sie Ihre Rolle auf security_admin. Klicken Sie dafür unter Ihrem Profil auf Rolle erweitern. Wählen Sie die Rolle security_admin aus und klicken Sie auf Aktualisieren. Mit der Rolle security_admin können Sie Rollen erstellen und Nutzer verwalten.

  1. Benutzerdefinierte Rolle mit ACL-Regeln erstellen:
    1. Klicken Sie auf Alle > Nutzerverwaltung > Rollen.
    2. Klicken Sie auf Neu, um eine neue Rolle zu erstellen.
    3. Wählen Sie einen Namen aus und klicken Sie auf Senden.
    4. Rufen Sie Systemsicherheit > Zugriffssteuerung (ACL) auf, um eine neue ACL-Regel zu erstellen.
    5. Klicken Sie auf Neu, um eine neue ACL-Regel zu erstellen.
    6. Wählen Sie eine Rolle aus, z. B. sys_user_role.
    7. Klicken Sie auf Senden und weisen Sie die Rolle zu.
    8. 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:
      1. Vorfall: incident.
      2. 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.
      3. Wissen: kb_knowledge, kb_knowledge_base, kb_uc_can_read_mtom, kb_uc_can_contribute_mtom.
      4. Anhang: Alle aufgeführten Elemente.
      5. Identität: sys_user_role, sys_user_has_role, sys_user_group, sys_user_grmember, sys_user.
      6. Wird aktualisiert, wenn neue Kriterien abgerufen werden: core_company, cmn_location, cmn_department.
      7. Nutzerkriterien: user_criteria.
    9. Prüfen Sie, ob alle ACLs aktualisiert wurden. Gehen Sie dazu sys_security_acl_role_list.do in die Suchleiste ein.
    10. Wählen Sie die Rolle aus, die Sie bestätigen möchten.
    11. Prüfen Sie, ob der ausgewählten Rolle alle erforderlichen ACLs zugewiesen sind.
  2. Weisen Sie die Rolle einem Dienstkonto zu:
    1. Klicken Sie auf Alle > Nutzerverwaltung > Nutzer und wählen Sie den Nutzer aus.
    2. Suchen Sie den Nutzer, dem Sie die Rolle zuweisen möchten, und wählen Sie ihn aus.
  3. Wenn kein Nutzer verfügbar ist, gehen Sie zu Systemsicherheit > Nutzer und Gruppen > Nutzer.
  4. Klicken Sie auf Neu, um in der Tabelle Nutzer ein neues Dienstkonto zu erstellen.
  5. Wählen Sie das Kästchen Nur Zugriff auf Webdienste aus.
  6. Rufen Sie unten auf der Seite die Tabelle Rollen auf.
  7. Klicken Sie rechts auf Bearbeiten.
  8. 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.
  9. Rufen Sie den Nutzernamen und das Passwort für den Nutzer ab. Klicken Sie auf derselben Seite auf Passwort festlegen.
  10. Lassen Sie das Passwort automatisch generieren und speichern Sie es für die spätere Verwendung.
    1. Nutzer-ID: manager.
    2. Passwort: Geben Sie das automatisch generierte Passwort ein.

Spezielle Rolle erstellen und ACLs zuweisen

Wenn Sie eine andere Nutzerrolle als die ohne Administratorberechtigungen verwenden, können bei der Ausführung einer ServiceNow-Aktion Probleme auftreten, auch wenn Ihre Nutzerrolle über die erforderlichen Berechtigungen verfügt. Um dieses Problem zu vermeiden, erstellen Sie eine dedizierte Rolle und weisen die erforderlichen Berechtigungen zu.

Neue Rolle erstellen

  1. Klicken Sie auf Nutzerverwaltung > Rollen.
  2. Klicken Sie auf Neu.
  3. Geben Sie einen Namen für die neue Rolle an, z. B. database_admin_restricted.
  4. Geben Sie optional eine Beschreibung ein.
  5. Klicken Sie auf Senden.

Dem authentifizierenden Nutzer die neue Rolle zuweisen

  1. Gehen Sie zu Nutzerverwaltung > Nutzer.
  2. Wählen Sie den Nutzer aus, der eingeschränkten Zugriff benötigt.
  3. Rufen Sie im Nutzerdatensatz die zugehörige Liste Rollen auf.
  4. Klicken Sie in der zugehörigen Liste Rollen auf Bearbeiten.
  5. Suchen Sie in der Spalte Sammlung nach der Rolle, die Sie gerade erstellt haben, und wählen Sie sie aus.
  6. Klicken Sie auf Hinzufügen, um die Rolle in die Rollenliste zu verschieben.
  7. Klicken Sie auf Speichern.

Berechtigungen auf Zeilenebene implementieren

  1. Rufen Sie Systemsicherheit > Zugriffssteuerung (ACL) auf.
  2. Klicken Sie auf Neu.
  3. Konfigurieren Sie die folgenden Felder:

    • Typ: Wählen Sie Aufzeichnung 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.
  4. Klicken Sie auf Senden.

  5. Wiederholen Sie diese Schritte, um Berechtigungen auf Zeilenebene für die Tabellen sys_glide_object und sys_dictionary zu implementieren.

Berechtigungen auf Feldebene implementieren

  1. Rufen Sie Systemsicherheit > Zugriffssteuerung (ACL) auf.
  2. Klicken Sie auf Neu.
  3. Konfigurieren Sie die folgenden Felder:
    • Typ: Wählen Sie Aufzeichnung 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.
  4. Klicken Sie auf Senden.
  5. Wiederholen Sie diese Schritte, um in den Tabellen sys_glide_object und sys_dictionary für bestimmte oder alle Felder Berechtigungen auf Feldebene zu implementieren.

Personalpool konfigurieren

Folgen Sie der Anleitung, um einen Workforce-Pool mit einer der folgenden Konfigurationen einzurichten:

  1. Azure OIDC-Einrichtung
  2. Azure SAML-Einrichtung
  3. Okta- und OIDC-Einrichtung
  4. Okta- und SAML-Einrichtung

ServiceNow-Aktion konfigurieren

Bevor Sie beginnen, muss ein Google Cloud Administrator die Schritte unter Authentifizierung und Berechtigungen für ServiceNow einrichten ausführen und folgende Elemente 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 Das Nutzerkonto Ihrer Integration
Passwort Das Passwort Ihrer Integration.
Instanz-URL (oder Zielhost) Die 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:

  1. Rufen Sie in der Google Cloud Console die Seite Agent Builder auf.
  2. Klicken Sie im Navigationsmenü auf Aktionen.
  3. Klicken Sie auf Aktionen hinzufügen.
  4. Um ServiceNow als Quelle für die Aktionen auszuwählen, klicken Sie in der ServiceNow-Karte auf Verbinden.
  5. Wählen Sie auf der Seite Konfiguration den ServiceNow-Datenspeicher in der Drop-down-Liste Instanz auswählen aus.
    ServiceNow einrichten
    ServiceNow-Einrichtung konfigurieren
  6. Geben Sie Autorisierungsinformationen für die ausgewählte Connector-Instanz ein:

    1. Geben Sie die Neue Client-ID und den Neuen Clientschlüssel ein, die Sie beim Erstellen des OAuth-Endpunkts abgerufen haben.
    2. Geben Sie den Auth-URI von ServiceNow ein. Verwenden Sie das Format https://<var>INSTANCE_NAME</var>.service-now.com/oauth_auth.do.
    3. Geben Sie den Ziel-URI von ServiceNow ein. Verwenden Sie das Format https://<var>INSTANCE_NAME</var>.service-now.com.
    4. Geben Sie den Token-URI von ServiceNow ein. Verwenden Sie das Format https://<var>INSTANCE_NAME</var>.service-now.com/oauth_token.do.
    5. Geben Sie das Nutzerkonto und das Passwort des ServiceNow-Administrators ein.
  7. Optional: Wählen Sie PKCE-Unterstützung aktivieren aus, um eine zusätzliche Sicherheitsebene für Ihre App zu aktivieren.

  8. Optional: Wählen Sie Systemtabellen einbeziehen aus, um die zugrunde liegenden Systeminformationen (Systemtabellen) von ServiceNow zugänglich zu machen. Verwenden Sie diese Option nach sorgfältiger Überlegung und nur, wenn es unbedingt notwendig ist.

  9. Wählen Sie die ServiceNow-Aktionen aus, die Sie aktivieren möchten.

  10. Klicken Sie auf Einrichtung abschließen. Ihre Aktion wird auf der Seite Aktionen angezeigt. Es dauert einige Minuten, bis die Aktionen in Ihrer App wirksam werden.

ServiceNow-Aktionen mit der API konfigurieren

So fügen Sie Ihrer App Aktionen über die API hinzu:

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

  2. Aktualisieren Sie den Connector, um Aktionskonfigurationen einzufügen.

    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,connector_modes" \
      -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"
            }
          ]
        }
      ],
      "connectorModes": ["ACTIONS"]
    }'
    

    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

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

    • APP_ID: die ID der App

    • CONNECTOR_ID: Die Sammlungs-ID des Connectors, die Sie im vorherigen Schritt generiert haben.

Die Aktionen, die Sie hinzugefügt haben, kann der Assistent im Namen Ihrer Endnutzer in der App ausführen. Bittet ein Nutzer den Assistenten zum ersten Mal, 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.