- Home
- Resources
- Integrations
- Philips Hue
Philips Hue n8n integrationAutomate Philips Hue with n8n.
Your bulbs can react to anything a workflow already knows. The Philips Hue n8n integration exposes 4 operations on one resource, Light. There is no Hue trigger, the node type that starts a workflow, so the run begins elsewhere: a schedule, or a webhook, the URL n8n exposes for another service to call.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Philips Hue n8n integration actually do?
The Philips Hue node talks to the Hue API and works on a single object: the bulb. Four operations cover its whole life in a workflow, retrieve one light, retrieve all lights, update a light, delete a light. Everything else, the timing, the data, the condition that decides on a color, comes from the nodes around it.
Take a retail floor first. A Schedule Trigger fires at opening time, an OpenWeatherMap call reads the sky, and light.update sets Brightness higher on a grey morning than on a clear one. One workflow, one numeric field, no one touching a switch.
Second case, an on-call signal. The error branch of a workflow you already run ends on a Hue update that pushes Hue to red, and posts the same alert to Slack. The lamp says something broke before anyone opens the channel.
Third case, a listening room. When a track starts in Spotify, the workflow reads the current state with light.get, applies a Dynamic Effect, then writes the old values back. Bulbs rarely live alone, and that is usually where Home Assistant sits next to them.
Where the node stops is easy to state: the Light resource, nothing else. Groups, scenes, sensors and rooms have no operation here. For those, the HTTP Request node calls the Hue CLIP API directly and reuses the same credential, the stored connection you save once in n8n, through its predefined authentication. Paging follows the usual pattern too. Return All walks every page of the API, and with it off, Limit caps how many bulbs come back.
The last limit shapes the design more than the rest. n8n ships no Philips Hue trigger node, so nothing here listens for a switch being pressed or a bulb going offline. Lights are always the end of a chain someone else starts. If you are still comparing platforms before building that chain, the n8n review covers hosting and cost in detail.
How do you connect Philips Hue to n8n?
- 01
Create the Philips Hue credential
The node authenticates with OAuth2, and that is the only supported method. In n8n, open Credentials, pick Philips Hue, and sign in with a Philips Hue account. With the built-in OAuth connection you leave APP ID empty: n8n already carries the app registration, so there is nothing to fill in beyond the login itself.
- 02
Register your own Hue remote app, if you need one
Configuring OAuth2 from scratch takes a Philips Hue developer account. Create a new remote app on the Add new Hue Remote API app page, then copy the OAuth Callback URL that n8n shows on the credential screen and paste it as the app's Callback URL. The two values have to match character for character, or the sign-in loop never comes back to n8n.
- 03
Paste the app keys and connect
Your remote app gives you an AppId, a ClientId and a ClientSecret. Copy the three into the matching fields in n8n, save, and run the OAuth sign-in. Once the credential is green it is reusable: every Philips Hue node in every workflow picks it from a dropdown, and you never paste those keys again.
What the Philips Hue node can do
The Philips Hue node exposes 4 operations across 1 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
Operations index
Light
4 operationsDelete a light
light.deleteWhat you see in n8n
Notes & use cases
Removes a bulb from the bridge, which also removes it from every later listing. Nothing on the light is preserved, so the operation belongs at the end of a cleanup run, not in the middle of a daily workflow.
Key parameters
- Light ID: the identifier of the bulb to drop, as a string; taking it from a previous listing with
{{ $json.id }}avoids deleting the wrong one by hand.
Get a light
light.getWhat you see in n8n
Notes & use cases
Reads one bulb and returns its current state, which makes it the natural step before and after a change: store what you found, apply the update, then put the original values back.
Key parameters
- Light ID: a string identifying the single bulb to read, either typed once for a fixed lamp or passed along from an earlier node.
Get many lights
light.getAllWhat you see in n8n
Notes & use cases
Lists the bulbs known to the bridge, one item per light, which is how most workflows discover the identifiers they will feed to the other three operations.
Key parameters
- Return All: on, n8n walks the pages of the API and hands back every bulb.
- Limit: the maximum number of bulbs returned while Return All stays off, useful when a test run should touch 2 lamps and not the whole house.
Update a light
light.updateWhat you see in n8n
Notes & use cases
Writes a new state to one bulb: power, brightness, color, effect, and how long the change takes.
Key parameters
- Light Name or ID: picked from the dropdown n8n loads from your bridge, or given as an ID through an expression such as
{{ $json.id }}. - On: the on or off state, required on every call, so a color change still needs it set.
- Additional Fields: 13 optional fields, among them Brightness on a scale of 1 to 254, Color Temperature from 153 to 500 mireds on 2012 compatible lights, Hue between 0 and 65535, with 25500 landing on green, and Transition Time in seconds.
Need help automating Philips Hue with n8n?
A person reads every message.

