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 :
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é.
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.