Menggunakan Skrip Server dan Pekerjaan & Google Workspace untuk Mengelola KPI - Studi Kasus

Beberapa bulan yang lalu, Vtiger memperkenalkan Skrip dan Pekerjaan Server fitur dalam platform VTAP. Artikel ini mengeksplorasi penerapan praktis fitur ini dan menunjukkan bagaimana tim Vtiger menggunakannya secara internal agar anggota tim selalu mendapat informasi tentang Indikator Kinerja Utama (KPI) mereka.

Tantangan: Terus memperbarui KPI bagi tim

Tim teknik Vtiger terdiri dari unit-unit kecil yang berfokus pada kinerja, keamanan, pengalaman pengguna, dan masalah pelanggan. Setiap tim memiliki seperangkat KPI sendiri untuk melacak kemajuan dalam mencapai tujuan. Untuk memastikan semua orang tetap mendapat informasi, kami menginginkan cara untuk memperbarui tim mengenai target dan kinerja mereka saat ini secara berkala.

Solusi: Skrip dan Pekerjaan Server Google Spaces dan VTAP

Kami menggunakan Google Workspace untuk komunikasi internal, termasuk Google Chat dan Google Grup. Setiap tim memiliki Google Space khusus dengan anggota yang secara langsung memengaruhi metrik dan bertanggung jawab untuk mencapai target.

Google Chats menawarkan webhook untuk mengirim pesan otomatis ke Spaces. Anda dapat mengonfigurasi webhook ini dengan membuka Pengaturan Ruang > Aplikasi dan Integrasi > Webhook > Tambahkan Webhook.

Untuk setiap tim, kami membuat Ruang khusus. Misalnya, grup Ferrari melacak masalah kinerja yang ditangkap oleh alat internal dan dilaporkan oleh pelanggan. Isu-isu ini dikategorikan berdasarkan dampaknya dan ditetapkan tingkat prioritasnya dengan bobot yang sesuai. Masalah kritis yang mempengaruhi banyak pengguna atau server mendapat bobot tertinggi (misalnya, 10 poin), sedangkan masalah yang terbatas pada pengguna atau fitur tertentu menerima bobot lebih rendah (misalnya, 5 poin). Kami mengumpulkan semua masalah yang dilaporkan dan menghitung skor indeks. Skor yang lebih tinggi menunjukkan perlunya penyelesaian yang lebih besar, sedangkan skor yang lebih rendah menunjukkan kemajuan yang positif.

Frekuensi pembaruan untuk setiap tim berbeda-beda berdasarkan alur kerja mereka. Tim yang berhubungan dengan pelanggan memerlukan pembaruan harian pada pukul 10 agar tetap mengetahui masalah-masalah penting. Tim kinerja, yang pekerjaannya melibatkan analisis dan validasi, menerima pembaruan dua kali seminggu untuk memungkinkan penyelidikan menyeluruh sebelum merilis perbaikan.

Membuat Pekerjaan Terjadwal untuk Pembaruan Harian

Berikut cara kami menyiapkan pekerjaan sisi server untuk mengingatkan tim yang berhadapan dengan pelanggan tentang skor mereka setiap hari pada pukul 10:

  1. Navigasikan ke aplikasi Platform di Menu utama dan pilih Pekerjaan Server.
  2. Buat Pekerjaan Server baru. Fungsinya mirip dengan tugas cron dan memiliki batas eksekusi dua menit.

Fungsionalitas Pekerjaan Server

Kebutuhan: Mengirim pemberitahuan harian tentang indeks masalah pelanggan ke Google Space.

Solusi:

  • Kami memanfaatkan API layanan web Vtiger untuk mengakses data laporan. 
  • Laporan khusus di Vtiger dibuat untuk menghitung masalah terbuka yang dikategorikan berdasarkan prioritas.
  • Masalah dilaporkan dalam modul Tugas Vtiger.
  • Skrip server menggunakan API HTTP VTAP untuk mengakses laporan dan mengambil data dalam format JSON.
  • Skor dihitung dan dikumpulkan, dan templat disiapkan untuk mengirimkan informasi ke webhook Space.
  • Terakhir, API HTTP VTAP dalam tugas server mengirimkan detailnya ke Space.
  • Catatan: Lebih banyak lagi yang akan dibahas tentang API layanan web baru dalam beberapa bulan mendatang.

Penjadwalan: Frekuensi kerja server memastikan pengiriman informasi tepat waktu ke grup.

Kode


  

