Aggiungere azioni ServiceNow

Quando le azioni di ServiceNow sono attive, gli utenti finali possono chiedere all'assistente di eseguire le seguenti azioni di ServiceNow:

  • Crea incidenti ServiceNow
  • Aggiorna incidenti ServiceNow

Ad esempio, un utente potrebbe inserire nell'app "crea un incidente ServiceNow relativo a un guasto hardware del computer" o "aggiorna l'incidente ServiceNow INC0010001 impostando l'urgenza su alta". L'assistente chiede ulteriori dettagli, se necessario, e poi chiede all'utente di confermare la richiesta di creazione o aggiornamento.

L'assistente può leggere e aggiornare i seguenti campi ServiceNow tramite azioni:


Campo

Descrizione

Chiamante

Obbligatorio. L'indirizzo email del chiamante per conto del quale viene creato l'incidente, ad esempio user@google.com.

Titolo

Un breve titolo dell'incidente da creare.

Descrizione

Dettagli sull'incidente da creare.

Categoria

Categoria dell'incidente da creare.

Impatto

Impatto dell'incidente.

Urgenza

Urgenza dell'incidente.

Stato

Stato dell'incidente.

Assegnata a

Indirizzo email dell'utente a cui assegnare l'incidente, ad esempio, user@google.com.

Gruppo di assegnazione

Gruppo di utenti a cui assegnare l'incidente.

Codice di chiusura

Codice di chiusura dell'incidente.

Note di chiusura

Chiudi le note relative all'incidente.

Configura l'autenticazione e le autorizzazioni per ServiceNow

Prima di attivare le azioni ServiceNow, un amministratore ServiceNow deve autorizzare e configurare un connettore ServiceNow per le azioni. È necessario per connettere l'integrazione e consentire l'autorizzazione di lettura e scrittura per le azioni.

Prima di configurare la connessione, assicurati di disporre di quanto segue:

  • Autorizzazione amministratore: devi essere un amministratore di ServiceNow.

  • Istanza ServiceNow: crea un'istanza ServiceNow seguendo le istruzioni nella documentazione di ServiceNow Developer.

  • Google Cloud Progetto: configura un progetto Google Cloud con un account amministratore in grado di gestire le configurazioni a livello di organizzazione, assicurandoti che l'organizzazione possa configurare un pool di forza lavoro.

  • Pool di forza lavoro: assicurati che la tua organizzazione sia configurata per gestire un pool di forza lavoro.

Per saperne di più, consulta il post del blog su OAuth 2.0 con REST in entrata.

Configurare ServiceNow

ServiceNow offre due siti principali:

  1. Sito principale di ServiceNow: il sito per la tua istanza ServiceNow.
    • Gestisce utenti, gruppi e attività di amministrazione di sistema.
    • URL: l'URL della tua istanza ServiceNow.
    • Accedi utilizzando le tue credenziali di amministratore.
  2. Sito per sviluppatori:
    • Configura la knowledge base, imposta i workflow e sviluppa applicazioni personalizzate.
    • URL: https://developer.service-now.com.
    • Accedi utilizzando il tuo ID ServiceNow.

Crea un endpoint OAuth

Per creare un endpoint OAuth:

  1. Accedi all'istanza ServiceNow principale con privilegi amministrativi.
  2. Vai a All (Tutti) > System OAuth (OAuth di sistema) > Application registry (Registro applicazioni).
  3. Fai clic su Nuovo, quindi seleziona Crea un endpoint API OAuth per client esterni. Recupera l'ID client e il client secret.
  4. Inserisci le informazioni richieste:
    1. Name (Nome): nome univoco.
    2. URL di reindirizzamento: https://vertexaisearch.cloud.google.com/oauth-redirect
  5. Fai clic su Submit (Invia) per creare la credenziale.
  6. Dopo l'invio, fai clic sul nome per visualizzare il client secret.
  7. Il secret è mascherato. Fai clic sull'icona lucchetto accanto per visualizzare e scoprire il segreto.
  8. Conserva una copia dell'ID client e del client secret da utilizzare quando necessario.
  9. Vai a developer.service-now.com e fai clic su Gestisci password istanza.
  10. Conserva una copia del nome utente e della password da utilizzare quando necessario.
  11. A questo punto, sono disponibili tutte e cinque le informazioni necessarie per configurare un datastore ServiceNow. Se non ci sono problemi con l'utilizzo del ruolo Amministratore per estrarre i dati, procedi con la creazione di un datastore.

