TPG'leri Yönetmek için Sunucu Komut Dosyalarını, İşleri ve Google Workspace'i Kullanma - Bir Örnek Olay

Birkaç ay önce Vtiger şunları tanıttı: Sunucu Komut Dosyaları ve İşleri VTAP platformundaki özellik. Bu makale, bu özelliğin pratik uygulamasını araştırıyor ve Vtiger ekibinin, ekip üyelerini Temel Performans Göstergeleri (KPI'ler) hakkında bilgilendirmek için bunu şirket içinde nasıl kullandığını gösteriyor.

Zorluk: Ekipleri KPI'lar Konusunda Güncel Tutmak

Vtiger mühendislik ekibi performans, güvenlik, kullanıcı deneyimi ve müşteri sorunlarına odaklanan daha küçük birimlerden oluşur. Her takımın, hedeflere yönelik ilerlemeyi takip etmek için kendi KPI'ları vardır. Herkesin bilgi sahibi olmasını sağlamak için ekipleri düzenli olarak hedefleri ve mevcut performansları konusunda güncellemenin bir yolunu istedik.

Çözüm: Google Spaces ve VTAP Sunucu Komut Dosyaları ve İşleri

Google Chats ve Google Grupları da dahil olmak üzere şirket içi iletişim için Google Workspace'i kullanıyoruz. Her ekibin, metrikleri doğrudan etkileyen ve hedeflere ulaşmaktan sorumlu üyelerin bulunduğu özel bir Google Alanı vardır.

Google Sohbetler, Spaces'a otomatik mesaj göndermek için web kancaları sunar. Bu web kancalarını Alan Ayarları > Uygulamalar ve Entegrasyonlar > Web Kancaları > Web Kancası Ekle seçeneğine giderek yapılandırabilirsiniz.

Her takım için özel bir Alan oluşturduk. Örneğin Ferrari grubu, dahili araçlar tarafından tespit edilen ve müşteriler tarafından bildirilen performans sorunlarını takip ediyor. Bu sorunlar, etkiye göre kategorize edilir ve karşılık gelen ağırlıklarla birlikte öncelik seviyelerine atanır. Birden fazla kullanıcıyı veya sunucuyu etkileyen kritik sorunlar en yüksek ağırlığı alır (örneğin 10 puan), belirli kullanıcılar veya özelliklerle sınırlı olan sorunlar ise daha düşük ağırlık alır (örneğin 5 puan). Bildirilen tüm sorunları topluyoruz ve bir dizin puanı hesaplıyoruz. Daha yüksek bir puan, daha büyük bir çözüm ihtiyacına işaret ederken, daha düşük bir puan, olumlu ilerlemeye işaret eder.

Her ekibin güncelleme sıklığı iş akışlarına göre değişir. Müşteriyle yüz yüze çalışan ekiplerin, kritik sorunlar hakkında bilgi sahibi olabilmek için sabah 10:00'da günlük güncellemelere ihtiyacı vardır. Çalışmaları analiz ve doğrulamayı içeren performans ekipleri, düzeltmeleri yayınlamadan önce kapsamlı bir inceleme yapılmasına olanak sağlamak için haftada iki kez güncelleme alır.

Günlük Güncellemeler için Zamanlanmış Bir İş Oluşturma

Müşteriyle yüz yüze kalan ekibe her gün saat 10:00'da puanlarını hatırlatmak için sunucu tarafında bir işi şu şekilde ayarlıyoruz:

  1. Ana Menüdeki Platform uygulamasına gidin ve Sunucu İşleri'ni seçin.
  2. Yeni bir Sunucu İşi oluşturun. Bunlar cron işlerine benzer şekilde çalışır ve iki dakikalık yürütme sınırına sahiptir.

Sunucu İşi İşlevselliği

gereklilik: Müşteri sorunları dizini hakkında Google Space'e günlük bir bildirim gönderin.

Çözüm:

  • Rapor verilerine erişmek için Vtiger'in web hizmeti API'lerinden yararlandık. 
  • Önceliğe göre kategorize edilen açık sorunları saymak için Vtiger'de özel bir rapor oluşturuldu.
  • Sorunlar Vtiger'in Görevler modülünde bildirildi.
  • Sunucu komut dosyası, rapora erişmek ve verileri JSON biçiminde getirmek için VTAP'nin HTTP API'lerini kullandı.
  • Puanlar hesaplanıp bir araya getirildi ve bilgilerin Space webhook'a gönderilmesi için bir şablon hazırlandı.
  • Son olarak, VTAP'nin sunucu işi içindeki HTTP API'leri ayrıntıları Space'e iletti.
  • Not: Önümüzdeki aylarda yeni web hizmeti API'leri hakkında daha fazla tartışılacak.

Çizelgeleme: Sunucu iş sıklığı, bilgilerin gruba zamanında iletilmesini sağlar.

Kod


  

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); }

 

Faydalar

Bu yaklaşım, ekipleri KPI'ları hakkında bilgilendirme sürecini otomatikleştirdi. Şu anda herkesin bilgi sahibi olmasını ve hedeflerine ulaşmaya odaklanmasını sağlamak için kullanıyoruz.

Ayrıca ekiplerinizin verimliliğini ve üretkenliğini artırmaya da yardımcı olur.

 

Faydalar

Bu yaklaşım, ekipleri KPI'ları hakkında bilgilendirme sürecini otomatikleştirdi. Şu anda herkesin bilgi sahibi olmasını ve hedeflerine ulaşmaya odaklanmasını sağlamak için kullanıyoruz.

Ayrıca ekiplerinizin verimliliğini ve üretkenliğini artırmaya da yardımcı olur.

 
 
 

Çok yakında VTAP'ta

 
 

Veri Bağlayıcı Tasarımcısı modülü kullanıcı arayüzü sunar ve diğer uygulamalarla entegrasyona yardımcı olur.

Uygulama verilerini Vtiger arayüzünde, verileri Vtiger'e kaydetmeden görebilirsiniz. Ayrıca, verileri CRM'ye kopyalamadan, harici verilere bağlı otomasyon akışlarını uygulamanın daha güvenli ve daha kolay bir yolunu da etkinleştirebilirsiniz.

Önümüzdeki aylarda bu konuda daha fazla bilgi edinmek için bizi takip etmeye devam edin.

 

Veri Bağlayıcı Tasarımcısı modülü kullanıcı arayüzü sunar ve diğer uygulamalarla entegrasyona yardımcı olur.

Uygulama verilerini Vtiger arayüzünde, verileri Vtiger'e kaydetmeden görebilirsiniz. Ayrıca, verileri CRM'ye kopyalamadan, harici verilere bağlı otomasyon akışlarını uygulamanın daha güvenli ve daha kolay bir yolunu da etkinleştirebilirsiniz.

Önümüzdeki aylarda bu konuda daha fazla bilgi edinmek için bizi takip etmeye devam edin.

 
 

En son güncellemeleri almak için kaydolun!