IFTTT smart home integration, free and open source

Unofficial connector: trigger IFTTT applets from scenes, start scenes from IFTTT (Plus).
Unofficial connector, not affiliated with IFTTT. It links Gladys scenes to the IFTTT Webhooks service: a scene can trigger any applet listening to an event name, and, with Gladys Plus, an applet can start a Gladys scene. IFTTT is a trademark of IFTTT Inc.
What you get
| Surface | Content |
|---|---|
| Scene action Trigger an IFTTT event | event name + value1, value2, value3 (the applet's ingredients) |
| Scene action Trigger an IFTTT event (JSON) | event name + a JSON object (the applet's "JSON payload" ingredient) |
| Scene trigger IFTTT event received | fires when an applet (or any HTTP client) calls the inbound webhook relayed by Gladys Plus, with the event name, value1..3 and the other fields |
| Dashboard widget IFTTT button | one button that triggers an event, with an optional confirmation |
| Send a test event button | checks the key and shows the inbound URL |
Nothing runs in the background: the integration only talks to IFTTT when a scene, a button or a webhook asks it to.
Setup
- On ifttt.com/maker_webhooks, click Documentation: the page shows your key ("Your key is: ...").
- Install the integration, paste the key in IFTTT Webhooks key, save, then click Send a test event.
- In IFTTT, create an applet whose If This is Webhooks → Receive a web
request with the event name of your choice (letters, digits and
underscores, e.g.
coffee_on), and whatever Then That you like. - In a Gladys scene, add the action Trigger an IFTTT event with that
name.
value1,value2andvalue3accept scene variables ({{device.living_room.temperature}}).
A free IFTTT account allows a few applets; the Webhooks service itself has no limit on the number of events.
From IFTTT to Gladys (Gladys Plus)
A Gladys at home is not reachable from the Internet: Gladys Plus relays the inbound requests.
-
Link Gladys Plus, open the integration and paste your Open API key in the Gladys Plus webhooks block: Gladys shows the public URL of the "IFTTT inbound events" webhook (the Send a test event button repeats it).
-
In IFTTT, create an applet with the action Webhooks → Make a web request: URL = that URL, method POST, content type application/json, body:
{ "event": "leaving_home", "value1": "{{OccurredAt}}" }Any other key of the body is relayed in the
payloadvariable (as JSON). AGETwith?event=leaving_home&value1=...works too. -
In Gladys, create a scene with the trigger IFTTT event received and the event name as filter (leave it empty to react to every event). The variables
{{triggerEvent.data.value1}}etc. are available in the following actions.
The URL is a secret. For an extra check, set a shared secret in the
configuration and add "secret": "<value>" to the body sent by IFTTT:
requests without it are ignored.
Dashboard
The IFTTT button widget shows a title, a caption and a button that
triggers the event of its settings (with an optional value1). Tick Ask
for confirmation for an action with consequences.
Troubleshooting
- "IFTTT refused the Webhooks key": the key is wrong or revoked; copy it again from the Webhooks documentation page.
- The applet does not run: the event name must be exactly the one typed in the applet (case-sensitive); check the applet's activity on IFTTT.
- "Inbound events need Gladys Plus": without Plus the outbound direction still works; only the trigger needs the relay.
- Logs: the integration's log level is set with the
LOG_LEVELvariable (debugshows every call).
Privacy
The integration sends IFTTT only what your scenes put in the events. The key
is stored encrypted by Gladys and never leaves your instance except to reach
maker.ifttt.com.
Configuration settings
These are the settings IFTTT asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| IFTTT Webhooks | section | No | Unofficial connector, not affiliated with IFTTT. Your scenes can trigger any IFTTT applet whose "If This" is the Webhooks service (event name + up to three values, or a JSON payload), and, with Gladys Plus, an IFTTT applet can start a Gladys scene through the inbound webhook below. Create an applet with the Webhooks trigger "Receive a web request" and copy your key from the Webhooks settings page. |
| IFTTT Webhooks key | secret | Yes | The key shown after "Your key is:" on the Webhooks settings page (or the end of the URL after /use/). Stored encrypted by Gladys. |
| From IFTTT to Gladys (Gladys Plus) | section | No | To start a Gladys scene from IFTTT, link Gladys Plus and paste your Open API key in the "Gladys Plus webhooks" block: Gladys then shows the public URL to use in an IFTTT applet with the action "Webhooks: Make a web request" (POST, Content Type application/json, body {"event": "my_event", "value1": "..."}). Your scenes then use the trigger "IFTTT event received". The URL is a secret: add the optional shared secret below to refuse requests that do not carry it. |
| Shared secret for inbound requests (optional) | secret | No | When set, an inbound request is accepted only if its JSON body, form body or query string carries "secret" with this value. |
How to install IFTTT in Gladys
- In Gladys, open Integrations: IFTTT appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/lm1lc3n7/gladys-ifttt:0.1.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/LM1LC3N7/gladys-ifttt.
IFTTT requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
IFTTT is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by LM1LC3N7, not by the Gladys core team.
- Browse all external integrations
- Discover the native integrations built into Gladys
- Build and publish your own external integration
- Source code on GitHub — source of this documentation