Schema-backed destination
WordPress, WordPress.com, Sanity, Ghost and Custom API. Weelkit discovers the remote schema and publishes into it.
API webhook destination
No remote schema. Weelkit signs and delivers the persisted article version to your endpoint.
No destination
The same organization contract, with no external dispatch.
Providers
Connect a CMS in Organization settings → CMS: WordPress (self-hosted, with the Weelkit Plugin), WordPress.com, Sanity, Ghost or a Custom API. Managing Editors open the CMS connection from Organization settings → Integration. The API webhook is set up in Organization settings → Integrations → API Webhook for Admins. A connection to a provider Weelkit no longer offers shows Provider unavailable; you can only disconnect it, and the content it published stays where it is.Mode A: schema-backed destination
Use this mode when the destination exposes a content schema Weelkit can discover: WordPress, WordPress.com, Sanity, Ghost, or a Custom API that implements the Weelkit custom publishing protocol. Setup runs in a fixed order. Nothing is sent before an administrator has saved the mapping that defines what Weelkit writes.1
Connect
In Organization settings → CMS, choose Connect CMS and the provider. Then authenticate: the Weelkit Plugin token for WordPress, sign-in with WordPress.com, the API token for Sanity, the Admin API key for Ghost, or the API key for a Custom API.
2
Choose the destination
Pick what Weelkit publishes into: the site (WordPress.com), and the post, document or content type.
3
Review the field mapping
Weelkit discovers the destination’s fields and suggests how Weelkit’s article fields and your organization’s custom fields map onto them. Review and adjust every suggestion, then choose Save mapping. Only the saved mapping, never the raw discovery, decides what Weelkit generates and sends.
4
Choose publishing defaults
Set the Default status (Draft or Published) and what happens When the article already exists: Ask before updating, Always update existing or Always create a new item. Changing the mapping or the defaults means verifying again.
5
Verify a test draft
Choose Verify test draft. Weelkit uses the saved mapping to publish a draft and read it back, and shows the result field by field. You can inspect the draft in your CMS, or choose Delete draft.
6
Send articles
The connection is ready. In the editor, the CMS button sends the current article with the saved default: Send draft to CMS or Publish to CMS. See Send to your CMS.
Defaults and choices
In the mapping, use Default value to set a value of the field’s actual type. Numbers, booleans, arrays and objects keep their types;0 and false are valid defaults. Clear default value returns the field to No default. In a JSON editor, text includes quotes: "3" is text and 3 is a number.
Choose Value list for a schema-declared list. Its members must match the CMS field: text, numbers, integers, booleans or the declared combination. An empty list stays []; the CMS decides whether it is valid. Custom API lists contain text only.
A required value can be empty only when its declared minimum allows it. This includes intentional empty alternative text for a decorative image. Missing required values still block sending.
For a custom choice field, Allowed options (JSON) uses text values, for example [{"label":"News","value":"news"}]. The label is optional. Defaults and choices must fit every selected CMS field’s constraints. Invalid JSON or incompatible values prevent the mapping from being saved.
Mappings keep exact field paths, including letter case. WordPress refuses a send when its storage cannot keep the selected keys distinct.
If a numeric input says Weelkit cannot preserve this number exactly., the value is not saved. Correct it only if another value is acceptable, or change the destination field to text when the exact digits must be kept. Weelkit does not round it for you.
If the same error appears after Saved or Mapping saved., the save remains accepted. Further edits and CMS sends wait for a safe read; use Retry when the mapping offers it.
Choice labels gain (text), (number), (boolean) or (null) when identical labels would hide different value types. Distinct CMS labels stay unchanged.
AI cannot preserve an object key named __proto__. It stops and asks you to set the value manually in the article editor’s JSON field; it does not save an object with that key missing.
After you send
An article’s status in Weelkit follows the CMS. You publish, schedule or unpublish in your CMS, and Weelkit picks up the change:
Archived is a Weelkit-only status: the CMS never changes it, and a restored article takes its status from the CMS again.
Weelkit checks an article’s status when someone opens it, and keeps checking in the background: every few minutes right after a send, then less often as the article gets older, down to once a day for published articles. A scheduled post is checked again when it’s due to go live. There’s no button to refresh the status.
When an article is live, Weelkit records its public address. Edit, preview and admin links are never used as the address. Your sitemap (Organization settings → Organization → Public Website Index) confirms the address, and gives it for Sanity and Custom API items that don’t report one.
Reconnect or disconnect
When a CMS connection needs fresh authorization, choose Reconnect. Reauthorizing the same destination preserves its saved mapping and published links. Choose Test connection to check a key that was changed in the CMS. Disconnect removes the local credentials and setup; it does not delete posts in your CMS. Resolve any pending or unconfirmed send or test-draft cleanup before disconnecting. A different site, dataset or destination needs its own connection and mapping review.Mode B: API webhook destination
Use this mode when you want the article delivered to your own system without a remote schema. There is nothing to discover: the contract is the canonical Weelkit article fields plus your organization’s active custom fields.1
Generate
Weelkit generates the article against the organization contract.
2
Validate
The output is validated against the contract before anything is stored.
3
Persist the article version
The validated article is persisted as an immutable article version.
4
Signed delivery
Weelkit delivers the authoritative persisted version — not a re-rendering — to your endpoint with an HMAC signature. See Webhook payload.
5
Typed receipt
Your response is interpreted under strict, typed receipt semantics. See Receipts and retries.
Mode C: no destination
Articles are generated and persisted against the same organization contract as mode B — canonical fields plus active organization custom fields — but Weelkit performs no external dispatch. Use this mode when Weelkit is the system of record, or before you have decided on a destination.Where to go next
Organization article fields
Extend the canonical article contract with your own governed fields.
Testing integrations
Verify a destination safely before real content flows through it.
Set up an API webhook
Deliver signed article versions to your own endpoint.
Custom API protocol
Make your own API a first-class schema-backed destination.