How to add internal links to the Home Assistant sidebar

Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.

Are you tired of having to click yourself through countless menus, just to edit on setting? What if I told there was an easy way of adding internal links to the Home Assistant sidebar that can take directly to an internal page, such as one of the many option in the configuration? This guide will show you how to do just that.

What you need to do is simply: Add the panel_custom component to your configuration. You can then set up as many internal links in the sidebar as you want. I wouldn't recommend adding to many, as you might end up having to search through your sidebar instead of the settings. In this example, I will be adding direct links to the integrations, automations, and server controls.


Enabling Home Assistant's advanced mode

The first thing on the to-do list, is to enable Home Assistant's advanced mode. This can be done by clicking on your profile in the sidebar and scrolling down until you find the option.

The advanced mode isn't as frightening as it may sound, and it doesn't suddenly complicate the configuration. All it does is allow you to add more customizations, such as adding internal links to Home Assistant's sidebar.

A screenshot of the Home Assistant Dashboard showing the option to enable 'Advanced Mode'.

Accessing the configuration file

To be able to add the panel_custom to Home Assistant, you will need to access your configuration.yaml file. If you are using Home Assistant OS on a Raspberry Pi or similar platform, the easiest way of accomplishing that is by using the File Editor add-on. Simply visit the Home Assistant Add-On Store, which is found under the Supervisor entry in the sidebar, and search for it.

A screenshot of the Home Assistant Dashboard showing the details of an add-on.

Once installed, you will be presented with a short selection of settings. I recommend enabling the option to start the File Editor on start, as you will be using it frequently. Home Assistant isn't quite far enough to be solely configured from the web dashboard. The other setting I enable, is the option to have it in the sidebar. This allows you to quickly access the add-on with just a single click.

Once the File Editor has started, you can open it and look for the configuration.yaml file by clicking the folder icon in the top-left corner.

Home Assistant File Editor Settings

With the file editor installed, and the advanced mode enabled, you can finally start adding your desired internal links to the Home Assistant dashboard. To make things easier, I have prepared a few example for you to copy. Simply scroll to the last line of the configuration.yaml file, and add the following code:

  - name: panel_server_controls
    sidebar_title: Server Control
    sidebar_icon: mdi:restart
    url_path: 'config/server_control'
    module_url: /api/hassio/app/entrypoint.js
    embed_iframe: true
    require_admin: true
  - name: panel_integrations
    sidebar_title: Integrations
    sidebar_icon: mdi:audio-input-rca
    url_path: 'config/integrations'
    module_url: /api/hassio/app/entrypoint.js
    embed_iframe: true
    require_admin: true
  - name: panel_automations
    sidebar_title: Automations
    sidebar_icon: mdi:cogs
    url_path: 'config/automation'
    module_url: /api/hassio/app/entrypoint.js
    embed_iframe: true
    require_admin: true

For these items to appear in the Home Assistant sidebar, you will need to restart the system. Luckily for you, the server controls are one of the added links, so you will never have to look for them in the configuration again.

Let us take apart one of these entries and explore what each line does. The name has to be unique, but aside from that limitation, can be anything you want. As this name won't be seen anywhere, I suggest picking a logical name and not a pretty name.

The **sidebar_title** is what you will see in the sidebar. As the sidebar is there to make finding certain settings quick and easy, I suggest a simple but precise name. The second option that will influence the look of the sidebar is the sidebar_icon. You can use any Material Design Icon to customize your entry.

The final option for you to change is the url_path. This entry will determine what will be shown when you open the panel from your Home Assistant sidebar. As you might have guessed from the titles, the three entries listed above will link to the server controls, integrations, and automations. Let's say you wanted to add Blueprints to the sidebar too. Simply navigate to the Blueprints option in the menu and copy the URL. In my case, it is: From this URL, all that is needed for this configuration, is config/blueprint. Make sure to not add any further slashes, as that would mess things up.

Leave the module_url as it, this is the JavaScript module that is loaded when you open the panel. The same goes for embed_iframe. You can set the option require_admin to false, if you wanted those that don't have admin access, to be able to access the panel. I don't recommend changing this setting.

A portrait photo oif Liam Alexander Colman, the author, creator, and owner of Home Assistant Guide wearing a suit.

About Liam Alexander Colman

is an experienced Home Assistant user who has been utilizing the platform for a variety of projects over an extended period. His journey began with a Raspberry Pi, which quickly grew to three Raspberry Pis and eventually a full-fledged server. Liam's current operating system of choice is Unraid, with Home Assistant comfortably running in a Docker container.
With a deep understanding of the intricacies of Home Assistant, Liam has an impressive setup, consisting of various Zigbee devices, and seamless integrations with existing products such as his Android TV box. For those interested in learning more about Liam's experience with Home Assistant, he shares his insights on how he first started using the platform and his subsequent journey.

Leave a comment

Share to...