ServiceNow

Contact Center AI Platform (CCAI Platform) menyediakan integrasi dengan ServiceNow CRM.

Setelan developer ServiceNow

Persyaratan Versi ServiceNow minimum yang disarankan: Tokyo patch 1

Menyiapkan pengguna autentikasi dasar

Kemungkinan akun administrator ServiceNow telah mengaktifkan verifikasi 2 langkah dan dikaitkan dengan pengguna tersebut. Akibatnya, akun ini tidak dapat digunakan untuk mendapatkan akses administrator di CCAI Platform. Anda harus membuat akun pengguna di ServiceNow untuk tujuan ini.

Buat pengguna dasar dengan kredensial:

  1. Buka Pengguna > Baru.

  2. Isi detail, lalu pilih Hanya akses layanan web.

  3. Catat ID pengguna dan sandi.

Peran yang diperlukan di ServiceNow

Peran default di ServiceNow telah dikonfigurasi sebelumnya untuk memberikan akses dan izin tertentu dalam platform. Admin dapat membuat dan mengonfigurasi peran yang memberikan izin tertentu, yang mengatur apa yang dapat dilakukan pengguna dan grup dengan peran tersebut.

Untuk melakukan integrasi ini, Anda harus memiliki peran berikut di ServiceNow:

  • user_admin: Peran ini dirancang untuk administrator yang perlu mengelola pengguna, grup, lokasi, dan perusahaan dalam instance ServiceNow.

  • sn_incident_read: Peran ini memberikan akses hanya baca ke Aplikasi Pengelolaan Insiden dan fungsi terkaitnya. Pengguna dapat melihat catatan insiden.

  • sn_incident_write: Peran ini memberikan akses tulis ke Aplikasi Pengelolaan Insiden dan fungsi terkaitnya, sehingga pengguna dapat membuat dan mengubah catatan insiden.

  • personalize_dictionary: Peran ini memungkinkan penyesuaian entri dan label kamus untuk memenuhi persyaratan bisnis tertentu.

  • function_field_admin: Peran ini ditujukan bagi pengguna yang perlu membuat, mengedit, dan melihat kolom fungsi secara khusus dalam perancang laporan. Tidak memberikan kemampuan untuk membuat atau menghapus kolom fungsi dari daftar atau formulir platform.

Mengonfigurasi tampilan instance

Bagian berikut menguraikan perubahan konfigurasi yang diperlukan untuk melihat instance.

(Opsional) Menambahkan favorit

Favorit adalah cara cepat untuk menemukan link yang paling sering digunakan dalam instance ServiceNow. Untuk menambahkan favorit, pilih ikon bintang di samping kolom di panel Navigator. Jika ingin memfilter panel navigator nanti agar hanya melihat favorit Anda, Anda dapat memilih ikon bintang tepat di bawah kolom filter navigator di panel Navigator.

Contoh Favorit yang berguna:

  • Insiden: Asosiasi ke data untuk CRM Kustom.
  • Pengguna: Asosiasi ke akun untuk CRM Kustom.
  • Rest API Explorer: Cara yang baik untuk menguji API.

Menambahkan kolom kustom secara manual

Pilih ikon peluas (3 garis horizontal) di sudut kiri atas di dalam tampilan objek yang ingin Anda ubah. Anda dapat melakukannya di Tampilan Layanan Mandiri atau Tampilan Default.

  1. Di menu, pilih Konfigurasi > Desain Formulir untuk membuka Desainer Formulir.

  2. Di kolom sebelah kiri, pilih tab Field Types.

  3. Tarik jenis kolom kustom yang ingin Anda tambahkan.

  4. Setelah Anda meletakkan jenis kolom ke bagian yang diinginkan, pilih ikon roda gigi untuk melihat Setelan.

  5. Di dalam jendela, ubah label dan catat namanya. Nama adalah nama yang Anda gunakan di setelan aplikasi Platform CCAI.

  6. Pilih Simpan di pojok kanan atas layar.

Memetakan data sesi ke CRM

Anda harus memetakan data sesi yang sesuai dari CCAIP menggunakan Dialogflow dan menggunakan parameter berikut:

Data Agen Virtual

