[v16] Customize Desktop

How to create a custom Desktop Icon? I tried adding records in Desktop Icon list and added a workspace sidebar which I linked to the desktop icon.

Workspace Sidebar -

But still the desktop icon does not show.
When I click on “view sidebar” in workspace sidebar, I get this error -

“Uncaught (in promise) TypeError: can’t access property “toLowerCase”, name2 is undefined”

Any help is appreciated.
Thanks

The whole Desktop and custom workspaces is broken in v16. Either that or the documentation is inadequate. I have been trying to put a custom icon on the desktop through different means but does not work at all.

1 Like

It took me quite a long time to figure out, but what I eventually got to work is to create a JSON file in a custom app. In your custom app create a folder named desktop_icon and then inside here create a file named <your icon name>.json. Inside the file put something like the following:

{
 "app": "business",
 "creation": "2026-04-09 16:46:16",
 "docstatus": 0,
 "doctype": "Desktop Icon",
 "hidden": 0,
 "icon": "",
 "icon_type": "Link",
 "idx": 0,
 "label": "Sales",
 "link_to": "Sales",
 "link_type": "Workspace Sidebar",
 "logo_url": "/assets/business/img/sales.svg",
 "modified": "2026-04-09 16:46:16",
 "modified_by": "Administrator",
 "name": "Sales",
 "owner": "Administrator",
 "restrict_removal": 0,
 "roles": [],
 "standard": 1
}

Then do a bench migrate to see it get reflected. Few other things I noticed are:

  1. All the existing icons have the idx set to 0. So if you want this custom icon to appear first in the list, you have to do a bulk edit of the other ones changing the idx to a higher number.
  2. I don’t have a clear understanding of what standard does, but if it’s set to 0 the icons won’t display.
  3. If after the migrate the new icon still doesn’t show, try to do a cache clear and/or check out Desktop Layout. If there are documents in here, you may need to delete those before new icons will take effect.