How AI is powering better personalization in e-commerce [with Vercel]. Sign up now

Multiple S.list() groups in Sanity desk structure

8 repliesLast updated: Nov 29, 2025

Hi folks. I’m working on the desk structure and trying to figure out how to have more than one list with a title that contains groups if of document types. e.g. in this screenshot, I want to have another list like the “Site” one but with a different title. I can’t seem to get it working. It seems I can only use one
S.list(…)
in the structure?
AI Update

Based on the Structure Builder documentation, you actually can have multiple lists with titles and groups of document types! The key is understanding that you only have one root S.list(), but within that list, you can create multiple S.listItem() entries that each contain their own nested lists.

Here's how to structure it:

export const structure: StructureResolver = (S) =>
  S.list()
    .id('root')
    .title('Content')
    .items([
      // First section - "Site"
      S.listItem()
        .title('Site')
        .child(
          S.list()
            .title('Site Settings')
            .items([
              S.documentTypeListItem('siteSettings'),
              S.documentTypeListItem('navigation'),
              S.documentTypeListItem('footer'),
            ])
        ),
      
      // Divider (optional)
      S.divider(),
      
      // Second section - "Content"
      S.listItem()
        .title('Content')
        .child(
          S.list()
            .title('Content Types')
            .items([
              S.documentTypeListItem('page'),
              S.documentTypeListItem('post'),
              S.documentTypeListItem('author'),
            ])
        ),
      
      // Third section - "Media"
      S.listItem()
        .title('Media')
        .child(
          S.list()
            .title('Media Assets')
            .items([
              S.documentTypeListItem('gallery'),
              S.documentTypeListItem('video'),
            ])
        ),
    ])

The pattern is:

This creates a navigable structure where clicking on "Site", "Content", or "Media" in the root list takes you to a new list with that group's document types. According to the Structure Builder documentation, you can nest these infinitely deep if needed!

You can learn more about this in the Structure customization course.

Show original thread
8 replies

Was this answer helpful?

Sanity – Build the way you think, not the way your CMS thinks

Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.

Related contributions