Skip to main content
Question

Issue with Webhook Event Filter

  • May 18, 2026
  • 3 replies
  • 22 views

I have a webhook trigger configured in Agent Studio that is connected to a GitHub Enterprise webhook listener. The webhook receives pull_request events from GitHub and is intended to only trigger the plugin when the action is review_requested or ready_for_review. To enforce this, I have set the following event filter on the webhook trigger: parsed_body.action IN ["review_requested", "ready_for_review"]. However, the plugin appears to be triggering on all pull_request actions sent by GitHub, including closed, regardless of the event filter.

I have verified that the filter is saved and the plugin is in a published state, and I have also tried alternative syntax using parsed_body.action == "review_requested" OR parsed_body.action == "ready_for_review" with the same result. The payload arriving from GitHub is correctly structured with the action field at the root level of the body. I also tested the payload and event filter in the DSL playground and it comes back as false. I don’t have other plugins sharing the same listener, its triggering the plugin I set explicitly. Has anyone experienced this behavior before or know what might be causing the event filter to not restrict triggers as expected? Also, is there a way to see the logic of the event filter in the logs?
 

 

3 replies

Kevin Mok
Forum|alt.badge.img+2
  • Community Manager
  • May 18, 2026

Hey ​@Joel.Matias - We are working on making the Plugin filter’s copy a bit better. Currently the filter is a negative filter. Basically if you write parsed_body.action == “review_requested” it will filter out all webhooks with the review_requested action and trigger everything else.

So, you will have to do parsed_body.action != “review_requested” so it only triggers the plugin on that type of action


  • Author
  • New Participant
  • May 19, 2026

Hey ​@Joel.Matias - We are working on making the Plugin filter’s copy a bit better. Currently the filter is a negative filter. Basically if you write parsed_body.action == “review_requested” it will filter out all webhooks with the review_requested action and trigger everything else.

So, you will have to do parsed_body.action != “review_requested” so it only triggers the plugin on that type of action

Thank you. A version of this worked. I had to do parsed_body.action NOT IN ["review_requested","ready_for_review"] and that worked.


Kevin Mok
Forum|alt.badge.img+2
  • Community Manager
  • May 20, 2026

Glad you got it working!