Menu configuration
Choose what appears in the Anythink dashboard sidebar for each role. Create a menu, add, nest and reorder items, and keep access control in permissions.
Last updated
A menu decides which links people see in the sidebar of the Anythink dashboard. You build one menu per role, so editors can have a short, focused sidebar while administrators keep the full one. Menus change what people see. They don't change what people can do, which is controlled by Roles and permissions.
Note: Only project administrators can open menu configuration. To change your project's logo and colours, see Customise the Anythink dashboard.
How the sidebar is put together
The sidebar has three parts, in this order:
- Dashboard at the top. Everyone gets it.
- Your menu. The items from the menu assigned to the person's role, in the order you set.
- The Admin menu and Help. Project administrators also get Workflows, Files, AnythinkPay, Growth, API Docs and Settings (plus AI Agents when it's enabled for the project). Help is last for everyone. You can't edit these built-in items.
When someone signs in, the dashboard asks for their menu with GET /menus/my. Anythink finds the menu assigned to their role and returns it with its items nested in order. If their role has no menu, they see only the built-in items.
When you create a project, Anythink creates one empty menu for each of its starting roles, named after the role, such as "Standard User Menu". Roles you create later don't get a menu automatically: create one for them (see below).
Create a menu and assign it to a role
A menu has a name (up to 100 characters) and a role. Everyone with that role sees that menu. Give each role one menu.
In the Anythink dashboard
- Open Settings, then Menu Configuration.
- Select Add Menu.
- Enter a Menu Name and choose the Role.
- Select Create Menu.
To rename a menu or give it to a different role, choose Edit on the menu. To delete it, choose Delete and confirm. Drag the handle on a menu card to change the order of the menus in the list. The order of this list doesn't change anything in the sidebar.
With the CLI
Creating and editing menus isn't available in the CLI yet. Use the dashboard steps above. You can see your menus, with their IDs and roles, from the CLI:
anythink menus list
Each menu is listed with its ID and the ID of its role, followed by a table of its items.
With an AI assistant (MCP)
Creating menus is done in the Anythink dashboard. To check what's there, ask:
Show me all the menus in this project and which roles they belong to.
The assistant runs menus list.
Add items to a menu
Each item has a display name, a path (where it goes), an icon and, optionally, a parent. In the dashboard you choose one of two types:
- Entity opens the data grid for one of your entities. Pick the entity and the display name fills in for you. Junction entities (the hidden tables behind many-to-many relationships) aren't offered.
- Custom Link opens any other page of the dashboard. Enter the path as it appears in your browser after your project's
/org/<id>prefix, for example/filesfor the file library or/dashboard/<id>for one of your dashboards. Anythink adds the project prefix for you. Paths stay inside the dashboard: an item can't link to an external website.
A path of # makes the item a group heading. It isn't a link; selecting it expands or collapses the items under it.
New items go to the end of their level. Display names can be up to 100 characters and paths up to 255.
Choose an icon
Icons come from the Lucide library, and you use the icon's PascalCase name, such as Users, FileText or MessageCircle. In the dashboard, the icon picker has a search box, so you can find one by typing part of the name. If an icon name isn't recognised, the sidebar shows a plain circle instead.
In the Anythink dashboard
- Open Settings, then Menu Configuration, and select a menu.
- Select Add Menu Item.
- Choose the Type, then the Entity or the Path.
- Set the Display name and pick an Icon.
- To nest the item, choose a Parent menu item. Leave it as None (Root Item) for a top-level item.
- Select Create Menu Item.
With the CLI
menus add-item adds an entity to a menu. You give it the menu ID and the entity name:
anythink menus add-item 12 orders --icon ShoppingCart
The display name defaults to the entity name in title case (Orders). Use --name to set your own, and --parent with the ID of an existing item to nest the new one under it:
anythink menus add-item 12 order_notes --icon StickyNote --name "Notes" --parent 150
If you don't pass --icon, the item uses the Database icon. Items that link to something other than an entity, and group headings, are added in the dashboard.
With an AI assistant (MCP)
Add the orders entity to menu 12 with the ShoppingCart icon.
Add order_notes to menu 12 under the item with ID 150, called "Notes".
The assistant runs menus add-item with the options above. It needs the menu ID, so ask it to list the menus first if you don't have it.
Reorder, nest and remove items
Drag items to arrange them. Drop an item onto a group to move it inside; drag it back out to the top level to un-nest it. Changes are saved as you drop.
The sidebar shows two levels: top-level items, and the items nested directly under them. Nest an item under a group heading or under another top-level item.
To change an item's name, path, icon or parent, choose Edit on its card. To remove one, choose Delete and confirm. Deleting an item also deletes the items nested under it.
Some items carry a lock icon. These are created by Anythink and can't be edited, moved or deleted.
In the Anythink dashboard
- Open Settings, then Menu Configuration, and select a menu.
- Drag the handle on an item to reorder it, or onto a group to nest it.
- Choose Edit or Delete on an item's card to change or remove it.
With the CLI
Reordering, editing and removing items isn't available in the CLI yet. Use the dashboard steps above. anythink menus list shows the current tree, with nested items indented under their parent.
With an AI assistant (MCP)
Reordering, editing and removing items is done in the Anythink dashboard. Your assistant can list the current menu for you and add new entity items.
Example: a focused menu for editors
Suppose you have an editor role and want editors to see only Blog Posts and Authors, plus a Reference group with the style guide entity.
In the Anythink dashboard
- Open Settings, then Menu Configuration, and select Add Menu. Name it
Editorsand choose theeditorrole. - Add an Entity item for
blog_postswith theFileTexticon, and another forauthorswith theUsersicon. - Add a Custom Link item named
Reference, path#, iconBookOpen. This is the group heading. - Add an Entity item for
style_guidewith Reference as its Parent menu item. - Drag the items into the order you want.
Editors now see Dashboard, Blog Posts, Authors, Reference (with Style Guide inside it) and Help.
With the CLI
If the menu already exists, the entity items are quick to add. Check the menu ID first, then add the items:
anythink menus list
anythink menus add-item 12 blog_posts --icon FileText
anythink menus add-item 12 authors --icon Users
Create the menu, and the Reference group, in the dashboard.
With an AI assistant (MCP)
Add blog_posts and authors to the Editors menu, with FileText and Users icons.
Creating the menu and the group heading is done in the dashboard first.
Then make sure editors can use what they see: give the editor role access to each of those entities.
See Roles and permissions for how to set this up for a role.
Menus and permissions
A menu item is a shortcut, not a permission.
- Hiding a link doesn't block access. If an item isn't in someone's menu, they can still open that page by its address if their role allows it. To stop access, remove the permission from the role.
- Showing a link doesn't grant access. If you add an entity to a menu for a role that has no permission to read it, the person sees the link but not the data. Always set up the role's permissions as well as its menu.
- Row-level rules still apply. Whatever the menu shows, people only see the records they're allowed to see.
Managing menus themselves needs the project administrator role. Your own app can read a person's menu with GET /menus/my, which any signed-in member of the project can call.
Limits
- One menu per role. A role's sidebar comes from its menu, so give each role a single menu. Roles with no menu get only the built-in items.
- Two levels deep. The sidebar shows items and one level of nested items.
- Dashboard pages only. An item points at a page inside the Anythink dashboard, such as an entity grid, a dashboard or a settings page. It can't open an external URL.
- Built-in items can't be changed. Dashboard, Help and the administrator items are always there, and they can't be hidden or reordered. Your items sit between Dashboard and the administrator items.
- Name and path length. Menu and item names are up to 100 characters, icon names up to 150 and paths up to 255.
- Some tasks are dashboard-only. The CLI and your AI assistant can list menus and add entity items. Everything else is done in the dashboard.
Next steps
- Roles and permissions: control what each role can do
- Customise the Anythink dashboard: set your logo, colours and name
- Users and teams: assign people to roles
- Model your data: create the entities your menu links to