Utilisation de scripts et de tâches serveur et de Google Workspace pour gérer les KPI – Une étude de cas

Il y a quelques mois, Vtiger a présenté le Scripts et tâches du serveur fonctionnalité de la plateforme VTAP. Cet article explore une application pratique de cette fonctionnalité et montre comment l'équipe Vtiger l'utilise en interne pour tenir les membres de l'équipe informés de leurs indicateurs de performance clés (KPI).

Défi : tenir les équipes informées des KPI

L'équipe d'ingénierie de Vtiger comprend des unités plus petites axées sur les performances, la sécurité, l'expérience utilisateur et les problèmes des clients. Chaque équipe dispose de son propre ensemble de KPI pour suivre les progrès par rapport aux objectifs. Pour garantir que tout le monde reste informé, nous souhaitions un moyen d'informer régulièrement les équipes de leurs objectifs et de leurs performances actuelles.

Solution : Scripts et tâches de Google Spaces et du serveur VTAP

Nous utilisons Google Workspace pour la communication interne, notamment Google Chats et Google Groups. Chaque équipe dispose d'un espace Google dédié avec des membres qui influencent directement les métriques et sont responsables de la réalisation des objectifs.

Google Chats propose des webhooks pour envoyer des messages automatisés aux espaces. Vous pouvez configurer ces webhooks en accédant à Paramètres de Space > Applications et intégrations > Webhooks > Ajouter un Webhook.

Pour chaque équipe, nous avons créé un Espace dédié. Par exemple, le groupe Ferrari suit les problèmes de performances détectés par les outils internes et signalés par les clients. Ces questions sont classées par impact et se voient attribuer des niveaux de priorité avec les pondérations correspondantes. Les problèmes critiques affectant plusieurs utilisateurs ou serveurs reçoivent le poids le plus élevé (par exemple, 10 points), tandis que les problèmes limités à des utilisateurs ou à des fonctionnalités spécifiques reçoivent un poids inférieur (par exemple, 5 points). Nous regroupons tous les problèmes signalés et calculons un score d'index. Un score plus élevé indique un plus grand besoin de résolution, tandis qu’un score plus faible signifie un progrès positif.

La fréquence de mise à jour pour chaque équipe varie en fonction de leur flux de travail. Les équipes en contact avec les clients ont besoin de mises à jour quotidiennes à 10h00 pour rester au courant des problèmes critiques. Les équipes de performance, dont le travail implique l'analyse et la validation, reçoivent des mises à jour deux fois par semaine pour permettre une enquête approfondie avant de publier des correctifs.

Création d'une tâche planifiée pour les mises à jour quotidiennes

Voici comment nous avons mis en place une tâche côté serveur pour rappeler à l'équipe en contact avec les clients leur score chaque jour à 10h00 :

  1. Accédez à l'application Plateforme dans le menu principal et sélectionnez Tâches du serveur.
  2. Créez un nouveau travail de serveur. Celles-ci fonctionnent de la même manière que les tâches cron et ont une limite d'exécution de deux minutes.

Fonctionnalité des tâches du serveur

Exigence : envoyer une notification quotidienne concernant l'index des problèmes clients à Google Space.

Solution:

  • Nous avons exploité les API du service Web de Vtiger pour accéder aux données des rapports. 
  • Un rapport personnalisé dans Vtiger a été créé pour compter les problèmes ouverts classés par priorité.
  • Des problèmes ont été signalés dans le module Tâches de Vtiger.
  • Le script du serveur a utilisé les API HTTP de VTAP pour accéder au rapport et récupérer les données au format JSON.
  • Les scores ont été calculés et regroupés, et un modèle a été préparé pour envoyer les informations au webhook Space.
  • Enfin, les API HTTP de VTAP au sein du travail du serveur ont transmis les détails à l'espace.
  • À noter: Nous en discuterons davantage sur les nouvelles API de services Web dans les mois à venir.

Planification: La fréquence des tâches du serveur garantit la livraison rapide des informations au groupe.

Code


  

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

 

Les Avantages

Cette approche a automatisé le processus de notification des équipes sur leurs KPI. Actuellement, nous veillons à ce que chacun reste informé et concentré sur la réalisation de ses objectifs.

Cela contribue également à améliorer l’efficacité et la productivité de vos équipes.

 

Les Avantages

Cette approche a automatisé le processus de notification des équipes sur leurs KPI. Actuellement, nous veillons à ce que chacun reste informé et concentré sur la réalisation de ses objectifs.

Cela contribue également à améliorer l’efficacité et la productivité de vos équipes.

 
 
 

Bientôt disponible sur VTAP

 
 

Le module Data Connector Designer offre une interface utilisateur et facilite l'intégration avec d'autres applications.

Vous pouvez voir les données d'application dans l'interface Vtiger sans stocker les données dans Vtiger. Vous pouvez également activer un moyen plus sécurisé et plus simple de mettre en œuvre des flux d'automatisation qui dépendent de données externes sans copier les données dans le CRM.

Restez à l’écoute pour en savoir plus dans les mois à venir.

 

Le module Data Connector Designer offre une interface utilisateur et facilite l'intégration avec d'autres applications.

Vous pouvez voir les données d'application dans l'interface Vtiger sans stocker les données dans Vtiger. Vous pouvez également activer un moyen plus sécurisé et plus simple de mettre en œuvre des flux d'automatisation qui dépendent de données externes sans copier les données dans le CRM.

Restez à l’écoute pour en savoir plus dans les mois à venir.

 
 

Inscrivez-vous pour recevoir les dernières mises à jour!