Publish Once, Post Everywhere
Write once in Studio. Post everywhere. No copy-paste, no platform hopping.
Automate your content workflows with functions that trigger on document events. From AI-powered automatic tagging and content enrichment to translation and optimization, these pre-built functions save time and improve content quality across your Sanity projects.
Write once in Studio. Post everywhere. No copy-paste, no platform hopping.
Automatically format code blocks using Prettier to enforce consistency across all documents.
Automatically generate accessible, multilingual alt text for images in your Sanity Media Library using Agent Actions and Sanity Functions
AI-powered automatic tagging for Sanity blog posts that analyzes content to generate 3 relevant tags, maintaining consistency by reusing existing tags from your content library.
Automatically track when content was first published with a timestamp that sets once and never overwrites, providing reliable publication history for analytics and editorial workflows.
Automatically update your Algolia index
Create, preview, and send Klaviyo campaigns without ever leaving Sanity Studio"
A Sanity function that tracks slug changes and creates redirects automatically.
Stop manually linking products. Let this function map relationships for you
Surface product age to help editors choose the freshest inventory
Automatically analyze and categorize the emotional tone of user comments
On document publish, send a Slack notification so your team is informed
AI-Powered Content Summary from Long Form Content
Get instant Telegram notifications when new comments are posted, with direct links to your Sanity Studio.
AI-Powered Tone Analysis for Consistent Brand Voice
Generate content changes for a piece of content
Inform your the Bluesky crowd when you publish a post
Spread the word on Mastodon when publishing a blog post
When each document queries has an array but you need the aggregate list to be ordered.
Use modules to build your pages? Want to grab a link to a specific module? This schema is just for you!
This Input component is used for removing e.g the Duplicate action for items in a list
Sometimes, you just need to migrate a document or two.
Content estimated reading time component in TypeScript.
this blog for beginner how to make blog in sanity with next js
Go to Next.JS blog use sanityGROQ doesn't yet include a function to match the end of a string, but we can simulate it by splitting our string on our term.
Simplify your Studio experience by hiding deprecated fields when you create new documents.
🚫 MyFile / ✅ MyFile.pdf
This GROQ query is used to get contents of an array item based on a filter, so that only needed items are fetched instead of full array.
This snippet is useful if you want a desk structure that allows columns with a parent page and children pages underneath it. As deep as you would like.
Learn how to build a custom image gallery preview component that can be added to Portable Text.
If you're working on integrating portable text with custom markDefs using groqd, the following code snippet could be very useful. It might save you a considerable amount of research time.
If you install plugins or other packages with conflicting (peer) dependencies, you can use this useful workaround to unblock yourself.
Projections resolver for auto dereferencing
Variant Generator for Products with Options
Insert related components next to a native one
Go to Helper function to add custom components above or below a native one.A code snippet to create a custom '+ Add item' button to add items to the top of an array.