Menambahkan tindakan ServiceNow

Jika tindakan ServiceNow diaktifkan, pengguna akhir dapat meminta asisten untuk melakukan tindakan ServiceNow berikut:

  • Membuat insiden ServiceNow
  • Memperbarui insiden ServiceNow

Misalnya, pengguna dapat memasukkan "buat insiden ServiceNow tentang kegagalan hardware komputer" atau "perbarui insiden ServiceNow INC0010001 menjadi sangat mendesak" ke dalam aplikasi. Asisten akan meminta detail tambahan jika diperlukan, lalu meminta pengguna untuk mengonfirmasi permintaan pembuatan atau pembaruan.

Asisten dapat membaca dan memperbarui kolom ServiceNow berikut melalui tindakan:


Kolom

Deskripsi

Pemanggil

Wajib ada. Alamat email pemanggil atas nama siapa insiden dibuat, misalnya user@google.com.

Judul

Judul singkat insiden yang akan dibuat.

Deskripsi

Detail insiden yang akan dibuat.

Kategori

Kategori insiden yang akan dibuat.

Dampak

Dampak insiden.

Urgensi

Urgensi insiden.

Negara bagian

Status insiden.

Ditugaskan kepada

Alamat email pengguna yang akan ditetapkan sebagai pemilik insiden, misalnya, user@google.com.

Grup penugasan

Grup pengguna yang akan diberi tugas insiden.

Kode penutupan

Kode penutupan untuk insiden.

Menutup catatan

Menutup catatan untuk insiden.

Menyiapkan autentikasi dan izin untuk ServiceNow

Sebelum mengaktifkan tindakan ServiceNow, administrator ServiceNow harus memberikan otorisasi dan menyiapkan konektor ServiceNow untuk tindakan. Hal ini diperlukan untuk menghubungkan integrasi Anda dan mengizinkan izin baca dan tulis untuk tindakan.

Sebelum menyiapkan koneksi, pastikan Anda telah menyiapkan hal berikut:

  • Izin administrator: Anda harus menjadi administrator ServiceNow.

  • Instance ServiceNow: Buat instance ServiceNow dengan mengikuti petunjuk dalam dokumentasi ServiceNow Developer.

  • Google Cloud Project: Siapkan Google Cloud project dengan akun administrator yang dapat mengelola konfigurasi tingkat organisasi, sehingga organisasi dapat menyiapkan kumpulan tenaga kerja.

  • Kumpulan tenaga kerja: Pastikan organisasi Anda telah disiapkan untuk mengelola kumpulan tenaga kerja.

Untuk mengetahui informasi selengkapnya, lihat postingan blog OAuth 2.0 dengan REST Masuk.

Menyiapkan ServiceNow

ServiceNow menawarkan dua situs utama:

  1. Situs ServiceNow utama: Situs untuk instance ServiceNow Anda.
    • Mengelola pengguna, grup, dan tugas administrasi sistem.
    • URL: URL untuk instance ServiceNow Anda.
    • Login menggunakan kredensial administrator Anda.
  2. Situs developer:
    • Mengonfigurasi pusat informasi, menyiapkan alur kerja, dan mengembangkan aplikasi kustom.
    • URL: https://developer.service-now.com.
    • Login menggunakan ID ServiceNow Anda.

Membuat endpoint OAuth