Configura i ruoli e le autorizzazioni

Per creare e gestire gli utenti, devi disporre del ruolo di amministratore della sicurezza. Se non disponi di questo ruolo, promuovilo a security_admin facendo clic su Promuovi ruolo sotto il tuo profilo. Seleziona il ruolo security_admin e fai clic su Aggiorna. Il ruolo security_admin è necessario per creare ruoli e gestire gli utenti.

  1. Crea un ruolo personalizzato con regole ACL:
    1. Vai a All (Tutti) > User administration (Amministrazione utenti) > Roles (Ruoli).
    2. Fai clic su Nuovo per creare un nuovo ruolo.
    3. Seleziona un nome e fai clic su Invia.
    4. Vai a System security (Sicurezza del sistema) > Access Control (ACL) (Controllo accesso (ACL)) per creare una nuova regola ACL.
    5. Fai clic su New (Nuovo) per creare una nuova regola ACL.
    6. Seleziona un ruolo, ad esempio sys_user_role.
    7. Fai clic su Submit (Invia) e assegna il ruolo.
    8. Ripeti questa procedura finché non avrai concesso l'accesso a tutte le tabelle. Il connettore richiede l'accesso alle seguenti tabelle per ogni entità da eseguire correttamente:
      1. Incidente: incident.
      2. Elemento del catalogo: 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. Knowledge: kb_knowledge, kb_knowledge_base, kb_uc_can_read_mtom, kb_uc_can_contribute_mtom.
      4. Allegato: tutti gli elementi elencati.
      5. Identità: sys_user_role, sys_user_has_role, sys_user_group, sys_user_grmember, sys_user.
      6. Aggiornato man mano che vengono estratti nuovi criteri: core_company, cmn_location, cmn_department.
      7. Criteri utente: user_criteria.
    9. Verifica che tutti gli ACL siano aggiornati andando su sys_security_acl_role_list.do nella barra di ricerca.
    10. Seleziona il ruolo da verificare.
    11. Verifica che tutti gli ACL richiesti siano assegnati al ruolo selezionato.
  2. Concedi il ruolo a un account di servizio:
    1. Vai a All (Tutti) > User Administration (Amministrazione utenti) > Users (Utenti) e seleziona l'utente.
    2. Individua l'utente a cui concedere il ruolo e selezionalo.
  3. Se nessun utente è disponibile, vai a Sicurezza del sistema > Utenti e gruppi > Utenti.
  4. Fai clic su Nuovo per creare un nuovo account di servizio nella tabella Utente.
  5. Seleziona la casella di controllo Solo accesso al servizio web.
  6. Vai alla tabella Ruoli in fondo alla pagina.
  7. Fai clic su Modifica a destra.
  8. Concedi il ruolo creato in precedenza e assegnalo all'utente. A seconda del tipo di ruolo creato, seleziona quello appropriato e assegnalo.
  9. Ottieni il nome utente e la password dell'utente. Nella stessa pagina, fai clic su Imposta password.
  10. Genera automaticamente una password e salvala per un utilizzo successivo:
    1. ID utente: manager.
    2. Password: inserisci la password generata automaticamente.

Creare un ruolo dedicato e assegnare ACL

Quando utilizzi un ruolo utente non amministrativo, potresti riscontrare problemi durante l'esecuzione di un'azione ServiceNow anche se il tuo ruolo utente contiene le autorizzazioni richieste. Per evitare questo problema, crea un ruolo dedicato e assegna le autorizzazioni richieste.

