Skip to content

sanity-io/netlify-form-sanity

master
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

How to use Netlify Forms and Functions to submit data to Sanity.io

This is a simple example of how you can use Forms and Functions in Netlify to submit data to your Sanity.io project.

Demonstration of Netlify form via Functions to Sanity Studio

How to use

  1. Fork or clone this repo
  2. Run yarn or npm install
  3. Change the projectId and the dataset configuration in /lambda/submission-created.js to your Sanity.io project`s
  4. Commit and push the changes to your GitHub repo
  5. Connect Netlify to that repo, and add a environment variable in Netlify called SANITY_TOKEN
  6. Go to your Settings -> API in your project at manage.sanity.io, and add a token with write rights.
  7. Paste this token as the value for SANITY_TOKEN (be careful with where you store this token!)
  8. Submissions will be stored with _id on a path: "submission.<uuid>", and will not be available through the public API without a token with read rights.
  9. If you want to view the submissions in the Studio, you can add the following schema to your project:
/*
 * Doesn't cover all the data fields.
 * Remove or set readOnly to `false` if you want to be able
 * to edit the responses in the Studio
 */

export default {
  name: 'submission.form',
  type: 'document',
  title: 'Form submission',
  readOnly: true,
  fields: [
    {
      name: 'title',
      type: 'string',
      title: 'Title'
    },
    {
      name: 'number',
      type: 'number',
      title: 'Number'
    },
    {
      name: 'created_at',
      type: 'datetime',
      title: 'Created at'
    },
    {
      name: 'data',
      type: 'object',
      title: 'Data',
      fields: [
        {
          name: 'email',
          type: 'email',
          title: 'Email'
        },
        {
          name: 'name',
          type: 'string',
          title: 'Name'
        },
        {
          name: 'message',
          type: 'text',
          title: 'Message'
        },
        {
          name: 'role',
          type: 'array',
          title: 'Role',
          of: [{ type: 'string' }]
        }
      ]
    }
  ]
}

About

How to use Netlify Forms and Functions to submit data to Sanity.io

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published