asyncfunctionmain() { //Type your code here let url = "https://YOUR_ACCOUNT_URL/api/records/data?module=Reports&id=REPORT_ID"; var USERNAME = 'VTIGER_USERNAME'; var PASSWORD = 'VTIGER_PASSWORD'; var authHeader = btoa(USERNAME+":"+PASSWORD); var options = {           headers: {Authorization: 'Basic '+authHeader}       } var response = await vtap.macro.http.get(url, options); var body = JSON.parse(response.body); //extract information from the report. let data = {}; for(let i in body){ if("Bug" === body[i]["Calendar.tasktype"]) {         data[body[i]["Calendar.taskpriority"]] = body[i]["record_count"];     } } if(!data["URGENT"]) data['URGENT']=0; if(!data["High"]) data['High']=0; if(!data["Medium"]) data['Medium']=0; if(!data["Low"]) data['Low']=0; let text = "\n\n Today's open bugs tasks count - "+ newDate().toDateString()+'\n -------------------------------------\n'; text = text + "URGENT Tasks - "+data["URGENT"]+"\n"; text = text + "High Tasks - "+data["High"]+"\n"; text = text + "Medium Tasks - "+data["Medium"]+"\n"; text = text + "Low Tasks - "+data["Low"]+"\n"; text = text + "Performance Index Score : "+ ((10 * parseInt(data["URGENT"])) + (5 * parseInt(data['High'])) + (3 * parseInt(data['Medium']))) + "\n"; var options = {         headers : { 'contentType': 'application/json'         }, 'body' : JSON.stringify({'text':text})     }; let chatWebhookURL = "https://chat.googleapis.com/v1/spaces/zz/messages?key=yyyyyy&token=xxxxx";     vtap.macro.http.post(chatWebhookURL,options); }


  

asyncfunctionmain() { //Type your code here let url = "https://YOUR_ACCOUNT_URL/api/records/data?module=Reports&id=REPORT_ID"; var USERNAME = 'VTIGER_USERNAME'; var PASSWORD = 'VTIGER_PASSWORD'; var authHeader = btoa(USERNAME+":"+PASSWORD); var options = {           headers: {Authorization: 'Basic '+authHeader}       } var response = await vtap.macro.http.get(url, options); var body = JSON.parse(response.body); //extract information from the report. let data = {}; for(let i in body){ if("Bug" === body[i]["Calendar.tasktype"]) {         data[body[i]["Calendar.taskpriority"]] = body[i]["record_count"];     } } if(!data["URGENT"]) data['URGENT']=0; if(!data["High"]) data['High']=0; if(!data["Medium"]) data['Medium']=0; if(!data["Low"]) data['Low']=0; let text = "\n\n Today's open bugs tasks count - "+ newDate().toDateString()+'\n -------------------------------------\n'; text = text + "URGENT Tasks - "+data["URGENT"]+"\n"; text = text + "High Tasks - "+data["High"]+"\n"; text = text + "Medium Tasks - "+data["Medium"]+"\n"; text = text + "Low Tasks - "+data["Low"]+"\n"; text = text + "Performance Index Score : "+ ((10 * parseInt(data["URGENT"])) + (5 * parseInt(data['High'])) + (3 * parseInt(data['Medium']))) + "\n"; var options = {         headers : { 'contentType': 'application/json'         }, 'body' : JSON.stringify({'text':text})     }; let chatWebhookURL = "https://chat.googleapis.com/v1/spaces/zz/messages?key=yyyyyy&token=xxxxx";     vtap.macro.http.post(chatWebhookURL,options); }

 

Keunggulan

Pendekatan ini mengotomatiskan proses memberi tahu tim tentang KPI mereka. Saat ini, kami menggunakannya untuk memastikan semua orang tetap mendapat informasi dan fokus dalam mencapai tujuan mereka.

Ini juga membantu meningkatkan efisiensi dan produktivitas tim Anda.

 

Keunggulan

Pendekatan ini mengotomatiskan proses memberi tahu tim tentang KPI mereka. Saat ini, kami menggunakannya untuk memastikan semua orang tetap mendapat informasi dan fokus dalam mencapai tujuan mereka.

Ini juga membantu meningkatkan efisiensi dan produktivitas tim Anda.

 
 
 

Segera hadir di VTAP

 
 

Modul Perancang Konektor Data menawarkan antarmuka pengguna dan membantu integrasi dengan aplikasi lain.

Anda dapat melihat data aplikasi dalam antarmuka Vtiger tanpa menyimpan data di Vtiger. Anda juga dapat mengaktifkan cara yang lebih aman dan mudah untuk menerapkan alur otomatisasi yang bergantung pada data eksternal tanpa menyalin data ke CRM.

Nantikan untuk mempelajari lebih lanjut tentang hal ini dalam beberapa bulan mendatang.

 

Modul Perancang Konektor Data menawarkan antarmuka pengguna dan membantu integrasi dengan aplikasi lain.

Anda dapat melihat data aplikasi dalam antarmuka Vtiger tanpa menyimpan data di Vtiger. Anda juga dapat mengaktifkan cara yang lebih aman dan mudah untuk menerapkan alur otomatisasi yang bergantung pada data eksternal tanpa menyalin data ke CRM.

Nantikan untuk mempelajari lebih lanjut tentang hal ini dalam beberapa bulan mendatang.

 
 

Daftar untuk menerima pembaruan terbaru!