Manually trigger Webhooks right from your Studio.
Useful for rebuilding your website using static site generator (Astro, SvelteKit, Next.js, 11ty, Jekyll, Hugo, etc).
Instead of rebuilding your site 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 a document in your Sanity's dataset for each Webhook, with its name, URL, method (POST/GET) and the encrypted auth token if needed. It also shows the 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 customize the event type name to trigger on your Github workflows */
// githubEventType: 'webhook-trigger',
})
],
})
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.