Integration

Publish articles to the site you already run

Articles written in Demander go to your own CMS with their headings, FAQ, call to action, cover image and structured data, or to a hosted blog that needs nothing from you. Visits to each published post are tracked back to the persona and message behind it.

Reviewed 2 October 2026

Fig. 01 One message unfolds into a page, an e-mail and a square feed post that carry the same headline, as an article goes out with its nurture e-mail and its promotion post.

Where articles can go

TargetWhat you createHow Demander publishes
Demander-hosted blogNothingPosts under Demander’s public address with an index, sitemap.xml, rss.xml, canonical URLs, JSON-LD and the tracker
WordPress 5.6 or laterAn application password for a user who can publish postsREST API: categories and tags found or created, cover uploaded with alt text, native scheduling; take-down returns the post to draft
WebflowA site token with CMS read and write access, and the blog collection idData API v2 with your field mapping; Demander schedules the publish itself
Ghost 5 or laterA custom integration and its Admin API keyAdmin API from HTML, the call to action as an HTML card, JSON-LD through code injection, native scheduling
HubSpot CMSNothing new: your HubSpot connection with the content scope, plus the blog idCMS v3 blog posts, tags found or created, draft then push live, native scheduling
GitHub (Hugo, Jekyll, Astro, Next.js)A fine-grained token for the one repositoryMarkdown with front matter for your framework, committed to the branch or opened as a pull request
Webhook (any site)An https endpoint and a shared secretSigned JSON with HTML, Markdown, JSON-LD and the post’s metadata

From draft to live post

  1. Drafted from your plan

    Topic ideas come per persona and funnel stage. Drafts use only facts from your product profile and approved claims, and an SEO pass adds an FAQ and JSON-LD. More in blog and landing pages.

  2. Approved through the gate

    Publishing is an action like any other change. It needs autonomy level 3 to run on its own, so on Scale it can, and on Starter and Growth a person approves it. A future publish time is stored and run at that time.

  3. Checked again at publish

    The copy passes the writing rules once more right before it goes out, and nothing is published while management is suspended.

  4. Promoted

    After the first publish Demander schedules organic posts that link to the article and a nurture e-mail that points to it, and awareness campaigns can land on it.

  5. Reversible

    Take-down returns the post to a draft on your site and cancels promotion posts that have not gone out yet.

What a webhook target receives

POST /your-endpoint HTTP/1.1
Content-Type: application/json
X-Demander-Event: blog.published
X-Demander-Delivery: <unique id>
X-Demander-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">

{ "event": "blog.published", "id": "…", "status": "…", "title": "…", "slug": "…",
  "excerpt": "…", "metaDescription": "…", "html": "…", "markdown": "…", "markdownFile": "…",
  "tags": […], "categories": […], "author": "…", "coverImageUrl": "…", "coverAlt": "…",
  "faq": […], "cta": {…}, "jsonLd": {…}, "publishedAt": "…" }

Shortened. Events are blog.published, blog.updated and blog.unpublished. Recompute the HMAC with the shared secret, compare in constant time and reject timestamps older than five minutes. A 2xx answer may return the post’s id and URL on your side.

Tracking what articles do

  1. 01

    One URL per publication

    Each publication stores the target, the external id and the public URL, and updates go to the same item.

  2. 02

    Reads become touches

    The tracker matches page views by that path and by blog UTM links, and records them as blog touches on the account timeline with the article’s persona, stage and message.

  3. 03

    Reads feed scoring and nurture

    An identified account that reads a post gets a signal that counts toward its score and the nurture list it belongs on.

Credentials and safety

No CMS needs an app review. Each workspace connects its own site under Integrations, Blog publishing, and the credentials are stored encrypted like every integration. Every outbound call goes through Demander’s SSRF-guarded client, so a webhook target must be a public https address.

Questions people ask

Can I review the post on my own site before it goes live?

Yes. Save it as a draft on the target first, check it there, then publish from Demander.

Where does the hosted blog live?

At Demander’s public address under /v1/public/blog/, with your blog slug, its own index, sitemap.xml and rss.xml. Its canonical URLs use that address, so moving the posts to your own domain later changes their URLs.

We use a CMS that is not listed. Can we still publish?

Use the webhook target. Your endpoint receives the title, slug, HTML, Markdown with front matter, excerpt, meta description, tags, categories, cover URL, JSON-LD and publish time, signed with your shared secret.

Do we need HubSpot Content Hub for HubSpot CMS?

Your portal needs a blog, which comes with Content Hub or a Marketing Hub tier that includes one. Without it HubSpot refuses the publish.

See the plan for your own product

Enter the website. In about a minute you get the profile, two personas, the messaging, the funnel and three creatives. Keep the rest by signing up.

Free, no card. Demander reads the public pages, then shows your personas, messages, funnel and first creatives. Sign up to keep the full plan.