Crea un nuovo ruolo

  1. Vai ad Amministrazione utenti > Ruoli.
  2. Fai clic su New (Nuovo).
  3. Specifica un nome per il nuovo ruolo, ad esempio database_admin_restricted.
  4. (Facoltativo) Inserisci una descrizione.
  5. Fai clic su Invia.

Assegnare il nuovo ruolo all'utente che esegue l'autenticazione

  1. Vai a Amministrazione utenti > Utenti.
  2. Seleziona l'utente che richiede l'accesso limitato.
  3. Nel record utente, vai all'elenco correlato Ruoli.
  4. Nell'elenco correlato Ruoli, fai clic su Modifica.
  5. Nella colonna Raccolta, individua e seleziona il ruolo appena creato.
  6. Fai clic su Aggiungi per spostare il ruolo nell'elenco dei ruoli.
  7. Fai clic su Salva.

Implementare le autorizzazioni a livello di riga

  1. Vai a System Security (Sicurezza del sistema) > Access Controls (ACL) (Controlli accesso (ACL)).
  2. Fai clic su New (Nuovo).
  3. Configura i seguenti campi:

    • Tipo:seleziona record.
    • Operazione:seleziona lettura.
    • Nome:
      • Nel primo menu a discesa, seleziona la tabella sys_db_object.
      • Nel secondo menu a discesa, seleziona Nessuno.
    • Richiede ruolo:nel campo Inserisci una nuova riga, cerca e seleziona il ruolo appena creato.
  4. Fai clic su Invia.

  5. Ripeti questi passaggi per implementare le autorizzazioni a livello di riga per le tabelle sys_glide_object e sys_dictionary.

Implementare le autorizzazioni a livello di campo

  1. Vai a System Security (Sicurezza del sistema) > Access Controls (ACL) (Controlli accesso (ACL)).
  2. Fai clic su New (Nuovo).
  3. Configura i seguenti campi:
    • Tipo:seleziona record.
    • Operazione:seleziona lettura.
    • Nome:
      • Nel primo menu a discesa, seleziona la tabella di destinazione, ad esempio sys_db_object.
      • Nel secondo menu a discesa, applica l'autorizzazione a tutti i campi della tabella o seleziona un nome di campo specifico, ad esempio name.
    • Richiede ruolo:nel campo Inserisci una nuova riga, cerca e seleziona il ruolo appena creato.
  4. Fai clic su Invia.
  5. Ripeti questi passaggi per implementare le autorizzazioni a livello di campo per campi specifici o per tutti i campi delle tabelle sys_glide_object e sys_dictionary.

Configurare il pool di forza lavoro

Segui le istruzioni per configurare un pool di forza lavoro con una delle seguenti configurazioni:

  1. Configurazione di Azure OIDC
  2. Configurazione di Azure SAML
  3. Configurazione di Okta e OIDC
  4. Configurazione di Okta e SAML

Configurare un'azione ServiceNow

Prima di iniziare, assicurati che un amministratore Google Cloud abbia completato i passaggi descritti in Configurare l'autenticazione e le autorizzazioni per ServiceNow e ti abbia fornito quanto segue:

Campo Descrizione
ID client L'ID client per l'integrazione di ServiceNow.
Client secret Il client secret per l'integrazione di ServiceNow
Nome utente Account utente dell'integrazione.
Password Password dell'integrazione.
URL istanza (o host di destinazione) URL dell'istanza del sito ServiceNow. Ha il seguente formato: https://INSTANCE_NAME.service-now.com
URL di autenticazione L'URI di autorizzazione per il client API ServiceNow. Ha il seguente formato: https://INSTANCE_NAME.service-now.com/oauth_auth.do
URL del token L'URI del token di aggiornamento per il client API ServiceNow. Ha il seguente formato: https://INSTANCE_NAME.service-now.com/oauth_token.do

Configura le azioni di ServiceNow nella Google Cloud console

