How to get a SmartThings action to send an HTTP Request?

I’d like to use my Alexa to send a “dinner time!” message to a certain Discord server & channel. I had this working with IFTTT, but they ended their Alexa integration yesterday. So my new plan is to create a virtual button in SmartThings, trigger that from Alexa, and have that send an HTTP GET request to IFTTT, which can then send the message to Discord.

So, how can I have SmartThings send a web request to a given URL when a virtual button is pressed?

You can’t do it directly from smartthings because edge drivers are not allowed to leave the local LAN. There are a number of projects that people have done that use an intermediate server device, but those can get pretty complicated.

As an alternative, can you not just use the Webhooks channel within Ifttt? Iftttt could recognize that the virtual button was pressed in smartthings through the smartthings service. So smartthings is the if and Webhooks is the that in your Ifttt recipe.

As @JDRoberts points out, the Edge platform limits communication to IP addresses on your local LAN only. @TAustin has his “Web Requestor: a driver to issue local POST and GET HTTP requests” which can do what you want via @TAustin’s bridging/forwarding server you would need to run on a Raspberry Pi or always on computer. I use his Web Requestor to connect SmartThings with my Lorex camera system, just some limited use of triggering the camera deterrence lights and/or sirens.

1 Like

I didn’t realize IFTTT has SmartThings integration! I just set up a virtual switch in SmartThings, along with an IFTTT “applet” that messages Discord whenever it’s turned on. So now I just need to create an Alexa routine to turn that virtual switch on. No need for web hooks! Thanks a lot.


Glad you found one a way. You can also use SharpTools to initiate Web hooks to trigger SmartThings.