Guide

How to connect Specter to your Webflow site

By Axel Antas-Bergkvist Published June 10, 2026

Desktop & open-source edition. Prefer to work in your browser? Open this in the Spectersync webapp →subscribe now for 500 free credits when your workspace opens.

You want to edit your Webflow CMS the way you edit any folder of files — open it in Obsidian, hand it to Claude, run a script across every blog post or case study — and have those edits land back on the live site. Before any of that happens, Specter has to be connected. This guide walks the exact OAuth flow, what happens at each step, and what to do when you have more than one Webflow site.

What “connecting” actually means on Webflow

Webflow OAuth is account-level, not site-level. You authorize Specter once against your Webflow account, and during that approval screen you pick which sites Specter is allowed to read and write. There’s no site handle to type and no Designer secret to paste. The whole flow runs through Webflow’s hosted approval screen.

When you connect, Webflow hands Specter an access token scoped to sites:read cms:read cms:write — exactly the surface Specter needs to read your CMS and push edits back. Everything else (the Designer, components, interactions, custom code, forms, Memberships, Webflow Ecommerce) stays invisible to the app. The full breakdown of what those scopes do is in the What Specter sees section at the bottom of this guide.

The connection flow, step by step

1. Start the flow from the setup page

Go to the Webflow setup page and click Connect Webflow site. The button hits a server-side OAuth start endpoint that mints a short-lived state token and redirects you to Webflow’s authorization screen. No tokens travel through your browser URL.

2. Approve Specter in Webflow

You’ll land on Webflow’s standard authorization screen. This is Webflow’s own page, not Specter’s. You’ll see:

  • The app name (Specter) and developer
  • The exact scopes being requested: sites:read, cms:read, and cms:write
  • A list of your Webflow sites and a way to pick which ones Specter can access

Pick the sites you actually want to sync — you can always add more later by re-running the flow. Hit Authorize app. Webflow mints the access token at this moment and redirects you back to the Specter site.

3. Specter opens on your Mac

The redirect lands on a small page that hands the install off to the Specter app via a custom URL scheme (specter://oauth/complete?provider=webflow&code=...). macOS asks once whether to open Specter; allow it. Specter takes over, exchanges the short-lived code for the real access token over HTTPS, and stores the token in the macOS Keychain — not in a config file, not on our servers, not in your browser URL bar.

If Specter isn’t installed yet, this is the point where things stall. Install Specter from the Mac App Store (or build the open-source version from GitHub), then re-run the connection from the setup page.

4. Pick collections and a sync folder

Once the handshake completes, Specter lists the sites you authorized and the CMS collections inside each one. Pick which collections to sync — typically the editorial ones (Blog posts, Case studies, Guides, Authors) rather than every utility collection. Each collection item becomes a single .md file with frontmatter holding the item name, slug, draft/published state, reference fields, and the SEO fields the collection exposes. From here you’re in normal-folder territory — edit in any tool, preview the diff, push back.

Reauthorizing (when the handshake breaks)

If the connection ever ends up in a weird state — token revoked, scopes changed, a site moved between Workspaces — the fix is the same: revoke and reauthorize.

  1. In your Webflow dashboard, go to Workspace → Apps & integrations → Authorized apps, find Specter, and click Revoke. That immediately invalidates the access token on Webflow’s side.
  2. In Specter on your Mac, remove the connection from the connected-sites list.
  3. Run the flow again from the setup page.

This is also what to do if you ever suspect a token has been exposed. Webflow’s tokens are long-lived and non-expiring — revoke and reauthorize is the rotation.

If the handshake fails partway through (Specter doesn’t open, the browser stalls on the redirect, or you see an error after approving in Webflow), the connection-failed troubleshooting guide walks the common causes.

Connecting multiple sites and Workspaces

A single Webflow account can own a flagship site, a marketing micro-site, and a help center — and Specter handles all three from one connection. During the approval screen, just authorize every site you want to sync.

For sites that live in different Workspaces, you’ll need to run the OAuth flow once per Workspace, since Webflow’s authorization screen is Workspace-scoped. Each Workspace becomes its own connection in Specter, with its own access token in the Keychain and its own sync folder.

Don’t try to sync two sites into the same folder. Item slugs can collide across collections from different sites, and the diff preview gets noisy fast. One site per folder is the rule.

What you’ve actually given Specter

It’s worth being explicit, because Webflow’s approval screen flashes past quickly. You’ve given Specter:

  • Read access to the list of sites in your Workspace (sites:read)
  • Read and write access to the CMS — collections and items — on the sites you authorized (cms:read, cms:write)
  • An access token that lives in your Mac’s Keychain

You have not given Specter access to the Designer, page structure, components, interactions, custom code, forms, Memberships, Webflow Ecommerce orders / products / inventory, or any other surface of Webflow. That’s not policy on our side — it’s enforced by Webflow, because those scopes were never requested.

Once you’re connected, the rest of the Specter workflow on Webflow — bulk SEO sweeps, meta description passes, CTA inserts across every blog post — runs the same way it does on any folder of markdown.