Bug Report - Webhook Integration Callback Route

DeviceOS: 5.7.0
Device: Boron 404X

The ParticleIO console page itself tells me I will be delivered a notification on {{PARTICLE_DEVICE_ID}}/hook-response/{{PARTICLE_EVENT_NAME}}, and this also aligns with the documentation that indicates I should subscribe like this: Particle.subscribe(System.deviceID() + "/hook-response/myevent", myeventResponseHandler);

This, however, simply doesn't work. What does work is subscribing to myevent:

Particle.subscribe("myevent", myeventResponseHandler);

There's a couple of issues with this, the least of which I don't want all of my devices receiving events they won't be interested in.

Edit: Silly me, the reason subscribing to myevent worked is because I was the one publishing it. My original comment is still accurate though, "per-device" hook events aren't working.

I've now sorted this out and will provide screenshots and code on what was necessary to get this working properly.

2 Likes

Here's the solution if an admin wants to update the Solution reference.

When I first created the webhook I had opened the Advanced Settings panel. To be sure, I don't recall exactly what I changed, but the actual Response Topic setting got out of sync with the "preview" text. In other words, I was seeing this:

but that was not what the actual topic was set to.

So, if you are ever in doubt, go look under the Advanced Settings and verify that Response Topic is indeed set:

If it isn't, regardless of what the "preview" section says, your webhook response won't arrive.

There is nothing magical about /hook-response/ and the topic is whatever you want it to be. It sounds obvious now when I read it, but when you're first starting out and see all of the documentation repeating /hook-response/ you can get lulled into thinking it has to be exactly that.

At any rate, I hope this helps some future soul!

2 Likes