So part of the issue here is that many message queue systems have rather terrible authentication, certain cloud-hosted systems aside - it often seems to be that authentication allows you to post any message you like and listen on any queue you like. A message queue designed for external entities to access would require far more rigorous security mechanisms.<p>I'd also suggest that it would want some form of federation - so instead of external entities pushing directly into your message queue, they'd push to theirs, and your message queue would pull from theirs and push to your consumers. That way, you don't lose messages from your provider when your connection to them fails.
It is not as easy to get some thing running with a message queue as it is with webhooks. The API documentation would be complicated and large, also special libraries would be needed.
Or a more simple solution... Have a webhook receiver send the messages to Kafka. Then you don't have to change to a more complex delivery protocol.