Create an article

How to create a long-form article draft in WriteStack (with the Coach or an AI agent over MCP), which newsletters it can go to, the Markdown formatting it supports, images and the planned date.

An article is a long-form draft that WriteStack stores for one of your Substack newsletters. You create one by asking the Coach to write a post, or from an AI agent connected over MCP. It stays in WriteStack until you push it to Substack as a draft.

Before you start

  • A connected Substack account. Articles go to the newsletters linked to your Substack profile. If none is found, the Coach shows "Connect a publication to save this post." See Connect Substack.
  • The newsletter must be enabled for Articles. Every newsletter on your Substack profile is enabled unless you hid it from Articles. An AI agent can only create, push or schedule on enabled newsletters.

With the Coach

Ask the Coach to write a post, for example: "Write a post about why I moved my newsletter to weekly." It writes the draft as a Post card and saves it as an article automatically. You can edit it, pick the newsletter, and ask the Coach to push it to Substack.

The full flow is on How the Coach writes articles.

With an AI agent (MCP)

An agent connected to WriteStack over MCP (Claude, ChatGPT, Claude Code and others) can create articles. See Build with WriteStack.

  1. The agent calls list_article_newsletters and asks you which newsletter to use.
  2. It calls create_article with a title or topic, an optional subtitle, a Markdown body, optional image URLs and an optional planned date.
  3. The article is saved in WriteStack only. Nothing is sent to Substack until it is pushed.

If you give no title or topic, the article is called "Untitled article".

Formatting

Article bodies are GitHub-flavored Markdown. These formats are supported and synced to Substack:

FormatMarkdown
Headings# to ######
Bold, italic, strikethrough**bold**, *italic*, ~~strike~~
Inline code`code`
Links[text](https://...)
Images![alt](https://...)
Bullet and numbered lists- and 1.
Blockquote> quote
Pullquote:::pullquote ... :::
Callout:::callout ... :::
Paywalla line with only :::paywall:::

Everything after the :::paywall::: line is behind the Substack paywall: only paid subscribers see it.

Voice and video embeds are not supported.

Images

  • Images in the Markdown body are fetched and stored by WriteStack.
  • An agent can also pass up to 20 image URLs. Each one is fetched, stored, and added to the end of the body.
  • Use full https:// URLs. URLs that are invalid or can't be reached are skipped, and the agent is told which ones.
  • For an image with no public link, like a file on your computer or a private Google Drive file, the agent can upload it with create_article_image_upload. Nothing has to be made public. This needs an agent that can send files over HTTP, such as Claude Code, Cowork, or a Claude chat that can run code. Otherwise, give the agent a public image link.
  • Images are uploaded to Substack when the article is pushed.

The Coach's Post draft editor has no image button. To add images to a Coach draft, ask an MCP agent to add them, or add them on Substack after you push.

Planned date

A planned date is the day you plan to publish. It is saved with the article, and agents read it back as plannedForDate. Leave it out for an undated draft.

A planned date does not schedule anything on Substack. To schedule, see Schedule on Substack.

Limits

ItemLimit
Image URLs passed by an agent per call20
Size of an image an agent uploads10 MB
Time to use an upload link15 minutes
Articles returned by list_articles per call20 by default
MCP access (agents)Standard and Enterprise. See plans and limits

If it doesn't work

MessageWhat it means
"Connect a publication to save this post."WriteStack found no Substack newsletter for your account. Connect Substack.
"No newsletters are enabled for Articles."Every newsletter is hidden from Articles.
"That newsletter is not enabled for Articles."The agent picked a newsletter that is hidden or not on your profile. Ask it to list newsletters again.
"Articles are not enabled on this account."Your account doesn't have Articles. Check your plan or contact support.

On this page