Créer des déclencheurs pour filtrer les événements par webhook

Vous pouvez créer un déclencheur pour filtrer les événements personnalisés qui sont générés pour les messages webhook dans Genesys Cloud. Ces événements sont générés lorsque l'intégration Genesys Cloud webhook for events reçoit des invocations webhook à l'URL d'invocation spécifiée dans la configuration de l'intégration. 

Lorsque vous créez un déclencheur pour un message de webhook, sélectionnez les options suivantes :

  • Le nom du sujet v2.integrations.inbound.webhook.{id}.invocation figure dans la liste.
  • Le flux de travail à initier pour l'événement.
  • La condition qui identifie le message webhook. Par exemple, utilisez l'adresse Webhookid que vous avez obtenue lorsque a ajouté le Webhook pour l'intégration d'événements.

Cette image montre un exemple de détails de déclenchement pour les événements Webhook :

Cette image est une capture d'écran du déclencheur créé pour l'intégration de Webhook for Events dans Genesys Cloud.

Voici un exemple de format de la charge utile du Webhook :

{
 "webhookId": "93f59079-9d26-49b1-bbb7-83630b85a489",
 "webhooksInvocation": {
   "body": {
     "someKey": "someValue",
     "someArray": ["a", "e", "i", "o", "u"],
     "someObject": { "nested": "property" }
   },
   "headers": {
     "accept": ["*/*"],
     "accept-encoding": ["gzip, deflate, br"],
     "cloudfront-forwarded-proto": ["https"],
     "cloudfront-is-desktop-viewer": ["true"],
     "cloudfront-is-mobile-viewer": ["false"],
     "cloudfront-is-smarttv-viewer": ["false"],
     "cloudfront-is-tablet-viewer": ["false"],
     "cloudfront-viewer-ash": ["1xxx1"],
     "cloudfront-viewer-country": ["US"],
     "content-length": ["130"],
     "content-type": ["application/json"],
     "host": ["api.inntca.com"],
     "inin-correlation-id": ["562af708-6f7f-xxxx-a27b-146b27d5xxxx"],
     "my-header": ["my-value"],
     "user-agent": ["PostmanRuntime/7.42.0"],
     "via": [
       "1.1 8770cedbbb1c2feb157dc67ce83fe00c.cloudfront.net (CloudFront)"
     ],
     "x-amz-cf-id": [
       "g2LedL9Rtfu_rkCCxxxx9_07UV2jgr4lGvrnqWwnrJf1lH3uYu7Q=="
     ],
     "x-amzn-trace-id": ["Root=1-67f8xxxx-074dc1775c69e6c396073c4"],
     "x-forwarded-for": ["27.251.30.213, 15.158.35.16"],
     "x-forwarded-port": ["443"],
     "x-forwarded-proto": ["https"]
    },
    "query": { "abc": ["123"], "foo": ["bar"] }
   },
 "invocationTime": "2025-04-10T20:21:16.825Z"
}

Dans le déclencheur, utilisez une expression JSON Path comme $.body.{{foo}} avec un opérateur qui contient ou égale la valeur et permet au déclencheur de filtrer sur la base du contenu du message du webhook. Comme dans l'exemple de charge utile, lorsque $.body.someKey contient someValue, les critères de correspondance sont satisfaits et le déclencheur invoque le flux de travail configuré.

Note: La structure réelle du corps de l'invocation du webhook est définie par le système qui envoie le message du webhook. Si vous devez filtrer sur la base du contenu du message du webhook, le chemin JSON exact que vous utilisez dépend de cette structure.

Pour accéder à l'attribut someKey dans le corps de l'invocation du webhook, vous devez utiliser l'expression similaire à ToString(Flow.jsonData.webhooksInvocation.body.someKey) dans l'architecte. Cette fonction analyse d'abord le JSON du message du webhook. Ensuite, il navigue dans l'élément body pour obtenir l'attribut someKey à utiliser dans le flux actuel.

Note: La structure réelle du corps de l'invocation du webhook est définie par le système qui envoie le message du webhook. Si vous devez filtrer sur la base du contenu du message du webhook, le chemin JSON spécifique que vous utilisez dépend directement de la manière dont le système structure ses données.