
Grab your gear: The official Sanity swag store
Read Grab your gear: The official Sanity swag storeYes! Sanity provides exactly what you're looking for through Sanity Functions - a serverless compute environment that lets you hook into document content changes and run custom logic in response to those events.
Sanity Functions allow you to create event-driven workflows that react to document changes (create, update, delete, publish, etc.). You can:
Here's how you'd implement your specific scenario:
Example: When a boolean field changes on a document, automatically create another document
// functions/auto-create-doc/index.ts
import { type DocumentEventHandler } from "@sanity/functions";
import { createClient } from "@sanity/client";
interface MyDocData {
_id: string;
myBooleanField: boolean;
}
export const handler: DocumentEventHandler<MyDocData> = async ({
context,
event,
}) => {
const client = createClient({
...context.clientOptions,
apiVersion: "2025-01-01",
});
// Check if the boolean field was changed to true
if (event.data.myBooleanField === true) {
// Create a new document of another type
await client.create({
_type: 'anotherDocumentType',
title: `Auto-created from ${event.data._id}`,
sourceDocument: {
_type: 'reference',
_ref: event.data._id
},
createdAt: new Date().toISOString()
});
console.log(`Created new document triggered by ${event.data._id}`);
}
};Configure your function in blueprint.json:
{
"blueprintVersion": "2024-10-01",
"resources": [
{
"displayName": "auto-create-on-boolean-change",
"name": "auto-create-doc",
"src": "functions/auto-create-doc",
"type": "sanity.function.document",
"event": {
"on": ["update", "publish"],
"filter": "_type == 'myDocType' && defined(myBooleanField)",
"projection": "{_id, myBooleanField}"
}
}
]
}Initialize a Blueprint (Sanity's infrastructure-as-code config):
npx sanity@latest blueprints initAdd a function:
npx sanity@latest blueprints add functionDeploy:
npx sanity@latest blueprints deployWhile webhooks are also available, Sanity Functions are the modern, recommended approach because they:
Check out the complete guide in the blog post and official documentation for more details!
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.
Content operations
Content backend


The only platform powering content operations
By Industry


Tecovas strengthens their customer connections
Build and Share

Grab your gear: The official Sanity swag store
Read Grab your gear: The official Sanity swag store