שימוש בסקריפטים ומשרות של שרתים וב-Google Workspace לניהול KPIs - תיאור מקרה

לפני מספר חודשים, Vtiger הציגה את סקריפטים ועבודות שרת תכונה בפלטפורמת VTAP. מאמר זה בוחן יישום מעשי של תכונה זו ומציג כיצד צוות Vtiger משתמש בה באופן פנימי כדי לעדכן את חברי הצוות לגבי מדדי הביצועים העיקריים שלהם (KPI).

אתגר: לעדכן את הצוותים ב-KPI

צוות ההנדסה של Vtiger מורכב מיחידות קטנות יותר המתמקדות בביצועים, אבטחה, חווית משתמש ובעיות לקוחות. לכל צוות יש מערכת KPI משלו למעקב אחר התקדמות מול יעדים. כדי להבטיח שכולם יישארו מעודכנים, רצינו דרך לעדכן את הצוותים ביעדים שלהם ובביצועים הנוכחיים באופן קבוע.

פתרון: Google Spaces ו-VTAP Server Scripts ו-Jobs

אנו משתמשים ב-Google Workspace לתקשורת פנימית, כולל Google Chats ו-Google Groups. לכל צוות יש מרחב Google ייעודי עם חברים שמשפיעים ישירות על המדדים ואחראים להשגת יעדים.

Google Chats מציע webhooks לשליחת הודעות אוטומטיות ל-Spaces. אתה יכול להגדיר webhooks אלה על ידי ניווט אל הגדרות שטח > אפליקציות ושילובים > Webhooks > הוסף Webhook.

עבור כל צוות, יצרנו מרחב ייעודי. לדוגמה, קבוצת פרארי עוקבת אחר בעיות ביצועים שנלכדו על ידי כלים פנימיים ומדווחות על ידי לקוחות. נושאים אלה מסווגים לפי השפעה ומוקצות רמות עדיפות עם משקלים מתאימים. בעיות קריטיות המשפיעות על מספר משתמשים או שרתים מקבלים את המשקל הגבוה ביותר (למשל, 10 נקודות), בעוד שבעיות המוגבלות למשתמשים או תכונות ספציפיות מקבלות משקל נמוך יותר (למשל, 5 נקודות). אנו אוספים את כל הבעיות המדווחות ומחשבים ציון מדד. ציון גבוה יותר מצביע על צורך גדול יותר ברזולוציה, בעוד ציון נמוך יותר מסמל התקדמות חיובית.

תדירות העדכון עבור כל צוות משתנה בהתאם לזרימת העבודה שלו. צוותים מול לקוחות דורשים עדכונים יומיים בשעה 10:00 בבוקר כדי להתעדכן בבעיות קריטיות. צוותי ביצועים, שעבודתם כרוכה בניתוח ואימות, מקבלים עדכונים פעמיים בשבוע כדי לאפשר חקירה יסודית לפני שחרור תיקונים.

יצירת עבודה מתוזמנת עבור עדכונים יומיים

כך אנו מגדירים עבודה בצד השרת כדי להזכיר לצוות הפונה ללקוח על הציון שלהם בכל יום בשעה 10:00:

  1. נווט אל אפליקציית הפלטפורמה בתפריט הראשי ובחר משרות שרת.
  2. צור עבודה שרת חדשה. אלה מתפקדים בדומה לעבודות cron ויש להם מגבלת ביצוע של שתי דקות.

פונקציונליות עבודה בשרת

דרישה: שלח הודעה יומית על אינדקס בעיות הלקוחות ל-Google Space.

פתרון:

  • מינפנו את ממשקי ה-API של שירות האינטרנט של Vtiger כדי לגשת לנתוני דוחות. 
  • דוח מותאם אישית ב-Vtiger נוצר כדי לספור בעיות פתוחות מסווגות לפי עדיפות.
  • בעיות דווחו במודול המשימות של Vtiger.
  • סקריפט השרת השתמש בממשקי HTTP של VTAP כדי לגשת לדוח ולאחזר נתונים בפורמט JSON.
  • הציונים חושבו ונצברו, והוכנה תבנית לשליחת המידע ל-Space webhook.
  • לבסוף, ממשקי ה-HTTP של VTAP במסגרת עבודת השרת שידרו את הפרטים למרחב.
  • הערה: עוד יידונו על ממשקי ה-API החדשים של שירותי האינטרנט בחודשים הקרובים.

תזמון: תדירות עבודת השרת מבטיחה מסירת מידע בזמן לקבוצה.

קופונים


  

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

 

הטבות

גישה זו הפכה את תהליך ההודעה לצוותים על מדדי ה-KPI שלהם. נכון לעכשיו, אנו משתמשים כדי להבטיח שכולם יישארו מעודכנים וממוקדים בהשגת המטרות שלהם.

זה גם עוזר לשפר את היעילות ואת הפרודוקטיביות של הצוותים שלך.

 

הטבות

גישה זו הפכה את תהליך ההודעה לצוותים על מדדי ה-KPI שלהם. נכון לעכשיו, אנו משתמשים כדי להבטיח שכולם יישארו מעודכנים וממוקדים בהשגת המטרות שלהם.

זה גם עוזר לשפר את היעילות ואת הפרודוקטיביות של הצוותים שלך.

 
 
 

בקרוב ב-VTAP

 
 

מודול Data Connector Designer מציע ממשק משתמש ומסייע בשילוב עם יישומים אחרים.

אתה יכול לראות נתוני יישום בתוך ממשק Vtiger מבלי לאחסן את הנתונים ב-Vtiger. אתה יכול גם לאפשר דרך בטוחה וקלה יותר ליישם זרימות אוטומציה התלויות בנתונים חיצוניים מבלי להעתיק את הנתונים ל-CRM.

הישאר מעודכן כדי ללמוד עוד על כך בחודשים הקרובים.

 

מודול Data Connector Designer מציע ממשק משתמש ומסייע בשילוב עם יישומים אחרים.

אתה יכול לראות נתוני יישום בתוך ממשק Vtiger מבלי לאחסן את הנתונים ב-Vtiger. אתה יכול גם לאפשר דרך בטוחה וקלה יותר ליישם זרימות אוטומציה התלויות בנתונים חיצוניים מבלי להעתיק את הנתונים ל-CRM.

הישאר מעודכן כדי ללמוד עוד על כך בחודשים הקרובים.

 
 

הירשם כדי לקבל את העדכונים האחרונים!