genesys-cloud-functions
Déploiement industrialisé de Genesys Cloud Functions
Template GitHub pour développer, tester, packager et déployer automatiquement des Genesys Cloud Functions via Terraform (Cx as Code) et des pipelines CI/CD GitHub Actions.
- Période
- 2025-Q1 — en cours
- Rôle
- Conception & développement
- Plateformes
- genesys-cloud
Contexte
Les Genesys Cloud Functions sont arrivées début 2025. Ce type de Data Action permet d’embarquer et d’exécuter du code directement au sein de son organisation Genesys Cloud. Grâce au serverless, toute la partie hébergement du code est déléguée à la plateforme.
💡 Le template complet est disponible sur mon GitHub : github.com/antoningar/genesys-cloud-functions. Vous pouvez le cloner pour démarrer vos propres functions avec la CI/CD déjà en place.
Problème
Le serverless règle l’hébergement, mais pas le cycle de vie : tester, valider, packager puis déployer une function reste une opération manuelle, répétitive et source d’erreurs. Pour pouvoir se concentrer sur le code plutôt que sur la livraison, il faut industrialiser tout ce qui entoure la function.
Approche
Un template GitHub qui pose une chaîne complète, du développement au déploiement :
function/le code de la function en TypeScript (un calcul de factorielle en exemple), avec ses tests BDD (Cucumber), son lint et son build.terraform/la partie Cx as Code : le providermypurecloud/genesysclouddéploie la function sous forme de Function Data Action (contrat d’entrée/sortie, runtimenodejs22.x, handler, archive.zip). L’état est géré dans un backend Terraform Cloud (HCP)..github/workflows/les pipelines qui orchestrent le tout.

Le déploiement suit le rythme du workflow Git :
- À l’ouverture / mise à jour d’une Pull Request la CI fonction lance un scan de secrets (gitleaks), les tests, le lint et le build ; la CI Terraform package la function en
.zip, exécuteterraform init/validate/planet poste le plan en commentaire de la PR pour relecture. - Au merge de la PR la CD repackage la function et exécute
terraform apply -auto-approve, ce qui déploie automatiquement la function dans l’org.
Résultat
- Le code est systématiquement testé et validé avant d’arriver sur
main. - Le plan d’infrastructure est visible et relu directement dans la PR, avant toute modification.
- Au merge, la function est déployée sans intervention manuelle, de façon reproductible.
- Le focus reste sur le code : la livraison est entièrement automatisée.
Stack technique
- Genesys Cloud Functions (Function Data Actions, runtime Node.js 22)
- TypeScript pour le code de la function, tests BDD Cucumber, lint et build
- Terraform + provider
mypurecloud/genesyscloud(Cx as Code), backend Terraform Cloud (HCP) - GitHub Actions : CI fonction (gitleaks, test, lint, build), CI Terraform (plan en commentaire de PR), CD Terraform (apply au merge)
Le template sur GitHub
Le template complet est disponible en open source : github.com/antoningar/genesys-cloud-functions. Le dépôt contient la function d’exemple, le projet Terraform (Cx as Code) et les pipelines GitHub Actions prêts à l’emploi — clonez-le pour démarrer une nouvelle function avec le déploiement automatisé déjà câblé.
Pour aller plus loin
Exporter ses prompts Genesys Cloud en CSV avec une Function
Nettoyer les scripts agents Genesys Cloud avec une Function
Infrastructure as Code
Mes autres réalisations