Untuk membuat endpoint OAuth, lakukan hal berikut:

  1. Login ke instance ServiceNow utama dengan hak istimewa administrator.
  2. Buka All > System OAuth > Application registry.
  3. Klik Baru, lalu pilih Buat endpoint OAuth API untuk klien eksternal. Ambil client ID dan rahasia klien.
  4. Isi informasi yang diperlukan:
    1. Name: Nama unik.
    2. URL Pengalihan: https://vertexaisearch.cloud.google.com/oauth-redirect
  5. Klik Kirim untuk membuat kredensial.
  6. Setelah pengiriman, klik nama untuk melihat rahasia klien.
  7. Rahasia disamarkan. Klik ikon gembok di sampingnya untuk menampilkan dan melihat secret.
  8. Simpan salinan ID dan rahasia klien untuk digunakan jika diperlukan.
  9. Buka developer.service-now.com, lalu klik Kelola sandi instance.
  10. Simpan salinan nama pengguna dan sandi untuk digunakan jika diperlukan.
  11. Pada tahap ini, kelima informasi yang diperlukan untuk menyiapkan penyimpanan data ServiceNow sudah tersedia. Jika tidak ada masalah terkait penggunaan peran Admin untuk menarik data, lanjutkan dengan membuat penyimpanan data.

Menyiapkan peran dan izin

Anda harus memiliki peran administrator keamanan untuk membuat dan mengelola pengguna. Jika Anda tidak memiliki peran ini, tingkatkan peran Anda menjadi security_admin dengan mengklik Tingkatkan peran di bagian profil Anda. Pilih peran security_admin, lalu klik Perbarui. Peran security_admin diperlukan untuk membuat peran dan mengelola pengguna.

  1. Buat peran khusus dengan aturan ACL:
    1. Buka Semua > Administrasi pengguna > Peran.
    2. Klik Baru untuk membuat peran baru.
    3. Pilih nama, lalu klik Kirim.
    4. Buka Keamanan sistem > Kontrol Akses (ACL) untuk membuat aturan ACL baru.
    5. Klik Baru untuk membuat aturan ACL baru.
    6. Pilih peran, seperti sys_user_role.
    7. Klik Submit dan tetapkan peran.
    8. Ulangi proses ini hingga semua akses tabel diberikan. Konektor memerlukan akses ke tabel berikut untuk setiap entitas agar dapat berjalan dengan sukses:
      1. Insiden: incident.
      2. Item katalog: 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. Pengetahuan: kb_knowledge, kb_knowledge_base, kb_uc_can_read_mtom, kb_uc_can_contribute_mtom.
      4. Lampiran: Semua item yang tercantum.
      5. Identitas: sys_user_role, sys_user_has_role, sys_user_group, sys_user_grmember, sys_user.
      6. Diperbarui saat kriteria baru ditarik: core_company, cmn_location, cmn_department.
      7. Kriteria pengguna: user_criteria.
    9. Pastikan semua ACL diperbarui dengan membuka sys_security_acl_role_list.do di kotak penelusuran.
    10. Pilih peran yang akan diverifikasi.
    11. Konfirmasi bahwa semua ACL yang diperlukan telah ditetapkan ke peran yang dipilih.
  2. Memberikan peran ke akun layanan:
    1. Buka Semua > Administrasi Pengguna > Pengguna, lalu pilih pengguna.
    2. Cari pengguna yang akan diberi peran, lalu pilih pengguna tersebut.
  3. Jika tidak ada pengguna yang tersedia, buka Keamanan sistem > Pengguna dan grup > Pengguna.
  4. Klik Baru untuk membuat akun layanan baru di tabel Pengguna.
  5. Centang kotak Akses layanan web saja.
  6. Buka tabel Peran di bagian bawah halaman.
  7. Klik Edit di sebelah kanan.
  8. Berikan peran yang dibuat sebelumnya dan tetapkan kepada pengguna. Bergantung pada jenis peran yang dibuat, pilih peran yang sesuai dan tetapkan.
  9. Dapatkan nama pengguna dan sandi untuk pengguna. Dari halaman yang sama, klik Setel sandi.
  10. Buat sandi secara otomatis dan simpan untuk digunakan nanti:
    1. ID Pengguna: manager.
    2. Sandi: Masukkan sandi yang dibuat otomatis.

Membuat peran khusus dan menetapkan ACL

