Join us live Sept. 27 – How Sanity and Vercel powered Morning Brew's transformation –>

Netlify Deploy

Official(made by Sanity team)
v3 Ready

By Marius Lundgård & Per-Kristian Nordnes

Sanity Studio Dashboard Widget for triggering Netlify builds.

Sanity Dashboard Widget: Netlify

Sanity Studio Dashboard Widget for triggering Netlify builds.


Install the dashboard plugin

To get dashboard support in Sanity Studio in general:

sanity install @sanity/dashboard

Install the Netlify widget plugin

sanity install dashboard-widget-netlify


  1. Implement your own dashboardConfig. In your sanity.json file, append the following line to the parts array:
  "implements": "part:@sanity/dashboard/config",
  "path": "src/dashboardConfig.js"
  1. Create the file src/dashboardConfig.js and inlcude the netlify widget config like this:
export default {
  widgets: [
      name: 'netlify',
      options: {
        title: 'My Netlify deploys',
        sites: [
            title: 'Sanity Studio',
            apiId: 'xxxxx-yyyy-zzzz-xxxx-yyyyyyyy',
            buildHookId: 'xxxyyyxxxyyyyxxxyyy',
            name: 'sanity-gatsby-blog-20-studio',
            title: 'Website',
            apiId: 'yyyyy-xxxxx-zzzz-xxxx-yyyyyyyy',
            buildHookId: 'yyyyxxxxxyyyxxdxxx',
            name: 'sanity-gatsby-blog-20-web',
            url: '',

Widget options

title - Override the widget default title

sites[] - Your Netlify sites to show deploys for

  • apiId- The Netfliy API ID of your site (see Site Settings > General > Site Details > Site Information -> API ID).
  • buildHookId - The id of a build hook you have created for your site within the Netlify administration panel (see Site Settings > Build & Deploy > Continuous Deployment -> Build Hooks).
  • name - The Netlify site name
  • title - Override the site name with a custom title
  • url - Optionally override site deployment url. By default it is inferred to be
  • branch - Optionally pass the name of a branch to deploy

Developing on this module

To simulate using your development version as a real module inside a studio, you can do the following:

  • Run npm install && npm link from the root of this repository.
  • Run npm run watch to start developing and build the module when changes are made.

Displaying your development version inside a studio

With the mono-repo's test-studio:

  • Bootstrap the monorepo: npm run bootstrap
  • Add sanity-plugin-dashboard-widget-netlify with the current version number to package.json in the test-studio root folder (but don't run npm install afterwards)
  • Run npm link sanity-plugin-dashboard-widget-netlify inside the mono-repo's root.
  • Restart the test-studio

With a regular Sanity Studio:

  • Run npm install
  • Add sanity-plugin-dashboard-widget-netlify with the current version number to package.json.
  • Run npm link sanity-plugin-dashboard-widget-netlify
  • Start the studio

When you are done and have published your new version, you can run npm unlink inside this repo, and npm unlink sanity-plugin-dashboard-widget-netlify inside the mono-repo or studio to get back to the normal state. Then run npm run bootstrap for the mono-repo or npm install inside the regular studio to use the published version.

Developing plugin kit

Release new version

Run "CI & Release" workflow. Make sure to select the main (or v3) branch and check "Release new version".

Semantic release will only release on configured branches, so it is safe to run release on any branch.

Studio Version

This plugin is available for Studio v3 and Studio v2.What are studio versions and which do I choose?


Categorized in

Other plugins by authors

Content Graph View
- has 10 likes

Official(made by Sanity team)
v3 Ready

A tool for Sanity Studio to graph your content and see changes in real-time.

Go to Content Graph View

Asset source for Unsplash
- has 15 likes

Official(made by Sanity team)
v3 Ready

Search photos on Unsplash and insert them directly inside of your Sanity Studio.

Go to Asset source for Unsplash

Mux input
- has 6 likes

v3 Ready

Upload videos to Mux directly from the studio.

Go to Mux input