Call Service

home_assistant.call_service
ActionBusiness appsconnection required

Calls the Home Assistant API with the connection's credentials.

Run a Home Assistant service, optionally against named entities.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
Home Assistant
Secret shape
the long-lived access token, or {"access_token": "…"}
Config it needs
base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

5 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
domain
The service's domain, for example 'light' or 'notify'.
stringYes——light
service
The service to run, for example 'turn_on'.
stringYes——turn_on
entity_id
Target entities: one id, a comma-separated list, or 'all'.
stringNo——light.kitchen
data
Service data as a JSON object, for example {"brightness_pct": 60}.
objectNo——{"brightness_pct":60}
return_response
Ask for the service's own response data as well as the changed states.
booleanNofalse——

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "data": {
    "brightness_pct": 60
  },
  "domain": "light",
  "entity_id": "light.kitchen",
  "return_response": false,
  "service": "turn_on"
}

Output

One shape.

result

FieldTypeExample
domain
The domain that was called.
string—
service
The service that was called.
string—
changed_states
The states that changed while it ran.
array—
changed_count
How many states changed.
number—
service_response
The service's own response, or null when it returned none.
object—
has_response
True when a service response came back.
boolean—
{
  "changed_count": 0,
  "changed_states": [],
  "domain": "",
  "has_response": false,
  "service": "",
  "service_response": {}
}

Notes

  • The call blocks on Home Assistant's side, so there is no job to poll — but an empty `changed_states` is normal, not a failure.
  • Only some services return response data, and only when `return_response` is set; `has_response` says whether one actually came back.

See Call Service run in a workflow.

In a technical demo we add the Home Assistant connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.