> For AI agents: the complete Sanity documentation index is available at [https://www.sanity.io/docs/llms.txt](https://www.sanity.io/docs/llms.txt).

# Developer guides

Official implementation guides from the Sanity team



#### Getting Started

[An opinionated guide to Sanity Studio](https://www.sanity.io/docs/developer-guides/an-opinionated-guide-to-sanity-studio)
Sanity Studio is an incredibly flexible tool with near limitless customization. Here's how I use it.

[Deciding on fields and relationships](https://www.sanity.io/docs/developer-guides/deciding-fields-and-relationships)
How to work through tricky content questions and build structures that will stand the test of time. 

[Beginners guide to Portable Text](https://www.sanity.io/docs/developer-guides/beginners-guide-to-portable-text)
Discover the power of Portable Text with this essential guide. From data structure, serialization to validation strategies, you'll learn everything you need to harness its potential.

[Get started](https://www.sanity.io/docs/ai/get-started)
Set up the Sanity Agent Toolkit and MCP server to help AI assistants generate high-quality Sanity code that follows established best practices.

#### Portable Text Customization

[Adding things to Portable Text - From block content schema to React component](https://www.sanity.io/docs/developer-guides/ultimate-guide-for-customising-portable-text-from-schema-to-react-component)
This Guide will lead you through the all the steps you need to level-up your use of Portable Text: from setting up block content, adding custom blocks and renderers for the Portable Text Editor in your studio. But also help you query for everything and render your awesome content in React!

[Add inline blocks for the Portable Text Editor](https://www.sanity.io/docs/developer-guides/add-inline-blocks-to-portable-text-editor)
Enrich your content and add inline blocks to your Portable Text Editor. This guide takes you from schema to query output

[How to add custom YouTube blocks to Portable Text](https://www.sanity.io/docs/developer-guides/portable-text-how-to-add-a-custom-youtube-embed-block)
How to add a YouTube embed in the Studio, and render it on front ends

[Presenting Portable Text](https://www.sanity.io/docs/developer-guides/presenting-block-text)
Transform Portable Text to whatever you want

[Change the height of a Portable Text Editor (PTE) using a custom input component](https://www.sanity.io/docs/developer-guides/change-the-height-of-a-portable-text-editor-pte-using-a-custom-input-component)
Ever used a PTE and thought you would like it to take up less space and be focusable without activating it? Now you can!

#### Studio Customization

[Browsing Content How You Want with Structure Builder](https://www.sanity.io/docs/developer-guides/getting-started-with-structure-builder)
How to make content more browseable using the Structure Builder API for Sanity Studio’s Structure Tool

[Create a time duration object field](https://www.sanity.io/docs/developer-guides/create-a-time-duration-object-field)
Delight your content creators with intelligent inputs for more complex data structures

[Create a visual string selector field input](https://www.sanity.io/docs/developer-guides/create-a-rich-string-selector-field-input)
Go beyond a plain radio list of inputs by giving authors more contextually useful buttons to select values from.

[Create an array input field with selectable templates](https://www.sanity.io/docs/developer-guides/create-an-array-input-field-with-selectable-templates)
Make repetitive content creation tasks a breeze by supplying content creators with buttons to populate complex fields.

[Create richer array item previews](https://www.sanity.io/docs/developer-guides/create-richer-array-item-previews)
Object types use a preview property to display contextual information about an item when they are inside of an array; customizing the preview component can make them even more useful for content creators.

[Create a document form progress component](https://www.sanity.io/docs/developer-guides/create-a-document-progress-root-level-component)
Summarise form progression by decorating the entire editing form for a document with a component loaded at the root level.

#### Advanced Concepts

[High-performance GROQ](https://www.sanity.io/docs/developer-guides/high-performance-groq)
GROQ gives you a fast, expressive way to query data from Sanity.

[GROQ-Powered Webhooks – Intro to Filters](https://www.sanity.io/docs/developer-guides/filters-in-groq-powered-webhooks)
A thorough intro to using GROQ filters in a webhook context

[GROQ-Powered Webhooks – Intro to Projections](https://www.sanity.io/docs/developer-guides/projections-in-groq-powered-webhooks)
A thorough intro to using GROQ-projections in a webhook context

[How to implement Multi-tenancy with Sanity](https://www.sanity.io/docs/developer-guides/multi-tenancy-implementation)
In this guide, you’ll see how Sanity separates organizations, projects, datasets, and members by working through a hypothetical example of a growing company that can expand its content model as they grow – without needing a complete overhaul.

[Paginating with GROQ](https://www.sanity.io/docs/developer-guides/paginating-with-groq)
Learn efficient pagination in GROQ using cursor-based filtering instead of array slicing. Covers tiebreakers for non-unique fields and batch processing.

[How to use structured content for page building](https://www.sanity.io/docs/developer-guides/how-to-use-structured-content-for-page-building)
Learn how to create a page builder from structured content that can withstand the test of time and redesigns.

#### Content OS & Organizations

[Agencies: Navigating the Spring 2025 Organization Changes](https://www.sanity.io/docs/developer-guides/agencies-navigating-the-spring-2025-organization-changes)
How to handle the changes to Organizations and Projects in Sanity

[Setting up single sign-on with SAML](https://www.sanity.io/docs/developer-guides/sso-saml)
This article will take you through the process of setting up SAML (Security Assertion Markup Language) SSO (single sign-on) for your organization.

[Set up SSO authentication with SAML and Azure/Entra ID](https://www.sanity.io/docs/developer-guides/set-up-sso-authentication-with-saml-and-azure)
Implement single sign-on authentication with the SAML protocol and Microsoft Azure AD/ Entra ID as the identity provider.

[Reconcile users against internal systems](https://www.sanity.io/docs/developer-guides/remove-project-users-in-bulk)
Use Sanity APIs to compare current project members against an internal list to remove those that no longer require access

#### Integration Patterns

[Integrating external data sources with Sanity](https://www.sanity.io/docs/developer-guides/integrating-external-data)
Learn the two most common patterns for integrating external data sources with Sanity

[How to implement front-end search with Sanity](https://www.sanity.io/docs/developer-guides/how-to-implement-front-end-search-with-sanity)
By integrating Sanity's structured content with Algolia, you can provide your users with fast, relevant search results

[Forms with Sanity](https://www.sanity.io/docs/developer-guides/forms-with-sanity)
Common approaches for using forms with Sanity

[Managing redirects with Sanity](https://www.sanity.io/docs/developer-guides/managing-redirects-with-sanity)
How to use Sanity to control redirects in your JavaScript framework of choice.

[Add live content to your application](https://www.sanity.io/docs/developer-guides/live-content-guide)
Learn to use the Live Content API with Next.js or your own integration for real-time content updates in your app.

