# Google Calendar

* [Comment créer un compte de service](#how-to-create-a-service-account)
* [Comment télécharger le fichier clé](#how-to-download-the-key-file)
* [Comment trouver l’identifiant du calendrier](#how-to-find-the-calendar-id)
* [Comment créer un nouveau calendrier](#how-to-create-a-new-calendar)
* [Comment obtenir les informations sur le calendrier](#how-to-get-the-information-about-the-calendar)
* [Comment obtenir la liste des calendriers du compte de service](#how-to-get-the-list-of-the-service-accounts-calendars)
* [Comment travailler avec des événements](#how-to-work-with-events)

## Comment créer un compte de service

Pour cela, vous devez créer votre propre compte dans les services Google.

Accédez à [**ce lien**](https://console.developers.google.com/cloud-resource-manager) et créez un nouveau projet :

![](https://lh5.googleusercontent.com/NG1WV05Itj6EeCf1J9zBHYqC8ZbDqXGaHpdLex4KIfUL42orPsIcFxxFfPMzqR2kJ-GU4F3d0aoLZYcjSmSzwTtmujFcCMHdp6YGTU6RcYoo4xvquTEmTvXIt238pJ_ZZHLaZ1kjr9OSrbj_sQ)

Trouvez un nom pour le projet :

![](https://lh6.googleusercontent.com/-DGrD4022xKo01cvjPWcoADnzpk5xsneUOQy_04I6hIUXiDRrJvQTw8ZPZVuhz5dTbZ3FgBsOHaP_IuBWS3UcsidNYWePfPk0SThtOGFFJ192mzgerDv_SGzmzCJTlZjC6e-97rHn_PXJL9JsA)

Appuyez sur « Créer » et attendez un peu pendant que le projet est créé.

Rechargez la page puis cliquez sur le projet que vous venez de créer. Vérifiez dans le champ à gauche votre statut d’accès — il doit indiquer « Propriétaire (1) » :

![](https://lh6.googleusercontent.com/9muFuGGA7dUF3bHo-GZa-XB8NyzclfD5q8iGAigEwUH_2MvBoHgzqyuoeP4drSlh2Zx0ASELNDLq_GKhc4UcQVdVZ6PhIZDd4tGGcTB_3haklI729SkI-2HvIUByewnDBzbfUtkUPIJr0UzF_Q)

Passez maintenant aux paramètres du compte de service :

![](https://lh5.googleusercontent.com/Q45Aug6B6BY2jJkJJxCXLqh7YrFYmR9Zp1KeVQy0x14ZkznGbVrIXzA_awcNsw7Yc5Aa_SFQ2xK0gB3qeZMT1YPTR6VF6eQ6ssxweXhrvZSwhgOrUlsOh0YQPMxl3IXr6JdGfAHPeGUMDO5wdQ)

Là, vous devez ouvrir la section « Comptes de service » et cliquer sur « + Créer un compte de service » :

![](https://lh5.googleusercontent.com/9KCh-Y4hP2xAubjCTQ9wK3V5lwYDNSGhCRVtc7TzQl5xsfBBKQrUR8kHq2YCFafMGh9asbDOQL_JgYlHUediL17wf8X42hTFJWt3LQnOYi10jEZOvBvv5pYsDUKKqHtr-fkVfHQTNz7johCoaQ)

Saisissez le nom et l’e-mail du compte de service :

![](https://lh6.googleusercontent.com/Oo5EpjcAEAhisFjWhGxEk7zBuo3TqHuyfNXWL_BatusaULn-U8qE-38mnEToYoOJZk6o24JccBBVVAha0CU6ZFvEOu8H-rculhxerQnB9yI5vBmnpSm1EyBg4LtVCCwUDMI52mdz503Q9qxODg)

Puis choisissez le rôle Propriétaire :

![](https://lh4.googleusercontent.com/V3ndP4Csp309f2aAvvzPNGad2NQQNZEOrMFSYw5bqFeqEVBt-SAJpr6SI48Yn8JQmYmu20wZ8HjTBNSWaVsunMGT40RE1WnzuJojbJ0Iwcbt8EYIXKt_131lfi_r-Iibu3oaPLTT5ltaHos6tQ)

Appuyez sur « Terminé », puis sur « Gérer les clés » dans le projet choisi. Ensuite, cliquez sur « Créer une nouvelle clé »

![](https://lh4.googleusercontent.com/mvdV7hP-TSK-Kvr0aHm76l8I4ddetWVXYskOKYa6La3Xp7rwUuw3tP553hBRUENFepzriZsX67C9ve5hKU7iR6lBz2jg6PVTf2DYSrI7JZGSBMaz8dhBp6Zpjx47d8hLjiGkfVDFOi7kG8nQ6g)

Choisissez le type de clé JSON et appuyez sur « Créer »

![](https://lh5.googleusercontent.com/JxAPsYM4zEjFmFbuXDnqVZQmmgHiEqtl-jMO4vmQqu8WyHssEN3Upm43xzcZNkYXNRbln0MuqAZQq76xNi99Nqj73aqgwxfBUGaYKtIvU9or0ukkm-RpBz3qPqpt4SsAdrkuo5PiLIQ0YGuM_Q)

Après la création de la clé, elle est automatiquement enregistrée sur votre ordinateur

![](https://lh4.googleusercontent.com/kyAdhhQobVvR9HcexWGzBlFckXTZ-L82kSbEkCakbMld65KmtrjsXl2SgwldU77XNNaLsrN3YMlLPOr2WpLCk-KomTdiOMCossSkRTYKdp1VflZad1rEzOiSGj-y-dFnNuTRc7kz4C7hnFPgug)

Vous devez ensuite la télécharger sur l’hébergement ou dans Salebot et partager le lien vers celle-ci dans les paramètres de requête en transmettant l’URL obtenue dans le paramètre creds\_path.

Vous devez maintenant ajouter nos intégrations API. Pour cela, allez ici :

![](https://lh3.googleusercontent.com/7DPiPASSAdgFU9O5I7laKm9aQkEtvrq2ADlFTMUeu95OSQw26TS8hhAmWNgvw4oXClgElmHKEVHw6y7YsGYPTL5MhB8WSk9EycEz2F2yCO_GM-AcIdPGujVCieUu7nE1cFEzf9WlmxPpF07o1w)

Puis vous devez activer les API et services et rechercher Google Calendar API dans la fenêtre ouverte :

![](https://lh6.googleusercontent.com/gLQvQQjADGonjX1uL3kIVIte6chCYzjmDmob5flHdzpUIkBLKF5oenob2Att_5b6Tu4fHZNsk7-adfizosbqEwvGjHiWKB_tZKr5Y2L3b831PqEHVkt12ggpxS_3Csw9fdW--atRK2sAXNkV7Q)

Cliquez sur le résultat de recherche puis sur « Activer » :

![](https://lh5.googleusercontent.com/3LpS3U0TyFp3QORLenGiy0924zXuQGNhePDobY8Xz5asuf7sYXJAHNHsuMJXyugngMoVRu0r73YSxDkbWCbYLYgXFRucxvCrEruxFUmy9pKGr6Rl0CGp0QLSbUkNe9duyb6W2WSGqlym9BF95g)

Cette étape termine la création de votre compte de service.

## Comment télécharger le fichier clé

Allez dans le projet sur Salebot et téléchargez le fichier clé obtenu dans un bloc, par exemple comme ceci :

![](https://lh6.googleusercontent.com/Ru3wFP-gmQjC-np0U4tUJoYHfKUx4bQEq3sR5QvbIefpZxgT8P9DjjdBsdzJejElBCnDURleohA7ekpEyB7-N2Ha7emTYNHY7-_R6pWzpPCblVHEs6lMiYhYWyRLxzk_QYPrsk9BQQ09MPxm1Q)

Appuyez sur « Enregistrer » et passez à la fenêtre de test libre :

![](https://lh3.googleusercontent.com/GWgWz8uGZmRyo7oUIt1Hh32y-aPypPIveRuPnbrVut6wbiPPwzzob8vc8slphEjjZMFH5uZwdKokVGMq72nipIs32u4kOal-4EHKkcePLX1JDdUWra1l4SEvhzx-c8_O4uhRXwtTg-q4JCrm2A)

Entrez la phrase que vous avez définie comme condition (dans ce cas, c’est « 123 »). Vous obtiendrez en réponse un lien vers le fichier avec les clés :

![](https://lh5.googleusercontent.com/Fdpb36HCVWJteTrSoID1LFotJsYNDsQrE_uyyYsvMe0Iy6NNR_djCaKS8Kf9O_XLtb8KMGQL9tHl7aOhHrANj4D7108Qx6bRPj8wN5HKMH5RXLavLkrNyeEwqzgi5OyzrXAYbamr6VuDhpmJvg)

{% hint style="danger" %}
Vous ne pouvez pas supprimer le bloc, sinon le fichier sera supprimé du serveur et vous devrez l’ajouter à nouveau.
{% endhint %}

N’oubliez pas de mettre le bloc au type d’état Not, afin qu’il ne vous dérange pas.

![](https://lh4.googleusercontent.com/rfNCUwnEr-FN-CCEnzeDCxrB1eqnTbUUUnLOmQkipoVzHmsCf56AM0-UtAWZWe0EhWFVMX-s9vFXTMrl78XT2bcJijvYptrTSE2kvpXWJUB3vF8BvlnDX_gjndY_UPDzGYYvnCfeUe2td8A87g)

Vous pouvez enregistrer ce lien dans une variable ou le transmettre tel quel dans le paramètre creds\_path.

## Comment trouver l’identifiant du calendrier

Vous pouvez trouver l’identifiant du calendrier existant dans ses paramètres, dans la section « Intégrer le calendrier » :

![](https://lh6.googleusercontent.com/ssPqnz_cQlA8v2pCzXmcaOC0tagTVBDV4Vyd-9UqvQF4VjbXyroqkwkwO6IaXOv-x0vOP3bAem5aB_vsdg9kemyO-n6quLhGf88a_5B62n1iJAIOOXwDTkmRAAv1rPGlwLM0Yx-1iH-lKnFuzg)

## Comment créer un nouveau calendrier

Vous pouvez créer un nouveau calendrier de deux façons : manuellement et à l’aide d’une fonction.

### Création manuelle du calendrier :

![](https://lh4.googleusercontent.com/P49fLaIHyOh-0-FcQWdFBN5UygV9a-Tq6_92Q3Sn0ln5u1Sb7LmIDz88tKfDiRv1nTb7cofbFoi9Q_mdNk-Ol0Qt01MAd5HwfxIM9_pcifEIAwhWy_9eskUYVG8E7a4IfsVBNlCo0C2j_t8MPw)

Afin de pouvoir ajouter des notes et modifier un calendrier existant (ou créé manuellement), vous devez accorder l’accès au compte de service. Pour cela, ajoutez simplement l’e-mail du compte de service dans les paramètres du calendrier concerné :

![](https://lh4.googleusercontent.com/hQLBvQk36xq20jXLPWzLdNXWoSEXHj2qMshjZxQTGKneJj4H-HUy2Ekz3WJ5y5aVbGyfmE6-YQm-TIAqNwze_kFGhncbrWHLpnljDYaSDz8EXJ-Za3OutS9rIdJVgxpuHZZdXrdmQlUZ5iUUtg)

### Création d’un calendrier à l’aide d’une fonction

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

**Paramètres**:

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - créer \
**name** - nom du calendrier \
**description** - description du calendrier

**Paramètres supplémentaires**:

**time\_zone** - le fuseau horaire du calendrier.  Identifiant de fuseau horaire IANA. Par défaut, c’est Europe/Moscow (GMT+3) \
**location** - un emplacement géographique du calendrier sous forme de texte libre

Vous pouvez également donner l’accès à un autre compte, par exemple au vôtre :

**owner\_email** - e-mail du compte qui sera ajouté comme propriétaire du calendrier

{% hint style="warning" %}
Par défaut, le calendrier sera créé dans le compte de service. Pour pouvoir le modifier visuellement depuis votre propre compte, renseignez votre e-mail dans le paramètre owner\_email.
{% endhint %}

**Valeurs stockées** depuis la réponse JSON

Après une exécution réussie, la fonction renvoie les paramètres suivants que vous pouvez enregistrer et conserver :

`{'kind': 'calendar#calendar', 'etag': '"WgASl9FY_5zrEmCZvrt4Qlh6tGQ"', 'id': '7e2q3mka5dmfmcohdltfupclj4@group.calendar.google.com', 'summary': 'Nom du calendrier’, 'timeZone': 'UTC'}`

Enregistrons l’identifiant du calendrier créé : `id -> calendar_id`&#x20;

![](https://lh6.googleusercontent.com/64BZuVj1APwealP0nIEY5gb_9I4ZV9gLApOEIbRhYYzIGSg2wKza1OggKASRFBOnSDkghoINjH2SKnXAUxFrA-i02kmtz5BrSqV2n0OS_7_dbNvQuLBhh3PsrQ8Qc7_KhqOshVf3JhaV6O_m-w)

Pour tester, vous pouvez afficher la variable #{custom\_answer}.

Si l’e-mail (owner\_email) a été transmis, alors après la requête réussie, il faut aller dans votre boîte mail et confirmer l’ajout du calendrier à votre compte :

![](https://lh6.googleusercontent.com/Vt4Z3gvrMcWZDcR1FIjQdcJCJu8KnP9p3AXtWfW0D6LAjSrsdjd05pwjgeEivQl6f3Su7KEgOVLp4-usk1GiLwijbNA8rYW1kimicScJLI6cxj1lP3ezShCEVxeI-3_JoO-fo6NSrbUQIehWgw)

![](https://lh6.googleusercontent.com/tPzJigwrYpHh3MD3c-zX2rP32sHT_VM1Y6l-uebqvb2XUntTkiXNlAWex79NzZZuw3FxjAJZRtrXah9N-cqLjonAX0LhXhuJ7cTIb-UdfmM0auYaXnOQTQYP9QTNouQHFY5fsHtviWvpSgZKIw)

## Comment obtenir les informations sur le calendrier

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

**Paramètres**:

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - get\_calendar; \
**calendar\_id** - l’identifiant du calendrier choisi

**Valeurs stockées**

Après une exécution réussie, la fonction renvoie les paramètres suivants que vous pouvez enregistrer et conserver.

Un **exemple** de la réponse de la fonction :

`{'kind': 'calendar#calendar', 'etag': '"6KN4OTLeoqGGu7Nr5uNIQgCGYsU"', 'id': 'rcdd8mimc6gjtasan9ansn8354@group.calendar.google.com', 'summary': 'Nom du calendrier', 'timeZone': 'UTC'}`

## Comment obtenir la liste des calendriers du compte de service

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

**Paramètres**:

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - calendars\_list

**Valeurs stockées**

Après une exécution réussie, la fonction renvoie les paramètres suivants que vous pouvez enregistrer et conserver.

Un **exemple** de la réponse de la fonction :

`{` \
&#x20;  `'kind': 'calendar#calendarList',` \
&#x20;  `'etag': '"p32o8pm47rfqf20g"',`\
&#x20;  `'nextSyncToken': 'CLCM2Ifb9PECEi5nc2hlZXRzQGdzaGVldHMtMjU0NzEzLmlhbS5nc2VydmljZWFjY291bnQuY29t',` \
&#x20;  `'items': [` \
&#x20;    `{` \
&#x20;      `'kind': 'calendar#calendarListEntry',` \
&#x20;      `'etag': '"1625235372775000"',` \
&#x20;      `'id': '74u4aogu34hisgvi9v0pjriqho@group.calendar.google.com',` \
&#x20;      `'summary': 'AAAAAAAAaa',` \
&#x20;      `'timeZone': 'Asia/Singapore',` \
&#x20;      `'colorId': '17',` \
&#x20;      `'backgroundColor': '#9a9cff',` \
&#x20;      `'foregroundColor': '#000000',` \
&#x20;      `'selected': True,` \
&#x20;      `'accessRole': 'owner',` \
&#x20;      `'defaultReminders': [` \
&#x20;     `]` \
&#x20;  `},` \
&#x20;  `{` \
&#x20;    `'kind': 'calendar#calendarListEntry',` \
&#x20;    `'etag': '"1625235805096000"',` \
&#x20;    `'id': '5u9q24kdh571mnm667t2d3q16c@group.calendar.google.com',` \
&#x20;    `'summary': 'AAAAAAAAaa',` \
&#x20;    `'timeZone': 'Asia/Singapore',` \
&#x20;    `'colorId': '21',` \
&#x20;    `'backgroundColor': '#cca6ac',` \
&#x20;    `'foregroundColor': '#000000',` \
&#x20;    `'selected': True,` \
&#x20;    `'accessRole': 'owner',` \
&#x20;    `'defaultReminders': [`\
&#x20;    `]` \
&#x20;   `}` \
&#x20; `]` \
`}`

## Comment travailler avec des événements

### Ajout rapide d’un événement

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

**Paramètres**:

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - quick\_add\_event; \
**calendar\_id** - l’identifiant du calendrier choisi;\
**event\_name** - le nom de l’événement

Un **exemple** des paramètres :

`{"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com", "command": "quick_add_event","event_name": "Incredible Event"}`

**Valeurs stockées**

Après une exécution réussie, la fonction renvoie les paramètres suivants que vous pouvez enregistrer et conserver. Pour pouvoir modifier ultérieurement l’événement créé, il est recommandé d’enregistrer son identifiant : id -> event\_id.

Un **exemple** de la réponse de la fonction :

`{`\
`'kind': 'calendar#event',` \
`'etag': '"3253879667088000"',` \
`'id': 'ljp7a3ocp8oorbov9u2cq221s0',` \
`'status': 'confirmed',` \
`'htmlLink': 'https://www.google.com/calendar/event?eid=bGpwN2Ezb2NwOG9vcmJvdjl1MmNxMjIxczAgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw',` \
`'created': '2021-07-22T07:43:53.000Z',` \
`'updated': '2021-07-22T07:43:53.544Z',` \
`'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'},` \
`'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com',` \
`'displayName': 'Testov',` \
`'self': True},` \
`'start': {'dateTime': '2021-07-22T07:43:53Z', 'timeZone': 'UTC'},` \
`'end': {'dateTime': '2021-07-22T08:43:53Z', 'timeZone': 'UTC'},` \
`'iCalUID': 'ljp7a3ocp8oorbov9u2cq221s0@google.com',` \
`'sequence': 0,` \
`'reminders': {'useDefault': True},` \
`'eventType': 'default'`\
`}`

![](/files/e00a0aba9ce0f6a76ce03f44d3fd78492b5f180b)

### Comment ajouter un événement

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

#### Paramètres :

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - add\_event \
**calendar\_id** - l’identifiant du calendrier choisi \
**event\_name** - le nom de l’événement

Vous devez également définir l’une des deux options de paramètre : date OU date et heure.

Si l’événement a lieu pendant toute la journée, vous devez indiquer les dates :

1. **start\_date** - la date de début de l’événement au format JJ.MM.AAAA (par ex. 23.07.2010)
2. **end\_date** - la date de fin de l’événement au format JJ.MM.AAAA (par ex. 24.07.2010)

Si l’événement a lieu à une heure déterminée, vous devez indiquer la date et l’heure :

1. start\_datetime - la date et l’heure de début de l’événement au format JJ.MM.AAAA HH:MM (par ex. 23.07.2010 12:00)
2. end\_datetime - la date et l’heure de fin de l’événement au format JJ.MM.AAAA HH:MM (par ex. 23.07.2010 13:00)
3. time\_zone - le fuseau horaire de l’événement. Identifiant de fuseau horaire IANA. Par défaut, c’est Europe/Moscow (GMT+3)

{% hint style="info" %}
Si les fuseaux horaires du calendrier et de l’événement sont différents, alors l’événement avec heure sera ajouté dans le fuseau horaire du calendrier.
{% endhint %}

Exemple :

Le calendrier est dans le fuseau horaire (tz) Europe/Kyiv +3, et l’événement est ajouté avec le fuseau horaire Europe/Berlin +2. L’heure de l’événement à 12h00 (tz +2) sera ajoutée au calendrier comme 13h00, car à l’heure de Kyiv, 13h00 correspond à 12h00 dans le fuseau +2.

**Paramètres supplémentaires :**

**event\_description** - la description de l’événement \
**location** - l’emplacement géographique de l’événement sous forme de texte libre \
**email\_minutes** - le délai en minutes avant l’événement pour envoyer une notification aux e-mails des participants \
**popup\_minutes** - le délai en minutes avant l’événement pour envoyer une notification aux participants sous forme de fenêtre contextuelle

Exemple des paramètres :

`{"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com", "command": "add_event", "event_name": "The greatest event of all time", "start_datetime": "27.07.2021 12:00", "end_datetime": "27.07.2021 14:00"}`

#### Valeurs enregistrées à partir de la réponse JSON :

Après une exécution réussie, la fonction renvoie les paramètres suivants que vous pouvez enregistrer et conserver.

Pour modifier ultérieurement l’événement créé, il est recommandé d’enregistrer son identifiant :

**id -> event\_id**

#### Exemple de réponse de la fonction :

`{'kind': 'calendar#event', 'etag': '"3254057128970000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:22:53.109Z', 'summary': 'New Event44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'}, 'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com', 'displayName': ‘Test’, 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Kyiv}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Kyiv}, 'iCalUID': 'ittr5291ppi7snapn8jbct5krs@google.com', 'sequence': 0, 'attendees': [{'email': john@gmail.com', 'displayName': John, 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default'}`

![](https://lh4.googleusercontent.com/KVPS5xulK5hFYLTI9tsbvwd51rbH-FkxXMWArUuUNvTfTD-hTq486q4KSQvO45JqCet3U9wmrB65dwrSsOJQTeTxmt47tV5Jh1Qx6Wsri5cPW47QOohuwHY1rDdF7_G-hPNe8-xuCtEDY-rbIg)

### Modification de l’événement

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar\\>
**Type de requête**: POST-json

#### Paramètres obligatoires :

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - update\_event; \
**calendar\_id** - l’identifiant du calendrier; \
**event\_id** - l’identifiant de l’événement que vous devez modifier

**Paramètres facultatifs** pour la mise à jour :

Vous pouvez transmettre un seul paramètre, ainsi que plusieurs.

**event\_name** - le nom de l’événement \
**event\_description** - la description de l’événement \
**email\_minutes** - le délai en minutes avant l’événement pour envoyer une notification aux e-mails des participants \
**popup\_minutes** - le délai en minutes avant l’événement pour envoyer une notification aux participants sous forme de fenêtre contextuelle

Si l’événement a lieu pendant toute la journée, vous devez indiquer les dates :

**start\_date** - la date de début de l’événement au format JJ.MM.AAAA (par ex. 23.07.2010) \
**end\_date** - la date de fin de l’événement au format JJ.MM.AAAA (par ex. 24.07.2010)

Si l’événement a lieu à une heure déterminée, vous devez indiquer la date et l’heure :

**start\_datetime** - la date et l’heure de début de l’événement au format JJ.MM.AAAA HH:MM (par ex. 23.07.2010 12:00) \
**end\_datetime** - la date et l’heure de fin de l’événement au format JJ.MM.AAAA HH:MM (par ex. 23.07.2010 13:00) \
**time\_zone** - le fuseau horaire de l’événement. Identifiant de fuseau horaire IANA. Par défaut, c’est Europe/Moscow (GMT+3)

Exemple des paramètres :

`{"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com", "event_id": "j1lcpm4q2p9c0cv705alv3brug", "command": "update_event", "event_name": "Edited event", "start_datetime": "27.07.2021 12:00", "end_datetime": "27.07.2021 14:00","popup_minutes": "11","email_minutes": "22"}`

#### Valeurs enregistrées à partir de la réponse JSON :

Après une exécution réussie, la fonction renvoie les paramètres suivants que vous pouvez enregistrer et conserver.

#### Exemple de réponse de la fonction :

`{"kind":"calendar#event","etag":""3276713558524000"","id":"j1lcpm4q2p9c0cv705alv3brug","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=ajFsY3BtNHEycDljMGN2NzA1YWx2M2JydWcgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw","created":"2021-12-01T10:40:11.000Z","updated":"2021-12-01T10:43:16.738Z","summary":"Amazing","creator":{"email":"gsheets@gsheets-254713.iam.gserviceaccount.com"},"organizer":{"email":"i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com","displayName":"Test","self":true},"start":{"dateTime":"2021-12-28T09:00:00Z","timeZone":"Europe/Moscow"},"end":{"dateTime":"2021-12-29T11:00:00Z","timeZone":"Europe/Moscow"},"iCalUID":"j1lcpm4q2p9c0cv705alv3brug@google.com","sequence":0,"reminders":{"useDefault":false,"overrides":[{"method":"email","minutes":22},{"method":"popup","minutes":12}]},"eventType":"default","update_status":"ok"}`

### Obtenir une liste d’événements

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

#### Paramètres :

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - get\_event\_list;\
**calendar\_id** - l’identifiant du calendrier

Si vous ne transmettez pas de paramètres supplémentaires, le résultat sera une liste des événements d’aujourd’hui

**Paramètres supplémentaires :**

**start\_date** - la date à partir de laquelle vous souhaitez rechercher des événements au format JJ.MM.AAAA (23.07.2021) \
**end\_date** - la date jusqu’à laquelle vous souhaitez rechercher des événements au format JJ.MM.AAAA (24.07.2021)

Exemple des paramètres :

L’événement du 23 juillet sera trouvé

`{"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com", "command": "get_event_list", "start_date": "22.07.2021", "end_date": "23.07.2021"}`

#### Valeurs enregistrées à partir de la réponse JSON :

Après une exécution réussie, la fonction renvoie les paramètres suivants que vous pouvez enregistrer et conserver.

La liste des événements trouvés peut être enregistrée dans une variable :

**items -> event\_list**

#### Exemple de réponse de la fonction :

`{'kind': 'calendar#events', 'etag': '"p33odnesrinsv20g"', 'summary': 'Test', 'description': 'Test description', 'updated': '2021-07-23T12:13:05.686Z', 'timeZone': 'UTC', 'accessRole': 'owner', 'defaultReminders': [], 'items': [{'kind': 'calendar#event', 'etag': '"3254084771372000"', 'id': '6d8rocb9e2r21ue37jgsa0v06i', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=NmQ4cm9jYjllMnIyMXVlMzdqZ3NhMHYwNmkgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T12:11:13.000Z', 'updated': '2021-07-23T12:13:05.686Z', 'summary': 'DDDDDDDDD', 'creator': {'email': 'adnimdd@gmail.com'}, 'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com', 'displayName': 'Testov', 'self': True}, 'start': {'date': '2021-07-20'}, 'end': {'date': '2021-07-21'}, 'transparency': 'transparent', 'iCalUID': '6d8rocb9e2r21ue37jgsa0v06i@google.com', 'sequence': 0, 'reminders': {'useDefault': False}, 'eventType': 'default'}]}`

### Comment déplacer des événements vers un autre calendrier

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

#### Paramètres :

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - move\_event; \
**calendar\_id** - l’identifiant du calendrier depuis lequel l’événement est déplacé;\
**event\_id** - l’identifiant de l’événement; \
**destination\_calendar\_id** - l’identifiant du calendrier vers lequel l’événement est déplacé;

#### Valeurs enregistrées à partir de la réponse JSON :

Après une exécution réussie, la fonction renvoie les paramètres suivants que vous pouvez enregistrer et conserver.

#### Exemple de réponse de la fonction :

`{'kind': 'calendar#event', 'etag': '"3253880350568000"', 'id': 'ljp7a3ocp8oorbov9u2cq221s0', 'status': 'cancelled', 'htmlLink': 'https://www.google.com/calendar/event?eid=bGpwN2Ezb2NwOG9vcmJvdjl1MmNxMjIxczAgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-22T07:43:53.000Z', 'updated': '2021-07-22T07:49:35.284Z', 'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'}, 'organizer': {'email': '88q8fvkrv5ue7orsh109t6o60s@group.calendar.google.com', 'displayName': 'Тестовый календарь'}, 'start': {'dateTime': '2021-07-22T07:43:53Z', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-22T08:43:53Z', 'timeZone': 'UTC'}, 'iCalUID': 'ljp7a3ocp8oorbov9u2cq221s0@google.com', 'sequence': 0, 'reminders': {'useDefault': True}, 'eventType': 'default'}`

### Comment obtenir des informations sur l’événement

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

#### Paramètres :

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - get\_event; \
**calendar\_id** - l’identifiant du calendrier; \
**event\_id** - l’identifiant de l’événement

#### Valeurs enregistrées à partir de la réponse JSON :

Après une exécution réussie, la fonction renvoie les paramètres suivants que vous pouvez enregistrer et conserver.

#### Exemple de réponse de la fonction :

`{'kind': 'calendar#event', 'etag': '"3254067331414000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T11:12:55.553Z', 'summary': 'New Event44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'}, 'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com', 'displayName': 'Test', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': 'ittr5291ppi7snapn8jbct5krs@google.com', 'sequence': 0, 'attendees': [{'email': 'adnimdd@gmail.com', 'displayName': 'John', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default'}`

### Comment supprimer un événement

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

#### Paramètres :

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - remove\_event; \
**calendar\_id** - l’identifiant du calendrier; \
**event\_id** - l’identifiant de l’événement que vous voulez supprimer

#### Valeurs enregistrées à partir de la réponse JSON :

Après une exécution réussie, la fonction renvoie les paramètres suivants que vous pouvez enregistrer et conserver.

#### Exemple de réponse de la fonction :

`{'status': 'ok'}`

### Comment ajouter un participant à un événement

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

#### Paramètres :

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - add\_client; \
**calendar\_id** - l’identifiant du calendrier; \
**event\_id** - l’identifiant de l’événement; \
**client\_email** - l’e-mail du client que vous voulez ajouter

Paramètres supplémentaires :&#x20;

**name** - le nom de l’événement; \
**comment** - commentaire du participant

**Exemple des paramètres :**

`{` \
`"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json",` \
`"calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com",` \
`"command": "add_client",` \
`"event_id": "#{event_id}",` \
`"client_email": "asdc@mail.com",` \
`"name": "John",` \
`"comment": "Je serai le premier !"` \
`}`

![](https://lh5.googleusercontent.com/8JxiPQ_0jmcLYLgDm342-ZfFX346G_QtephaPBQ6upoh1zWVphAZvve3OtpDM8UgJyreXmxFpkEV0tO6Jq15ECT2nMx-rg1lGpzybwCB4Hnd391H99IQ-hQ6fuEOvU-CRCHw2L74UVXJLHTCfQ)

#### Valeurs enregistrées à partir de la réponse JSON :

La fonction renvoie toujours le statut **add\_status**. Il peut prendre l’une de trois valeurs :

**'ok'** - le client a été ajouté \
**exist** - le client existe déjà \
**error** - une erreur s’est produite pendant le processus d’ajout ; en plus de add\_status, il y aura alors un paramètre error\_message avec le texte de l’erreur

#### Exemple de réponse de la fonction en cas de succès :

`{'kind': 'calendar#event', 'etag': '"3254059247409000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:58:11.548Z', 'summary': 'New Event44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'}, 'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com', 'displayName': 'Test', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': 'ittr5291ppi7snapn8jbct5krs@google.com', 'sequence': 0, 'attendees': [{'email': 'adnimdd@gmail.com', 'displayName': 'John', 'responseStatus': 'needsAction'}, {'email': 'adnimd@gmail.com', 'displayName': 'John', 'responseStatus': 'needsAction'}, {'email': 'adnidgmd@gmail.com', 'displayName': 'John2', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default', ‘add_status’: 'ok'}`&#x20;

### Comment supprimer un participant

**URL de la fonction**: <https://store.salebot.ai/function/gcalendar> \
**Type de requête**: POST-json

#### Paramètres :

**creds\_path** - le lien vers la clé d’accès du compte de service à l’API du calendrier (obtenu en suivant l’instruction ci-dessus) ; \
**la commande** - remove\_client; \
**calendar\_id** - l’identifiant du calendrier; \
**event\_id** - l’identifiant de l’événement; \
**client\_email** - l’e-mail du client

#### Exemple des paramètres :

`{` \
`"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json",` \
`"calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com",` \
`"command": "remove_client",` \
`"event_id": "#{event_id}",` \
`"client_email": "asdc@mail.com"` \
`}`

#### Valeurs enregistrées à partir de la réponse JSON :

La fonction renvoie toujours le statut **remove\_status**. Il peut prendre l’une de trois valeurs :

**1** - le client a été supprimé avec succès \
**0** - le client n’a pas été trouvé \
**error** - une erreur s’est produite pendant le processus de suppression ; en plus de remove\_status, il y aura alors un paramètre error\_message avec le texte de l’erreur

#### La réponse de la fonction en cas de succès :

`{'kind': 'calendar#event', 'etag': '"3254059247409000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:58:11.548Z', 'summary': 'New Event44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'}, 'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com', 'displayName': 'Test', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': 'ittr5291ppi7snapn8jbct5krs@google.com', 'sequence': 0, 'attendees': [{'email': 'adnimdd@gmail.com', 'displayName': 'John', 'responseStatus': 'needsAction'}, {'email': 'adnimd@gmail.com', 'displayName': 'John', 'responseStatus': 'needsAction'}, {'email': 'adnidgmd@gmail.com', 'displayName': 'John2', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default', 'remove_status': '1'}`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/integrations/google/calendar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
