content/guides/11.integrations/6.framer/0.index.md
The Directus Framer plugin connects a Framer CMS collection to a Directus collection, letting you pull content into Framer or push edits back to Directus without leaving your project.
::callout{icon="heroicons-outline:rocket-launch"} Quick Start
You will need:
To generate an API token in Directus, open Settings, go to Users, select or create a user, scroll to Token, click Generate Token, and save.
The plugin runs inside Framer as a panel. You install it once per project and use it for each collection you want to connect to Directus.
Each Framer CMS collection has its own saved Directus connection and field mapping. To connect a second collection, open that collection in Framer, open the plugin again, and configure it separately. The plugin stores each collection's config independently.
Only regular (user-created) CMS collections are supported.
To change the field mapping after your first sync, click Reconfigure on the sync screen. The Back button is only available before you have run a sync.
Every Framer CMS collection requires one field as the slug - a unique, URL-safe identifier for each item (for example, my-article-title). During field mapping, mark one Directus field as the slug. If none of your Directus fields work as a slug, the plugin can generate one automatically from the item ID.
The slug is used to match items between Framer and Directus on every subsequent sync. Changing the slug field after your first sync will cause items to be treated as new rather than updated.
When syncing from Directus to Framer, each Directus field is mapped to a Framer field type. The plugin infers a sensible default:
| Directus type | Default Framer type |
|---|---|
| Text, string, UUID, JSON | String |
| Integer, float, decimal | Number |
| Boolean | Boolean |
| Date, datetime, timestamp | Date |
| Image / file relation | Image |
| Rich text (HTML) | Formatted text |
| Color | Color |
| Many-to-one relation | Collection reference (see below) |
You can change any inferred type in the mapping screen before clicking Configure Collection.
A collection reference field links an item in your current collection to an item in a different Framer collection (for example, an article linked to its author). These are created from Directus many-to-one (m2o) relation fields.
Collection reference rows appear unchecked by default. To enable one:
Both fields must be set before you can click Configure Collection.
The plugin fetches items from the Directus collection, converts them to Framer items, and adds or updates them in your Framer collection. Existing items with a matching ID are updated; new items are added. The sync does not wipe the collection - it only adds or updates.
Framer enforces one item per slug. If Directus has duplicate slugs, the plugin keeps the first item and skips the rest. The plugin reports how many items were skipped. Use unique slugs in Directus to avoid this, or sync into a new empty Framer collection for a clean start.
The plugin reads your Framer items, maps them to Directus fields, and creates or updates items in Directus by slug. You can edit item content in Framer and then run Sync to Directus to push those changes.
A conflict occurs when the same item has been updated in both Framer and Directus since the last sync. The plugin detects conflicts in both sync directions.