Per aggiungere azioni alla tua app utilizzando la console:

  1. Nella console Google Cloud , vai alla pagina Agent Builder.
  2. Nel menu di navigazione, fai clic su Azioni.
  3. Fai clic su Aggiungi azioni.
  4. Per selezionare ServiceNow come origine delle azioni, nella scheda ServiceNow, fai clic su Connetti.
  5. Nella pagina Configurazione, seleziona il datastore ServiceNow dall'elenco a discesa Seleziona un'istanza.
    Configura il servizio ora
    Configura l'impostazione di ServiceNow
  6. Inserisci le informazioni di autorizzazione per l'istanza del connettore selezionata:

    1. Inserisci il Nuovo ID client e il Nuovo client secret che hai recuperato quando hai creato l'endpoint OAuth.
    2. Inserisci l'URI autorizzazione di ServiceNow. Utilizza il formato https://<var>INSTANCE_NAME</var>.service-now.com/oauth_auth.do.
    3. Inserisci l'URI di destinazione di ServiceNow. Utilizza il formato https://<var>INSTANCE_NAME</var>.service-now.com.
    4. Inserisci l'URI del token di ServiceNow. Utilizza il formato https://<var>INSTANCE_NAME</var>.service-now.com/oauth_token.do.
    5. Inserisci User Account (Account utente) e Password dell'amministratore di ServiceNow.
  7. (Facoltativo) Seleziona Attiva il supporto PKCE per un ulteriore livello di sicurezza per la tua app.

  8. (Facoltativo) Seleziona Includi tabelle di sistema per rendere accessibili le informazioni di sistema sottostanti di ServiceNow (tabelle di sistema). Seleziona questa opzione dopo un'attenta valutazione e solo se assolutamente necessario.

  9. Seleziona le azioni ServiceNow che vuoi attivare.

  10. Fai clic su Termina configurazione. La tua azione viene visualizzata nella pagina Azioni. L'applicazione delle azioni richiede qualche minuto.

Configura le azioni di ServiceNow utilizzando l'API

Per aggiungere azioni alla tua app utilizzando l'API, procedi nel seguente modo.

  1. Crea un connettore ServiceNow per le azioni:

      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
        }
      }'
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto.

    • COLLECTION_ID: un ID per la raccolta.

    • COLLECTION_DISPLAY_NAME: un nome visualizzato per la raccolta.

    • USER_ACCOUNT: l'account utente dell'integrazione ServiceNow.

    • CLIENT_ID: l'ID client per l'integrazione di ServiceNow.

    • PASSWORD: la password dell'integrazione ServiceNow.

    • INSTANCE_URI: l'URI dell'istanza del tuo sito ServiceNow.

  2. Aggiorna il connettore per includere le configurazioni delle azioni.

    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"
            }
          ]
        }
      ]
    }'
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto.

    • COLLECTION_ID: l'ID della raccolta.

    • USERNAME: Account utente dell'integrazione ServiceNow.

    • CLIENT_ID: l'ID client per l'integrazione di ServiceNow.

    • PASSWORD: la password dell'integrazione ServiceNow.

    • AUTH_URI: l'URI di autorizzazione per l'integrazione di ServiceNow.

    • TOKEN_URI: l'URI del token di aggiornamento per l'integrazione di ServiceNow.

    • INSTANCE_URL: l'URL dell'istanza del tuo sito ServiceNow.

  3. Attiva le azioni ServiceNow per il tuo assistente.

    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"
              }
            ]
          }
        }
      }'
    

    Sostituisci quanto segue:

    • PROJECT_NUMBER: il numero del tuo Google Cloud progetto.

    • APP_ID: l'ID dell'app.

    • CONNECTOR_ID: l'ID raccolta del connettore che hai generato nel passaggio precedente.

Dopo aver aggiunto le azioni, l'assistente può eseguirle per conto degli utenti finali nell'app. La prima volta che un utente chiede all'assistente di eseguire un'azione ServiceNow, gli viene chiesto di autorizzare l'accesso al proprio account ServiceNow. Per utilizzare l'assistente, gli utenti devono disporre di licenze Gemini Enterprise Plus.