Yes, I think this is the best approach. I’ve been playing around with the idea today. It can be made to work for any events that Discourse sends a webhook for.
The WP Discourse plugin is setup to handle webhook events, but it doesn’t currently have an action that can be hooked into to let other plugins use this functionality. I will add an action hook for that this week.