Install

Connect your site so Toutmark's agents can ship paragraph rewrites, schema, and llms.txt as queued drafts. Read access only — nothing publishes without you.

WordPress

Two paths — both are offered during signup and again under Settings → Connected platforms on your dashboard:

  1. Toutmark plugin (recommended). In WordPress, go to Plugins → Add New, search “Toutmark AI Citation”, install + activate, then paste your customer key into the plugin's settings page and click Connect to Toutmark. Your key is on your dashboard under Settings → Connected platforms → WordPress, with a link that opens the plugin's settings with it already filled in. Keep it private: it is what lets a WordPress site connect to your account, and you can make a new one there at any time.
  2. Application password. Generate one in Users → Profile → Application Passwords (name it Toutmark) and paste the username + password into the connect panel. We verify it instantly against your site.
Required role. The user whose Application Password you pasted must have at least the Editor role. Author won't work — it can't update post meta.

Shopify

Coming soon. Shopify reviews every app before a store can install it, and ours has not been through that yet — so a Shopify store cannot connect to Toutmark today.

What happens meanwhile: pick Shopify at signup and save your your-store.myshopify.com address. Every page and post is still written for you and still waits for your approval; each one arrives in your dashboard built complete, with the steps to put it up in your Shopify admin. The day Shopify approves the app we email you, and you connect from Settings → Connected platforms — you approve the install in your Shopify Admin (read/write on content and products) and publishing becomes automatic from then on.

Webflow

Two paths: the one-click Webflow OAuth connection (from Settings → Connected platforms), or paste a site API token + Site ID during signup. Either way we publish into a CMS collection — the signup step can create the “Toutmark Pages” collection for you; you then bind its Body field to a template page in the Designer once so new pages match your site.

Wix

Wix connects with an API key — blog publishing is fully automatic.

  1. Open the Wix API Keys Manager (account owner/co-owner), click Generate API Key, name it Toutmark, and grant it Blog permissions. Copy the key and the Account ID shown on the same page.
  2. Paste both into the connect panel (signup, or Settings → Connected platforms). We auto-detect your site — if your account has several, you pick one right there.

Approved blog posts and content refinements publish automatically as normal Wix blog posts (add the free Wix Blog app to your site if it isn't on yet). One honest note: Wix doesn't let apps create editor pages, so page-type items (FAQ, comparisons, at-a-glance) publish to your blog as well.

Notion

For sites published with Notion (notion.site), we publish straight into your blog database.

  1. Create an internal integration at notion.so/profile/integrations — under Capabilities, enable Read, Insert, and Update content (all three are needed to publish and refine posts) — then copy its secret.
  2. In Notion, open your blog database → ••• → Connections → add the integration (that's Notion's way of granting access).
  3. Paste the secret into the connect panel. We find the shared database automatically — several shared databases and you pick one in Settings.

Approved posts appear as pages in that database and render on your published site like anything your team writes.

Duda

Duda connects with API credentials (available on Duda's Custom/agency plans — our agency customers usually have this).

  1. In your Duda dashboard, open Settings → API and copy the API username + password.
  2. Paste them plus your site name (the short identifier in the site's dashboard URL) into the connect panel.

Approved blog posts publish automatically through Duda's Blog API — if the site has no blog yet we create one for you (no sample posts). On Duda plans without API access, everything runs in draft-and-publish mode instead.

Ghost

We use the Ghost Admin API. In Ghost Admin open Settings → Advanced → Integrations → Add custom integration, name it Toutmark, and copy the Admin API key (it looks like id:secret) into the connect panel — during signup, or later under Settings → Connected platforms. We verify the key against your site instantly (custom-domain Ghost(Pro) sites are handled automatically). Blog posts publish as real Ghost posts, FAQ/comparison/at-a-glance pages as Ghost pages, and schema ships via Ghost's per-post code injection. Revoke anytime by deleting the integration.

Sanity

Paste three things into the connect panel (signup or Settings → Connected platforms): your project ID, dataset (usually production), and an API token with Editor permissions from sanity.io/manage → your project → API → Tokens. Pasting your project URL works too — we extract the ID. We verify write access with a dry-run (nothing is created), auto-detect your post/page document types and field names, and publish approved content into your existing content model — your front end renders it like any other document. If your dataset has no blog structure yet, we flag it on your dashboard with next steps.

Contentful

One click: hit Connect Contentful on your dashboard right after signup, approve access in Contentful, and you're back — no API token to copy (pasting a CMA personal access token also works). If your account has several spaces you pick one right there. We auto-detect your blog-post/page content types and publish approved entries into them; if your space has no suitable type we create a “Toutmark Post” type so publishing works from day one — your developers wire it into the front end like any other type.

Squarespace

Squarespace has no general content-publishing API, so it runs in draft-and-publish mode: every page, post, paragraph refinement, schema block, and llms.txt file is prepared and approved in your Toutmark dashboard, then you paste it in the Squarespace editor (Code Injection for schema). Monitoring, audits, and citation reports work exactly the same.

Custom HTML

If you ship to a static host (Cloudflare Pages, Netlify, Vercel, GitHub Pages), you have two paths:

Headless / JAMstack

Sanity and Contentful are fully integrated — see their sections above: you approve every item in your Toutmark queue first, and approved content publishes straight into your content model. Other headless CMSs (Strapi, Storyblok, Prismic, …) run in draft-and-publish mode for now — approved content is prepared in your dashboard and your team pastes it into the CMS.

The approval queue

Every change Toutmark wants to ship — a paragraph rewrite, a JSON-LD update, a new FAQ block, a press pitch — lands in your queue at /app/approval-queue. You can:

Bulk approval is available on the queue page and inside the weekly digest email — a single magic-link button approves everything pending. You can also enable per-feature auto-approve under Settings → Approval.

Regulated mode

If you toggled regulated mode at signup (or your industry forced it), every draft routes through the Compliance Queue at /app/compliance-queue. Per-item compliance review is required before a draft can be approved. SEC, FINRA, HIPAA, and state-bar phrasing rules apply automatically — drafts that fail are flagged with the specific rule before they reach you.

Revert & rollback

Every change Toutmark ships is snapshotted. From /app/changes you can:

Reverts execute via the same connector that shipped the original change. They take 30–90 seconds.