Saat menggunakan peran pengguna non-admin, Anda mungkin mengalami masalah saat melakukan tindakan ServiceNow meskipun peran pengguna Anda berisi izin yang diperlukan. Untuk menghindari masalah ini, buat peran khusus dan tetapkan izin yang diperlukan.

Buat peran baru

  1. Buka Administrasi Pengguna > Peran.
  2. Klik New.
  3. Tentukan nama untuk peran baru, seperti database_admin_restricted.
  4. Secara opsional, masukkan deskripsi.
  5. Klik Kirim.

Menetapkan peran baru untuk pengguna yang melakukan autentikasi

  1. Buka Administrasi Pengguna > Pengguna.
  2. Pilih pengguna yang memerlukan akses terbatas.
  3. Di catatan pengguna, buka daftar terkait Peran.
  4. Di daftar terkait Peran, klik Edit.
  5. Di kolom Kumpulan, cari dan pilih peran yang baru saja dibuat.
  6. Klik Tambahkan untuk memindahkan peran ke Daftar Peran.
  7. Klik Simpan.

Menerapkan izin tingkat baris

  1. Buka System Security > Access Controls (ACL).
  2. Klik New.
  3. Konfigurasi kolom berikut:

    • Jenis: Pilih rekaman.
    • Operation: Pilih read.
    • Nama:
      • Di drop-down pertama, pilih tabel sys_db_object.
      • Di drop-down kedua, pilih Tidak ada.
    • Memerlukan peran: Di kolom Sisipkan baris baru, telusuri dan pilih peran yang baru dibuat.
  4. Klik Kirim.

  5. Ulangi langkah-langkah ini untuk menerapkan izin tingkat baris untuk tabel sys_glide_object dan sys_dictionary.

Menerapkan izin tingkat kolom

  1. Buka System Security > Access Controls (ACL).
  2. Klik New.
  3. Konfigurasikan kolom berikut:
    • Jenis: Pilih rekaman.
    • Operation: Pilih read.
    • Nama:
      • Di drop-down pertama, pilih tabel target, seperti sys_db_object.
      • Di drop-down kedua, terapkan izin pada semua kolom dalam tabel atau pilih nama kolom tertentu, seperti name.
    • Memerlukan peran: Di kolom Sisipkan baris baru, telusuri dan pilih peran yang baru dibuat.
  4. Klik Kirim.
  5. Ulangi langkah-langkah ini untuk menerapkan izin tingkat kolom untuk kolom tertentu atau semua kolom dalam tabel sys_glide_object dan sys_dictionary.

Mengonfigurasi workforce pool

Ikuti petunjuk untuk menyiapkan workforce pool dengan salah satu konfigurasi berikut:

  1. Penyiapan OIDC Azure
  2. Penyiapan SAML Azure
  3. Penyiapan Okta & OIDC
  4. Penyiapan Okta & SAML

Mengonfigurasi tindakan ServiceNow

Sebelum memulai, pastikan administrator Google Cloud telah menyelesaikan langkah-langkah di Menyiapkan autentikasi dan izin untuk ServiceNow dan memberi Anda hal berikut:

Kolom Deskripsi
ID Klien Client ID untuk integrasi ServiceNow Anda.
Rahasia klien Rahasia klien untuk integrasi ServiceNow Anda
Nama pengguna Akun pengguna integrasi Anda.
Sandi Sandi integrasi Anda.
URL Instance (atau Host tujuan) URL instance situs ServiceNow Anda. Formatnya adalah: https://INSTANCE_NAME.service-now.com
URL Auth URI Otorisasi untuk klien API ServiceNow Anda. Formatnya adalah: https://INSTANCE_NAME.service-now.com/oauth_auth.do
URL Token URI token refresh untuk klien ServiceNow API Anda. Formatnya adalah: https://INSTANCE_NAME.service-now.com/oauth_token.do

Mengonfigurasi tindakan ServiceNow di konsol Google Cloud

