Integrations

Transport works with any element and field out of the box for self-contained values, and adds dedicated handlers wherever a plugin embeds environment-local element IDs that must be made portable. Handlers are registered only when the host plugin is installed, so Transport never has a hard dependency on another plugin.

Supported plugins & field types

Plugin / capabilityStatusNotes
Craft core
entries, categories, tags, users, assets, addresses, globals
✅ Supported & testedBuilt-in element handlers.
Matrix✅ Supported & testedNested entries serialized recursively.
Relations
entries/assets/categories/tags/users
✅ Supported & testedIDs ↔ UIDs.
Asset files✅ Supported & testedReal file bytes bundled and recreated in the target volume. (Craft re-encodes EXIF-oriented JPEGs on upload, so bytes may differ; image content is preserved.)
Verbb Hyper✅ Supported & testedElement links (entry/category/asset/user/product/variant) made portable.
FreeLink (justinholtweb)✅ Supported & testedReads the relations-backed link target and rewrites it as a UID.
FreeNav (justinholtweb)✅ No handler neededThe field value is a menu handle (already portable). Migrating menu/node definitions is a separate concern, like sections.
Craft Commerce 5
products, variants
✅ Supported & testedProduct type and variants (SKU, base price, dimensions, tax/shipping category, custom fields). Inventory levels, catalog pricing, and orders are out of scope.
Google Maps (doublesecretagency)✅ Supported & testedAddress field; strips environment-specific owner keys and keeps the address data.
SEOMatic (nystudio107)✅ Supported & testedSeoSettings field rewrites SEO/OG/Twitter image asset IDs to portable UIDs and back.
Verbb Navigation✅ Supported & testedNode elements migrate with their element links (→ UIDs), custom URLs, and nested structure; the nav is resolved by handle (it lives in Project Config). The Navigation field needs no handler (stores a nav handle).
Formie (verbb)✅ Supported & testedForm definitions migrate via Formie’s own export/import; submissions migrate with their field values (form resolved by handle, imported first). Submission values that reference elements rely on the relevant field handler.
Solspace Calendar✅ Supported & testedEvents migrate with dates, recurrence rules (freq/interval/byDay/etc.), and author; the calendar is resolved by handle. Canonical events only (not expanded occurrences).
Neo (spicyweb)⚠️ Conditional, experimentalBlock-based handler; not yet exercised against a live Neo install.
Super Table (verbb)⚠️ Conditional, experimentalBlock-based handler; not yet exercised against a live Super Table install.

What “no handler needed” means

If a field’s value is self-contained — text, numbers, dropdowns, dates, money, menu handles — it already migrates correctly through Transport’s generic field handler, which delegates to Craft’s own (de)serialization. Only fields that embed element references need a dedicated handler so those references can be rewritten as UIDs.

Adding your own

Any plugin not listed here can be supported without changing Transport. If a field’s value is self-contained it already works; only fields that embed element references need a custom handler. See the Extending guide to register element and field handlers.

More in Development

Pairs well with Transport

For the developer on the project. Migrations in and between sites, a code editor field, schema docs, content inventories, reports and email testing.