Manually trigger Webhooks right from your Studio.
Useful for rebuilding your website using static site generator (Astro, SvelteKit, Next.js, 11ty, etc).
Instead of rebuilding every single time a document is published using the GROQ-powered webhooks, just do it when you are (or your client is) done editing content!
For instance, you can trigger a build on Vercel, Netlify, Cloudflare Pages, Github Actions or even any other Webhook or your choice.
Behind the scenes, it stores in your Sanity's dataset a document for each Webhook, with its name, URL, method (POST/GET) and the encrypted auth token if needed. It also shows its last run status and date.
Openly –and heavily– inspired from sanity-plugin-vercel-deploy by ndimatteo.
# npm
npm i sanity-plugin-webhooks-trigger
# yarn
yarn install sanity-plugin-webhooks-trigger
# pnpm
pnpm i sanity-plugin-webhooks-trigger
# bun
bun i sanity-plugin-webhooks-trigger
Add it as a plugin in sanity.config.ts
(or .js):
import { defineConfig } from 'sanity'
import { webhooksTrigger } from 'sanity-plugin-webhooks-trigger'
export default defineConfig({
//...
plugins: [
webhooksTrigger({
// title: 'Deploy',
// text: 'Custom text',
// encryptionSalt: 'replace-me-with-a-strong-string'
})
],
})
You can generate one using openssl rand -hex 64
or any other method.
MIT © Félix Péault (Flayks)
This plugin uses @sanity/plugin-kit with default configuration for build & watch scripts.
See Testing a plugin in Sanity Studio on how to run this plugin with hotreload in the studio.