Untuk menambahkan tindakan ke aplikasi menggunakan konsol, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Agent Builder.
  2. Di menu navigasi, klik Tindakan.
  3. Klik Tambahkan tindakan.
  4. Untuk memilih ServiceNow sebagai sumber tindakan, di kartu ServiceNow, klik Hubungkan.
  5. Di halaman Konfigurasi, pilih penyimpanan data ServiceNow dari menu drop-down Pilih instance.
    Siapkan layanan sekarang
    Mengonfigurasi penyiapan ServiceNow
  6. Masukkan informasi otorisasi untuk instance konektor yang dipilih:

    1. Masukkan New client ID dan New client secret yang Anda ambil saat Anda membuat endpoint OAuth.
    2. Masukkan Auth URI ServiceNow. Gunakan format https://<var>INSTANCE_NAME</var>.service-now.com/oauth_auth.do.
    3. Masukkan Destination URI ServiceNow. Gunakan format https://<var>INSTANCE_NAME</var>.service-now.com.
    4. Masukkan Token URI ServiceNow. Gunakan format https://<var>INSTANCE_NAME</var>.service-now.com/oauth_token.do.
    5. Masukkan Akun Pengguna dan Sandi administrator ServiceNow.
  7. Opsional: Pilih Aktifkan dukungan PKCE untuk lapisan keamanan tambahan bagi aplikasi Anda.

  8. Opsional: Pilih Sertakan tabel sistem untuk membuat informasi sistem (tabel sistem) yang mendasari ServiceNow dapat diakses. Pilih opsi ini setelah mempertimbangkan dengan cermat dan hanya jika benar-benar diperlukan.

  9. Pilih tindakan ServiceNow yang ingin Anda aktifkan.

  10. Klik Finish Setup. Tindakan Anda ditampilkan di halaman Tindakan. Tindakan akan diterapkan di aplikasi Anda dalam beberapa menit.

Mengonfigurasi tindakan ServiceNow menggunakan API

Untuk menambahkan tindakan ke aplikasi menggunakan API, lakukan hal berikut.

  1. Buat konektor ServiceNow untuk tindakan:

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

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.

    • COLLECTION_ID: ID untuk koleksi.

    • COLLECTION_DISPLAY_NAME: nama tampilan untuk koleksi.

    • USER_ACCOUNT: akun pengguna integrasi ServiceNow Anda.

    • CLIENT_ID: ID klien untuk integrasi ServiceNow Anda.

    • PASSWORD: sandi integrasi ServiceNow Anda.

    • INSTANCE_URI: URI instance situs ServiceNow Anda.

  2. Perbarui konektor untuk menyertakan konfigurasi tindakan.

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

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.

    • COLLECTION_ID: ID untuk koleksi.

    • USERNAME: Akun pengguna integrasi ServiceNow Anda.

    • CLIENT_ID: ID klien untuk integrasi ServiceNow Anda.

    • PASSWORD: Sandi integrasi ServiceNow Anda.

    • AUTH_URI: URI Otorisasi untuk integrasi ServiceNow Anda.

    • TOKEN_URI: URI token refresh untuk integrasi ServiceNow Anda.

    • INSTANCE_URL: URL Instance situs ServiceNow Anda.

  3. Aktifkan tindakan ServiceNow untuk asisten Anda.

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

    Ganti kode berikut:

    • PROJECT_NUMBER: jumlah project Google Cloud Anda.

    • APP_ID: ID aplikasi.

    • CONNECTOR_ID: ID kumpulan data konektor yang Anda buat pada langkah sebelumnya.

Setelah Anda menambahkan tindakan, asisten dapat melakukan tindakan tersebut atas nama pengguna akhir Anda di aplikasi. Saat pengguna pertama kali meminta asisten untuk melakukan tindakan ServiceNow, pengguna akan diminta untuk mengizinkan akses ke akun ServiceNow mereka. Untuk menggunakan asisten, pengguna harus memiliki lisensi Gemini Enterprise Plus.