Submit an options flow step
integrations_submit_options_flow_stepSubmit user input for a Home Assistant options-flow step to advance the form or apply new options to an existing config entry.
Instructions
Submit a step of an options flow.
Calls POST /api/config/config_entries/options/flow/{flow_id} with
user_input. What this does depends entirely on the integration
domain: an intermediate step just advances the form, while the step
that finishes the flow applies the new options to the existing config
entry, replacing its previous options. HA does not signal in advance
which step is the last one, so any submitted step — not only a
visibly "final" one — can be the one that overwrites the options.
Use when: providing the values an options-flow step asked for.
Not for: reading the current step without submitting — there is no
separate "get options flow" tool; call
integrations_start_options_flow again to restart it; cancelling a
flow before it finishes — use integrations_abort_options_flow.
Returns: the next step (form), a step with errors, or the entry's
updated result. The returned step's last_step field is True only
when the integration explicitly declares this is the final step, and
None otherwise — most integrations leave it None even on their
actual last step, so None does not mean more steps remain.
Errors: raises httpx.HTTPStatusError if flow_id is unknown or
expired.
Limits: any submitted step, not only a visibly "final" one, may
overwrite the entry's previous options; the integration may reach an
external device or cloud service while validating the submitted
values.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| flow_id | Yes | Flow id from `integrations_start_options_flow`. | |
| user_input | Yes | Answers for the current step, matching the fields in the flow's `data_schema`. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||