Skip to main content

What You’ll Need

Before starting your migration, make sure you have:

1. Webflow Access

  • CMS Collections - At least one collection with content to migrate
  • Export permissions - Ability to export collections as CSV files
  • Admin or Editor role - Required to access CMS export features

2. Sanity Project

You need an active Sanity project with at least one dataset.
  • Project ID
  • Dataset name (e.g., production or staging)
  • Schema deployed to that dataset (required for v1)
See the Connect step for how to grab these in sanity.io/manage.

3. Sanity API Token

You’ll need an API token with write permissions:
  • Sanity Free: Editor
  • Growth/Enterprise: Editor or Developer (both read/write)
Create and copy your token from API → Add API token in sanity.io/manage. Detailed steps live in the Connect guide.
Important: Use a permission with read/write access (Editor or Developer). Viewer is read-only and cannot import content.

4. ContentWrap Account

Sign up for a free ContentWrap account to access MigrateKit:

Sign Up

Create your ContentWrap account
ContentWrap is the platform that powers MigrateKit. Your account gives you access to migration tools and, optionally, white-glove migration services.

5. Add Your Sanity Project in ContentWrap

In ContentWrap, open the Projects tab and add:
  • Project ID (copied from Sanity project header)
  • Dataset (e.g., production, staging, or development)
  • API Token (Editor or Developer)
Make sure the dataset already exists in Sanity (SettingsDatasets) and your schema is deployed to that dataset.
You can add multiple projects in ContentWrap. Select the project/dataset you want active during migration.

Test Dataset

For your first migration, use a Sanity development or staging dataset instead of production:
  • Test the migration workflow without risk
  • Refine field mappings and see results
  • Delete and retry if needed
  • Move to production once confident

CSV Editor

While not required, a good CSV editor helps you review exports:
  • Google Sheets - Free, handles UTF-8 well
  • LibreOffice Calc - Free, better than Excel for CSVs
  • VS Code - View raw CSV structure
Avoid Microsoft Excel - It auto-formats dates and can corrupt CSV data. If you must use Excel, import CSVs as text to prevent formatting issues.

Understanding Webflow Collection Structure

Familiarize yourself with your Webflow CMS collections:
ElementDescriptionExample
CollectionA content type in WebflowBlog Posts, Authors, Products
ItemA single piece of contentOne blog post, one author
FieldA property of an itemTitle, Body, Image, Date
ReferenceLink to another collectionPost → Author relationship
Reference fields are not currently supported in ContentWrap. You’ll need to recreate relationships in Sanity after migration. Multi-collection support with reference resolution is on the roadmap.

Ready to Start?

Once you have everything above, you’re ready to begin:

Need Help Getting Set Up?

No problem! Follow Sanity’s Getting Started guide to create your first project. It takes about 5 minutes.
If your Sanity project is new, use the production dataset. If you already have content in production, create a staging or development dataset for testing migrations.
Not in v1. Your schema must already be deployed to the target dataset so ContentWrap can read it during mapping and import.
Sanity API tokens don’t expire by default. If you revoke a token, create a new one with the same permissions and update it in ContentWrap.