Exporter ses prompts Genesys Cloud en CSV avec une Function

Une Genesys Cloud Function qui exporte tous les prompts d'une org au format CSV, une ligne par prompt et une colonne par langue, exploitable directement dans un tableur.

10 juin 2026

genesys-cloud genesys-cloud-functions typescript architect prompts open-source

L’API Genesys Cloud permet d’exporter ses prompts (les messages audio des parcours), mais le format JSON renvoyé est difficile à exploiter : structure imbriquée, ressources par langue, peu lisible pour un travail de relecture ou de traduction.

Cet article décrit un outil pour transformer cet export en CSV propre, déployé comme Genesys Cloud Function afin d’être accessible à la demande par n’importe quel administrateur, sans dépendance externe.

💡 Le code complet est disponible sur mon GitHub : github.com/antoningar/genesyscloud-csv-prompt-exporter. Vous pouvez le cloner et le déployer dans votre propre org.

Le problème : un JSON peu exploitable

Les prompts Genesys Cloud sont multilingues : chaque prompt possède une ressource par langue, avec son texte TTS. Récupérés via l’API, ils arrivent sous forme de JSON imbriqué parfait pour une machine, pénible pour un humain qui veut relire l’ensemble des messages, vérifier des traductions ou les partager à un métier. Ce qu’on veut vraiment, c’est un tableau : un prompt par ligne, une langue par colonne.

Le principe : appeler l’API, mettre en forme en CSV

Schéma : une Genesys Cloud Function héberge un script TypeScript qui appelle l'API Genesys Cloud pour exporter les prompts et les met en forme en CSV

  1. Récupérer les prompts la fonction s’authentifie via OAuth (client credentials) puis interroge l’ArchitectApi du SDK purecloud-platform-client-v2. Les prompts sont récupérés page par page (100 par page) jusqu’à épuisement, ce qui couvre les orgs avec un grand catalogue.
  2. Normaliser les données pour chaque prompt on conserve le nom, la description et la liste des ressources (texte TTS, durée, langue). Les prompts sont triés par nom.
  3. Construire les colonnes de langues l’outil parcourt tous les prompts pour collecter l’ensemble des langues présentes, triées, et en fait les colonnes du CSV.
  4. Générer le CSV un en-tête name, description, <langue 1>, <langue 2>… puis une ligne par prompt, chaque cellule de langue contenant le texte TTS correspondant (ou vide si la langue n’existe pas pour ce prompt). Les valeurs sont échappées proprement : guillemets remplacés, retours à la ligne aplatis, pour un CSV qui s’ouvre sans accroc dans un tableur.

Pourquoi une Genesys Cloud Function

À l’origine, c’était un simple script à lancer en local. Les Genesys Cloud Functions ont permis de l’héberger et de l’exécuter directement dans la plateforme, sans serveur ni dépendance externe à maintenir. L’export devient un service appelable à la demande : tout administrateur peut récupérer le CSV à jour quand il en a besoin.

Concrètement, le handler serverless reçoit les identifiants OAuth (gc_client_id, gc_client_secret, gc_aws_region) via les headers de l’intégration, valide leur présence, exécute l’export et renvoie le CSV 400 si les credentials manquent, 500 en cas d’erreur, 200 avec le contenu CSV sinon.

Stack technique

Le sample sur GitHub

Le code complet de la fonction est disponible en open source : github.com/antoningar/genesyscloud-csv-prompt-exporter. Le dépôt contient le handler, la logique de conversion CSV, les tests et les instructions de packaging et de déploiement comme Genesys Cloud Function.

Pour aller plus loin

Nettoyer les scripts agents Genesys Cloud avec une Function
Workflows asynchrones natifs sur Genesys Cloud
Infrastructure as Code
Mes réalisations