{
  "ujet": {
    "session_variable": {
      "capture_target": "payload",
      "payload": {
        "value_one": "$session.params.payload_value_one"
      };
      "capture_type": [ "comment", "field" ] // optional, default of ["comment"]
    }
  }
}

Metadata

https://INSTANCE.service-now.com/api/now/table/sys_dictionary?sysparm_query=name%3Dsys_user https://INSTANCE.service-now.com/api/now/table/sys_dictionary?sysparm_query=name%3Dincident

Label: column_label

Kunci API: element

Kolom kustom berada di level yang sama dengan kolom standar dalam respons sys_user atau incident.

Mengupload file dari CCAI Platform ke CRM

https://INSTANCE_URL.service-now.com/api/now/attachment/upload

Metode: POST

Format data permintaan: property

Lokasi data respons: data.result

Jenis: Multi-part form

Jenis lampiran: Attachment Url

URL Lampiran: download_link

Parameter: table below

Contoh permintaan:

{
    file: FILE_DATA,
    table_name: incident,
    table_sys_id: RECORD_ID
}

Mengintegrasikan adaptor agen (formulir kustom)

Langkah-langkah berikut akan memandu Anda melalui proses mengaktifkan adaptor agen dan fungsi Click to Call di Instance ServiceNow.

Menginstal dan mengonfigurasi OpenFrame

  1. Buka Semua > Aplikasi Sistem > Semua Aplikasi yang Tersedia > Semua.

  2. Telusuri OpenFrame.

  3. Instal OpenFrame.

  4. Setelah diinstal, buka Semua > OpenFrame > Konfigurasi.

  5. Buat konfigurasi dengan URL. Jika Anda memiliki beberapa konfigurasi dalam Servicenow Instance, pengguna Anda mungkin tidak memiliki akses ke konfigurasi yang baru dibuat. Periksa grup Anda dan daftar pesanan konfigurasi OpenFrame untuk menentukan konfigurasi yang digunakan pengguna Anda.

  6. Ketik sys_properties.list ke dalam penelusuran.

  7. Edit glide.ui.concourse.onmessage_enforce_same_origin_whitelist.

  8. Tambahkan URL baru ke daftar nilai.

  9. Edit sn_openframe.cross.origin.access.

  10. Tambahkan autoplay ke daftar nilai.

Mengaktifkan Pengalaman UI Berikutnya untuk Pengguna

  1. Ketik sys_properties.list di menu navigasi, lalu klik Enter.

  2. Tetapkan properti sistem glide.ui.polaris.experience ke true.

  3. Tetapkan preferensi pengguna glide.ui.polaris.use ke false untuk sistem.

  4. Tetapkan preferensi pengguna glide.ui.polaris.use ke true untuk pengguna. (Anda dapat membuat baris preferensi pengguna.)

Memperbarui Properti Sistem

  1. Masukkan sys_properties.list ke kolom URL, lalu klik Enter.

  2. Edit glide.ui.concourse.onmessage_enforce_same_origin_whitelist.

  3. Tambahkan URL ke daftar nilai. Beberapa nilai harus dipisahkan dengan koma.

  4. Edit sn_openframe.cross.origin.access.

  5. Tambahkan putar otomatis ke daftar nilai.

  6. Edit glide.ui.polaris.experience.

  7. Ubah ke false, karena beberapa fitur tidak berfungsi jika diaktifkan.

Menambahkan Click to Call ke bagian atas formulir

  1. Buka System UI > UI Actions.

  2. Pilih Buat Tindakan Baru.

  3. Di formulir seperti yang diilustrasikan, pilih tabel yang akan menjadi bagian dari Click to Call ini.

  4. Untuk formulir dengan referensi ke kontak atau pengguna, gunakan g_form.getReference API untuk mengakses nomor telepon pengguna. Untuk tabel kustom, ID Referensi dan atribut yang dihasilkan mungkin berbeda. Komunikasi ke CCAI Platform akan sama, sehingga payload dan struktur data harus tetap sama dengan berikut:

    function clickToDial() {
      var user = g_form.getReference('caller_id',function(res) {
        var phone = res.phone || res.mobile_phone;
        var payload = {"name": "clicktodial", "number": phone}; 
        var data = {"payload": payload, "method": "openframe_communication" }; 
        CustomEvent.fireAll("openframe_request", data);
      });
    }
    
  5. Untuk formulir dengan nomor dalam formulir yang akan dipanggil, gunakan g_form.getValue API untuk mengambil nilai yang relevan. Berikut contoh dari tindakan UI untuk tabel Pengguna. Untuk tabel kustom, nama kolom formulir mungkin berbeda. Komunikasi ke Platform CCAI akan tetap sama, sehingga payload dan struktur data harus tetap sama dengan berikut:

    function clickToDial() {
      var phone = g_form.getValue('phone') || g_form.getValue('mobile_phone');
      var payload = {"name": "clicktodial", "number": phone}; 
      var context = {"payload": payload, "method" : "openframe_communication" }; 
      CustomEvent.fireAll("openframe_request", context);
    }
    

