# Integration

> A package of code that connects Home Assistant to a device, service, or protocol, or adds a feature like automations.

Source: https://contributors.home-assistant.io/glossary/integration/

- In code: `homeassistant/components/<domain>/`
- Also: integrations
- Formerly: component (old name: don't use it in new text)

Almost all of Home Assistant Core is integrations. Some connect to something outside Home Assistant, like Philips Hue or Z-Wave. Others are building blocks that other integrations use, like `light`, `sensor`, or `automation`.

Every integration lives in its own folder, named after its [domain](https://contributors.home-assistant.io/glossary/domain/), and describes itself in a [manifest](https://contributors.home-assistant.io/glossary/manifest/). Users add most integrations in the UI, with a [config flow](https://contributors.home-assistant.io/glossary/config-flow/).

The code still uses the old name in places: integrations live in [`homeassistant/components/`](https://github.com/home-assistant/core/tree/dev/homeassistant/components), and some functions say component. In text, always say integration.

## Related terms

- [Domain](https://contributors.home-assistant.io/glossary/domain/): The short, unique identifier of an integration, like `hue` or `light`. It is also the first part of every entity ID.
- [Manifest](https://contributors.home-assistant.io/glossary/manifest/): The `manifest.json` file of an integration: its domain, name, integration owners, requirements, and how it can be discovered.
- [Config entry](https://contributors.home-assistant.io/glossary/config-entry/): One set-up instance of an integration, like one Hue bridge, with the configuration Home Assistant stores for it.
- [Platform](https://contributors.home-assistant.io/glossary/platform/): How an integration provides one type of entity, like the `light` platform of the Hue integration. Also used for integration platforms, files that plug into another integration.
- [Custom integration](https://contributors.home-assistant.io/glossary/custom-integration/): An integration that is not part of Home Assistant Core, installed by the user in the `custom_components` folder.
