Webflow, WordPress, HubSpot CMS and the rest
Every CMS speaks a different dialect of "draft" and "publish", so Viewfield keeps one record per CMS of what it can do there and with what evidence. The same rules hold everywhere (Publishing): your own hosts only, a draft first, a person's press to publish, never over a newer edit, nothing deleted. What differs is below.
Works with Webflow; Payload tested against Viewfield's own live Payload 3.90.2; HubSpot CMS opening now; more on request.Webflow's drafts and publishing are open to every workspace, and Payload's (see Payload). Every other CMS on this page is described as it works, and opens for drafts once it has been tested the same way; until then it connects for reading (its pages feed AI visibility, and a piece or a page change is ready to copy into it by hand), and the connection says "Sending drafts to (the CMS) is not open for your workspace yet." The connect form always says what a connection does in your workspace today.
Webflow
- Connect: sign in with Webflow and choose which sites Viewfield may use (a site admin approves it), or paste a site token (Site settings › Apps & integrations › API access, with read and write access to Pages and CMS, read access to Sites, and read and write access to Assets for images).
- A draft is a new item in the blog collection you map, saved as a Webflow draft beside the live site, so publishing the site from Webflow does not ship it.
- Publish releases that one item, never the whole site.
- Images: the post's featured image is uploaded to the site's assets once and fills the image field you map. Webflow sign-in asks for that permission; a site token needs read and write access to Assets as well.
- Handed off: static page bodies and new static pages (the Webflow Designer); publishing the whole site.
- The draft path was proven on a real Webflow site on October 5, 2026, and image uploads on October 19, 2026.
WordPress
- Connect: open your WordPress site from Viewfield and approve it there (WordPress shows a password made for Viewfield; paste it with your username or email), or sign in with WordPress.com for sites hosted there or connected through Jetpack. You never share your login password.
- A draft is a WordPress draft; a change to a live post is an autosave revision your editor offers to restore, so the live post stays live until you publish.
- Publish releases that one post or page, after checking it still holds what Viewfield saved.
- Images go to the media library once.
- Handed off: page builders (Elementor, Divi) and SEO plugin fields (Yoast and Rank Math keep the meta description read only over the API). Categories and tags are sent only when they already exist; Viewfield never creates one. A Contributor account can save drafts but not publish or upload images.
HubSpot CMS
- Connect: sign in with HubSpot and approve access to your website content and files (separate from any CRM connection), or paste a private app token a super admin makes under Development › Legacy apps › Create legacy app › Private, with the content scope and files for images.
- A draft is HubSpot's own draft of the post, or a new draft page from a template you choose with its rich text module filled.
- Publish pushes that one draft live. It never sends email or enrolls contacts.
- Images go to the file manager once; an uploaded image is public at its file address before the post goes live.
- Handed off: pages with experiments, personalization or modules Viewfield does not map.
GitHub
- Connect: install the Viewfield GitHub App on the repositories you choose, or paste a fine-grained token on your website's repository with Contents and Pull requests read and write. Viewfield finds the repository, its default branch and where your blog lives.
- A draft is a new Markdown or MDX file in the content folder your site already uses, on its own branch, with a draft pull request; your checks and preview deploy run there.
- Publish is your team's merge; Viewfield follows the merge and counts the post once your production deployment serves it. Merging from Viewfield exists behind an operator switch and is off by default.
- Images are committed with the post, where your site keeps them.
- Not supported: GitHub Enterprise Server.
Contentful
- Connect: a management token (Settings › CMA tokens); signing in with Contentful is not available yet. Contentful requires an expiry date, so pick a long one; the connection stops when it passes. A dedicated user keeps the connection from depending on one person. Viewfield finds the space.
- A draft is an unpublished entry of the post type you map, with an id Viewfield derives from the publication.
- Publish releases that one entry at the version you reviewed, with Contentful's own version check so a newer edit is never overwritten. Linked entries are listed, never published for you.
- An entry is not a web page: the public URL comes from the rule you set and is checked after publishing.
Sanity
- Connect: a robot token with the Editor role (sanity.io/manage › your project › Settings › API › Tokens). Viewfield asks for the project id only if the token cannot look it up.
- A draft is a draft document of the type you map, in Portable Text, beside the published one.
- Publish releases that one document, never a whole release, with a revision check that refuses a draft someone else is editing.
- Validation that lives only in your Studio is not run by Viewfield; publish in Studio when a type needs it.
Framer
- Connect: an API key from the project's Site Settings › General, with the project's URL.
- A draft is a new item in a CMS collection you own (collections a plugin manages are not writable), added as a draft so no publish of the project ships it.
- Publish happens from Viewfield only when the project's unpublished changes are this item alone; otherwise you publish in Framer. Canvas pages are not part of this.
Directus
- Connect: a token for a user whose policy allows create, read and update on your blog collection and on
directus_versions, and create and read ondirectus_files, with your Directus address. - A draft is a content version, not the live item (Directus 12.0 or later for a new item).
- Publish promotes that one version, compared first so a newer edit is never overwritten. A site that shows items by its own status field needs that field mapped before a publish counts as live.
BaseHub
- Connect: an Admin token from your repository's Connect to Your App tab (a read token cannot write).
- A draft is a new instance in the collection you map, left uncommitted.
- Publish stays in BaseHub: a commit releases every pending change in the repository, not only this one, so you review and commit there and press I published it in BaseHub.
Google Drive and Docs
Not a CMS, and nothing is published through it: the Google connection serves the editor's two export rows, Open as Google Doc and Save to Google Drive as Word (.docx). It sees only the files it creates. See Export.