Menambahkan Klik untuk Menelepon di samping referensi

  1. Tombol panggilan di samping referensi ke kontak harus diedit dalam formulir. Klik kanan kolom, lalu buka Konfigurasi Kamus. Untuk atribut, tambahkan nilai show_phone atau show_phone_customer_service ke nilai ref_contributions.

  2. Di Makro UI, edit show_phone dan show_phone_customer_service.

  3. Ganti kode berikut:

Sebelumnya:

var task =    {"entity": p.attr('data-task-table'), "query" :"sys_id="+p.attr('data-task-id')+"$[AMP]sysparm_view="+p.attr('data-task-view'),"value":p.attr('data-task-value'),"label":p.attr('data-task-label')};
                                        var company = {"entity": p.attr('data-company-table'),"query":"sys_id="+p.attr('data-company-id')+"$[AMP]sysparm_view="+p.attr('data-task-view'),"value":p.attr('data-company-value'),"label":p.attr('data-company-label')};
                                        var caller = {"entity": p.attr('data-caller-table'),"query": "sys_id="+p.attr('data-caller-id')+"$[AMP]sysparm_view="+p.attr('data-task-view'),"value":p.attr('data-caller-value'),"label":p.attr('data-caller-label')};
                                        
                                        var callContext = [];
                                        callContext.push(task);
                                        callContext.push(company);
                                        callContext.push(caller);
                
                                        var metaData = {"phoneNumber":p.attr('data-caller-phone'),"taskId":p.attr('data-task-id')};
                                        
                                        var data =    {"metaData":metaData , "data": callContext};
                                        var payload = {"type": "OUTGOING_CALL", "data" : data};
                                        var createInteractionData ={};
                                        createInteractionData.interactionSysId = -1;
                                        createInteractionData.direction = 'outbound';
                                        createInteractionData.context_document = p.attr('data-task-id');
                                        createInteractionData.context_table = p.attr('data-task-table');
                                        createInteractionData.account = p.attr('data-company-id');
                                        if(p.attr('data-caller-table') === 'customer_contact')
                                                createInteractionData.contact = p.attr('data-caller-id');
                                        createInteractionData.opened_for = p.attr('data-caller-id');
        
                                        var ga = new GlideAjax('sn_openframe.OpenFrameAjaxUtility');
                                        ga.addParam('sysparm_name', 'createInteractionWithPropertyCheck');
                                        ga.addParam('context', JSON.stringify(createInteractionData));
                                        ga.getXML(function(serverResponse) {
                                                var result = serverResponse.responseXML.getElementsByTagName("result");
                                                var output = JSON.parse(result[0].getAttribute("data"));
                                                if(output.status == "success"){
                                                        var interaction = {"entity": "interaction", "query" :"sys_id="+output.fields.interactionSysId, "value":output.fields.number, "label":"Interaction", "display":false};
                                                        payload.data.data.push(interaction);
                                                }
                                                var context = {"payload": payload, "method" : "openframe_communication" };
                                                jslog("context with interaction : "+ JSON.stringify(context));
                                                CustomEvent.fireAll("openframe_request", context);
                                        });

Baru:

var phone = p.attr('data-caller-phone')
                   var payload = {"name": "clicktodial", "number": phone}; 
                   var data = {"payload": payload, "method": "openframe_communication" }; 
                   CustomEvent.fireAll("openframe_request", data);

Setelan CRM

