创建触发器以通过 webhook 过滤事件

您可以创建一个触发器来过滤 Genesys Cloud 中为 webhook 消息生成的自定义事件。当用于事件集成的 Genesys Cloud webhook 在集成配置中指定的调用 URL 处接收到 webhook 调用时,就会生成这些事件。 

当你创建触发器对于 webhook 消息,请选择以下选项:

  • 主题名称v2.integrations.inbound.webhook.{id}.invocation从列表中。
  • 为事件启动的工作流程。
  • 标识 webhook 消息的条件。例如,使用Webhookid当你添加了用于事件集成的 Webhook

此图显示了 Webhook 事件的触发详细信息示例:

此图是 Genesys Cloud 中为事件集成的 Webhook 创建的触发器的屏幕截图。

以下是 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"
}

在触发器中,使用 JSON 路径表达式,例如$.body.{{foo}}使用包含或等于该值的操作符并允许触发器根据 webhook 消息的内容进行过滤。正如示例有效载荷中所示,当$.body.someKey包含someValue,匹配条件得到满足,触发器调用配置的工作流。

笔记:webhook 调用主体的实际结构由发送 webhook 消息的系统定义。如果您必须根据 webhook 消息的内容进行过滤,则您使用的确切 JSON 路径取决于此结构。

要访问someKeywebhook 调用主体中的属性,您必须使用类似于ToString(Flow.jsonData.webhooksInvocation.body.someKey)在建筑师中。该函数首先解析webhook消息的JSON。然后,它导航到 body 元素以获取someKey在当前流中使用的属性。

笔记:webhook 调用主体的实际结构由发送 webhook 消息的系统定义。如果您必须根据 webhook 消息的内容进行过滤,则您使用的特定 JSON 路径直接取决于系统如何构造其数据。