Skip to main content
Extended OpenAI Conversation registers four Home Assistant services you can call from automations, scripts, or Developer Tools → Services.

change_config

Dynamically update the integration’s connection settings — API key, Base URL, provider, and more — without restarting Home Assistant. The new values are validated against the API before being saved.

Parameters

At least one optional parameter must be provided. Calling the service with only config_entry does nothing.
If api_provider is set to azure, a custom base_url is required. The service raises an error if the Azure endpoint is missing.

Examples

How to find config_entry

  1. Go to SettingsDevices & Services
  2. Click Extended OpenAI Conversation
  3. The entry ID is in the browser URL: .../config/integrations/integration/extended_openai_conversation#ENTRY_ID
Alternatively, use the Developer Tools → Template panel:
Or call the service from Developer Tools → Services and use the config entry picker — no manual ID needed.

Behavior notes

  • Validation first: The service connects to the API with the new credentials before saving. If the connection fails, the existing config is preserved and an error is raised.
  • OpenAI default URL: Setting base_url to https://api.openai.com/v1 is treated as “no custom URL” — the integration uses OpenAI’s default endpoint, which is resilient to future URL changes by OpenAI.
  • Partial updates: Only the fields you provide are changed. Unspecified fields keep their current values.

query_image

Send an image (local file or public URL) to a vision-capable model and get a text response back. The service returns the full API response object.

Parameters

Examples

For local file paths, the path must be allowed in allowlist_external_dirs in your configuration.yaml.

Return value

The service returns the full OpenAI chat completion response:

reload_skills

Reload all skills from the skills directory without restarting Home Assistant. Use this after manually adding or editing skill files.

Parameters

None.

Example

Return value

The download_skill service automatically reloads skills after downloading, so a manual reload is only needed when you edit skill files directly.
See Managing Skills for details.

download_skill

Download a skill from the official GitHub repository and install it to your skills directory. Skills are reloaded automatically after download.

Parameters

Example

Return value

See Discover Skills for a list of available skills.