Notification de RDV dans Google Chat

Voici comment vous pouvez créer facilement des notifications dans votre Google Chat lorsqu’un rendez-vous est pris par un utilisateur depuis le widget Agendize.


Dans un premier temps il sera nécessaire de créer un webhook depuis votre espace Google ciblé.



Puis, vous pouvez récupérer le lien donné.

Ensuite, dans une application de test d’API (Postman par exemple), vous devez procéder comme suit :


  1. Dans la partie Headers, renseignez votre clé API (apiKey) et votre token :
  2. Dans le champs URL, collez cette adresse avec l’ID de la compagnie concerné :
    https://france.agendize.com/api/2.1/scheduling/companies/{{companyId}}/appointments/watch

    Notez que la partie france.agendize.com sera différente en fonction de votre localisation ou de votre offre. Vous pouvez le vérifier dans l’URL de votre CRM une fois connecté.

  3. Dans le script suivant, collez le lien de votre webhook dans address puis le type d’évènement qui devra déclencher la notification (ici nous somme sur la création d’un rendez-vous avec created) et éventuellement, le nom de votre watcher. Suivi du schema de données :

{
   "address": "https://chat.googleapis.com/v1/spaces/......",
   "events": [
       "created"
   ],
   "name": "New appointment",
   "schema": {
       "cards": [
           {
               "sections": [
                   {
                       "widgets": [
                           {
                               "keyValue": {
                                   "topLabel": "New appointment with ${$.staff.firstName} ${$.staff.lastName}",
                                   "content": "${$.service.name}",
                                   "contentMultiline": "true",
                                   "bottomLabel": "${$.start.dateTime}",
                                   "icon": "INVITE",
                                   "button": {
                                       "textButton": {
                                           "text": "RDV",
                                           "onClick": {
                                               "openLink": {
                                                   "url": "https://france.agendize.com/console/scheduling/view-event.jsp?id=${$.id}"
                                               }
                                           }
                                       }
                                   }
                               }
                           },
                           {
                               "keyValue": {
                                   "topLabel": "Customer: ${$.client.firstName} ${$.client.lastName}",
                                   "content": "${$.client.email}",
                                   "contentMultiline": "true",
                                   "bottomLabel": "${$.company.name}",
                                   "icon": "PERSON",
                                   "button": {
                                       "textButton": {
                                           "text": "CRM",
                                           "onClick": {
                                               "openLink": {
                                                   "url": "https://yourcrm.com/clients?search=${$.client.email}"
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       ]
                   }
               ]
           }
       ]
   }
}


Ici est utilisé un modèle de Card proposé par Google dans la doc suivante : https://developers.google.com/chat/api/guides/message-formats/cards


Vous pouvez selon vos besoins adapter les données à recevoir dans le chat. Ici par exemple, dans la première partie de la card (le premier objet keyValue), nous avons choisi les renseignements concernant :

  • l’équipier avec qui le rendez-vous a été pris {staff.firstName} {staff.lastName},
  • le service demandé {service.name},
  • la date du rendez-vous {start.dateTime},
  • Et en bonus, le lien vers l’évènement dans le CRM en récupérant l’{id} du rendez-vous créé.


Dans la deuxième partie (le deuxième objet keyValue), sont récupérées les informations concernant le preneur de rendez-vous, avec :

  • le nom et prénom du client {client.firstName} {client.lastName},
  • l’email du client {client.email}
  • et la compagnie concerné par le rendez-vous {company.name}


Vous n’avez plus qu’à envoyer la requête via la méthode POST de votre logiciel de test d’API. Prenez un rendez-vous pour tester. Vous devriez avoir une notification comme ceci dans votre Google Chat :


Pour connaître en détail les variables dynamiques qu'il est possible de faire transiter dans la card vous pouvez vous référer à la documentation relative aux APIs ici : https://developers.agendize.com.