Langkah-langkah berikut menggambarkan cara menghubungkan API ke ServiceNow menggunakan portal Platform CCAI.

  1. Di portal Platform CCAI, buka Settings > Developer Settings > CRM.

  2. Di bagian Agent Platform, pilih ServiceNow.

  3. Masukkan informasi domain ServiceNow Anda di kolom ServiceNow Domain. Bagian ini mungkin berupa instance developer atau instance vendor sesuai kebutuhan, tetapi merupakan korelasi langsung dengan instance dan merupakan bagian pertama URL di alamat web portal ServiceNow: https://{your instance}.servicenow.com.

  4. Di kolom ServiceNow Cloud Selection, pilih Incident untuk jenis tiket dasar. Jika Anda memilih Custom, opsi tambahan akan muncul. Insiden adalah ekstensi tabel tugas; objek kustom harus berupa ekstensi insiden.

  5. Di kolom Kredensial Autentikasi, masukkan nama pengguna dan sandi Anda.

  6. Jika Anda memilih Incident untuk jenis kolom Pemilihan Cloud, Anda akan melihat kolom berikut:

    • Lookup Account Object mencakup tiga kolom drop-down: Object Type, Phone Number lookup fields, dan Phone number primary field.
  7. Jika Anda memilih Custom untuk jenis kolom Pemilihan Cloud, Anda akan melihat kolom berikut:

    • Lookup Record Object:
      • Jenis Objek Data Dasar: Pilih jenis tabel task atau incident.
      • Jenis Objek Catatan: Kolom ini akan diisi dengan data jika tabel insiden telah diperluas, dan Anda dapat memilihnya jika diperlukan.
    • Lookup Account Object mencakup tiga kolom drop-down: Object Type, Phone Number lookup fields, dan Phone number primary field.
  8. Kolom ID Pengguna Kustom: Centang kotak ini jika Anda ingin mengaktifkan kolom pencarian pengguna kustom untuk sesi SDK Seluler atau Web.

  9. Format Nomor Telepon: Memberikan kemampuan untuk memilih format yang ingin Anda gunakan untuk menampilkan nomor telepon.

  10. File Metadata Sesi: Centang kotak ini untuk melampirkan metadata sesi ke catatan CRM.

  11. Klik Simpan untuk menyimpan pilihan Anda. Jika telah mencentang kotak Kolom ID Pengguna Kustom, Anda akan memiliki opsi untuk membuat kolom kustom untuk data. Tindakan ini akan menambahkan tab kolom kustom di bagian bawah setiap Insiden ServiceNow di bawah bagian kode penyelesaian dan catatan penyelesaian halaman.

Kolom kustom untuk data

Ini adalah kolom kustom yang telah dibuat untuk Instance ServiceNow di Perancang Formulir. Petunjuk tentang cara membuat kolom kustom lainnya dapat ditemukan di dokumentasi ServiceNow pada bagian Penyiapan CRM ServiceNow, subbagian Menambahkan Kolom Kustom Secara Manual.

Kolom Jenis Definisi
u_ujet_custom_field_after_call_work String Durasi Pekerjaan Setelah Panggilan
u_ujet_custom_field_call_duration String Durasi Panggilan
u_ujet_custom_field_comm_id Bilangan bulat ID panggilan atau chat, bergantung pada jenis kontak
u_ujet_custom_field_rating Bilangan bulat Skor CSAT
u_ujet_custom_field_email_via_web String Email dikirim dari web
u_ujet_custom_field_feedback String Masukan
u_ujet_custom_field_from_phone_number String Nomor telepon penelepon
u_ujet_custom_field_hold_duration String Total waktu tunggu
u_ujet_custom_field_menu_path String Pemilihan Menu
u_ujet_custom_field_queue_name String Nama Antrean
u_ujet_custom_field_session_type String Jenis Sesi
u_ujet_custom_field_verification Benar/Salah Konfirmasi verifikasi selesai
u_ujet_custom_field_wait_time String Total waktu tunggu

Menyiapkan OAuth

Untuk mengonfigurasi OAuth, lakukan langkah-langkah untuk membuat aplikasi OAuth di ServiceNow. Kemudian, masukkan kredensial (Client ID OAuth dan Client Secret OAuth) di bagian Developer Settings > CRM > Authentication Method.

