# What migrates, what needs manual work, and how to verify

- **Authors:** Tim Benniks
- **Published:** 2026-06-11T12:23:33.877Z
- **Updated:** 2026-06-11T12:24:20.891Z
- **Tags:** headless, content_modeling, api, taxonomy

---

A real migration is more than content types and entries. This chapter lists what comes across automatically, what needs manual attention, and the checklist to confirm the migration is complete.

## What you'll learn

- The full set of content and configuration that migrates


- The items that require manual work after migration


- A verification checklist for content and code



## What migrates automatically

The content migration covers:

- Content types and fields, including help text, descriptions, default values, and slug handling


- Entries, including references, localized variants, and entry tags


- Assets and media, with re-linking


- Locales and languages, with master-locale detection and fallback


- Taxonomy and terms


- Rich text converted to JSON RTE, with embedded entries and assets preserved as references


- Environments mapped to branches


- Webhooks


- Roles and permissions, mapped to built-in or custom Contentstack roles


- Marketplace apps and extensions, including DAM apps such as Cloudinary and Bynder


- Delivery and preview token provisioning, with Live Preview and Personalize enabled



## What needs manual work

A few items cannot migrate cleanly, mostly because the source redacts or omits them:

- Webhook secret values are redacted in Contentful exports and cannot be read back. Re-enter them in Contentstack by hand.


- Publish rules require reconstruction through the Contentstack Management API, because they are not represented in Contentful exports.


- Users, memberships, and single sign-on configuration require re-invitation and setup.


- Releases and scheduled actions must be recreated and rescheduled.


- Global fields are an optional content-modeling refactor, not required for a one-to-one migration.



## Verification checklist

Confirm the content migration before moving on:

- Imported counts for locales, content types, assets, and entries match the exported counts.


- A sample entry resolves its references and renders its rich text.


- Localized entries and fallback behavior match the source.


- Assets carry the dimensions and types your components expect.



Then confirm the code migration:

- The app builds, and the migration check suite passes.


- The homepage and listing pages render published content from Contentstack.


- Reference-heavy and rich-text pages render correctly.


- Live Preview reads draft content where the app supports it.


- Every TODO(migration) comment has been reviewed.



## Key takeaways

- Most content and configuration migrates automatically, including environments, roles, and DAM apps.


- Webhook secrets, publish rules, users and SSO, and releases need manual work.


- Verify that imported counts match exported counts before trusting the migration.


- Confirm published delivery, references, rich text, and Live Preview in the migrated app.






---

## Frequently asked questions

### What content and configuration migrates automatically?

Content types and fields, entries (including references, localization, and tags), assets, locales, taxonomy, webhooks, roles/permissions, apps/extensions, and token provisioning migrate automatically.

### How is rich text handled during migration?

Rich text is converted to JSON RTE, and embedded entries/assets are preserved as references.

### Which items require manual work after migration?

Webhook secret values must be re-entered, publish rules must be rebuilt via the Contentstack Management API, users/SSO must be reconfigured, and releases/scheduled actions must be recreated.

### What should be verified before trusting the migrated content?

Match exported vs imported counts for locales, content types, assets, and entries; validate reference resolution, rich text rendering, localization fallback behavior, and asset metadata (dimensions/types).

### What should be checked in the migrated codebase?

Ensure the app builds and checks pass, key pages render published content, reference-heavy and rich-text pages render correctly, Live Preview reads drafts where supported, and all TODO(migration) items are reviewed.



---

## Chapter Navigation

**← Previous:** [Migrating your application code](https://developers.contentstack.com/guides/migrating-from-contentful-to-contentstack-in-depth/migrating-your-application-code)

**Next →:** [Troubleshooting and next steps](https://developers.contentstack.com/guides/migrating-from-contentful-to-contentstack-in-depth/troubleshooting-and-next-steps)