Membuat aplikasi OAuth di Service Now

  1. Di akun ServiceNow Anda, buka All > System OAuth > Application Registry.

  2. Buat aplikasi OAuth dan pilih Create an OAuth API endpoint for external clients.

  3. Konfigurasi kolom berikut:

    • Nama: Masukkan Nama yang unik.

    • Client ID: Client ID dibuat secara otomatis oleh server OAuth ServiceNow.

    • Rahasia Klien: Ini adalah rahasia klien untuk aplikasi OAuth. Biarkan kosong untuk pembuatan otomatis.

    • Masa Aktif Token Refresh: Waktu, dalam detik, token refresh akan valid.

    • Masa Aktif Token Akses: Waktu, dalam detik, token akses akan valid.

    • URL pengalihan: Masukkan URL lingkungan Anda ditambah subdirektori. Contoh: https://servicenow.yourcompany.co/v1/servicenow/oauth_callback

    • Terapkan Pembatasan Token: Membatasi penggunaan token akses ke API yang ditentukan dalam Kebijakan Akses REST API yang ada dalam dokumentasi ServiceNow. Membatalkan pilihan opsi ini akan memungkinkan penggunaan token akses di REST API lainnya.

  4. Klik Kirim.

  5. Setelah membuat aplikasi, kembali ke data dan ambil Client ID dan Client Secret yang baru dibuat.

Memperbarui setelan di setelan developer

  1. Buka Setelan Developer > CRM.

  2. Pastikan setelan dimasukkan dan dikonfigurasi sesuai dengan langkah-langkah sebelumnya.

  3. Di bagian metode autentikasi, klik OAuth.

  4. Masukkan Client ID OAuth dan rahasia klien OAuth. (Lihat langkah 5 di atas.)

  5. Klik Save.

  6. Klik Tautkan kredensial.

Pemetaan kolom kustom untuk Agen Virtual

Jika menggunakan Agen Virtual, konfigurasi kolom ini di layar Pemetaan Kolom Kustom. Hal ini memungkinkan variabel Agen Virtual ditransfer dari payload sesi Agen Virtual ke ServiceNow. Nama variabel dapat berupa string apa pun, label kolom yang tercantum di sini adalah contohnya.

Di layar Pemetaan Kolom Kustom, konfigurasi koneksi antara variabel yang dibuat oleh definisi payload yang Anda gunakan dalam konfigurasi Agen Virtual awal dan variabel yang relevan dalam ServiceNow.

Judul Pemetaan Kolom Label Kolom CRM Label Kolom Data Kustom
Masukan Agen Virtual ccaip_custom_field_incident_feedback va_feedback

Mengonfigurasi Setelan lainnya

Anda akan menemukan setelan lain yang memungkinkan Anda mengintegrasikan CCAI Platform dengan benar ke Instance ServiceNow di menu drop-down Settings. Lihat link dalam daftar berikut untuk mengetahui informasi tambahan tentang cara mengonfigurasi setiap bagian.

Output pengujian

Sekarang Anda dapat memverifikasi fungsi alur panggilan dan chat dengan mengklik tombol yang relevan di bagian atas layar portal Platform CCAI. Pastikan pemblokir pop-up Anda dinonaktifkan saat menjalankan pengujian ini.

Insiden akan dibuat di ServiceNow, dengan kontak panggilan atau chat yang tercantum di bagian Aktivitas pada Insiden. Hal ini akan muncul sebagai Catatan Kerja, bukan Komentar Insiden, sehingga aktivitas backend ini tidak terlihat oleh pelanggan.

Deskripsi kasus akan otomatis diisi dengan "Panggilan menggunakan Platform CCAI" atau "Chat menggunakan Platform CCAI" dan mungkin perlu diperbarui oleh agen.

Setelah puas dengan output panggilan atau chat, Anda dapat memasukkan kode dan catatan penyelesaian (jika kolom kode dan catatan penyelesaian ServiceNow telah dikonfigurasi), lalu menutup kasus.

Untuk memverifikasi bahwa kasus telah ditutup, Anda mungkin perlu mengklik tombol navigasi back di browser Anda. Perilaku ini diharapkan terjadi di Instance ServiceNow bahwa setelah menyelesaikan kasus, kasus akan otomatis ditutup dan Anda akan diarahkan ke halaman data pelanggan.