# Schedule Substack posts from Markdown drafts

> The Substack editor does not read Markdown. Your agent turns a .md file into a draft, sets the send time and adds a Note with a link card.

Source: https://cotlet.dev/integrations/substack-api-mcp-server/schedule-newsletter-posts

The essay is finished in Obsidian, iA Writer or a repo as a .md file, and Tuesday morning is send day. Moving it into Substack means rebuilding headings, links and images in the editor, then clicking through the publish settings again.

Cotlet does it in your own Substack account with list\_posts, create\_draft, schedule\_post and publish\_note, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=substack) [All Substack tools](https://cotlet.dev/integrations/substack-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can Substack do this on its own?

Substack has no public API to create drafts, schedule posts or post Notes (checked 12 Oct 2026). Scheduling exists in the web editor only, not in the Substack app, and the editor has no Markdown import, so a .md file cannot reach a Substack draft without manual reformatting.

By hand

## How you do it in Substack today

1. In the Substack publisher dashboard, click Create and select Article, then paste the text into the editor.
2. Substack says its post editor does not support Markdown, so headings, bold text, links and lists written in Markdown have to be redone with the editor toolbar, and images uploaded again.
3. Click Continue, choose the audience, who can comment and whether to send via email and the Substack app inbox, then check "Schedule time to email and publish" and pick a date and time.
4. To promote the post, open Create > Note after it goes live, or schedule the Note with the calendar icon in the Notes composer.
5. The formatting pass repeats for every issue, and a wrong time zone or a missed audience setting only shows up once subscribers already have the email.

With an agent

## How to schedule Substack posts from Markdown drafts

Prompt

```
Turn essay.md into a Substack draft for everyone, schedule it for Tuesday 8:00 New York time, and schedule a Note with a link card to it for 12:00 the same day.
```

1. 01  
### Read the file and keep its structure  
The agent takes the first heading as the title and an optional subtitle line, and sends the rest as Markdown to create\_draft. Local image paths cannot be used, so it asks for hosted image URLs or leaves a placeholder and names it in the report.
2. 02  
### Check the calendar before picking the slot  
list\_posts with status scheduled shows what is already queued. When another issue is set for the same day, the agent stops and asks instead of stacking two emails on one morning.
3. 03  
### Pin the time zone  
The Substack web form uses the time zone of your device clock. The agent always sends an explicit offset, refuses a time in the past, and refuses a date more than three months out, the furthest Substack lets a post be scheduled.
4. 04  
### Warn about length before sending  
A very long issue with many images can be clipped by Gmail. The agent flags a draft that looks close to that size, so you can split it or trim images before the send is locked in.
5. 05  
### Schedule the email, then the Note  
schedule\_post waits for your OK and returns the edit link, so you can open the draft in Substack first. The Note goes out with publish\_at a few hours after the post, so the link card points to a post readers can already open.

### What you get back

Example data

```
Draft created: "Why we stopped shipping on Fridays" (post 148420031), audience everyone
2 images placed from URLs, 1 placeholder left: diagram.png has no hosted URL
No other post scheduled on Tue 14 Oct
Scheduled: Tue 14 Oct 2026, 08:00 America/New_York, web + email
Note scheduled: Tue 14 Oct, 12:00, link card to the post
Edit link: https://yourname.substack.com/publish/post/148420031
```

### Other ways to ask

- Take every .md file in /drafts/october and schedule one per Tuesday at 7:00 London time, paid subscribers only.
- Create the draft from notes.md but do not schedule it. I will finish it in the editor.
- Publish chapter-3.md on the web only on Friday, without emailing anyone.
- For every post I published this week, schedule a Note with a short quote and a link card for the next morning.

Before you automate it

## What Substack allows, and what to know first

- Substack lets a post be scheduled at most three months ahead, and only from the web editor; the Substack app cannot schedule articles, podcasts or video posts.
- Substack emails a post only once. Edits made after the send show on the web and in the Substack app, and the email cannot be sent again.
- Gmail clips emails larger than about 102KB, and the Substack editor counts links, images and the text your publication adds to the top or bottom of every email toward that size. Posts over 1,000,000 characters cannot be saved at all.
- Substack Notes are not emailed to subscribers; they may surface in a notes roundup digest or a push notification instead.

schedule\_post and publish\_note ask for your OK by default. To run it weekly without you, switch confirmation off for those tools in your dashboard.

Sources: [Substack: Do you support Markdown?](https://support.substack.com/hc/en-us/articles/360037463132-Do-you-support-Markdown) · [Substack: How do I publish a new post on Substack?](https://support.substack.com/hc/en-us/articles/360037831771-How-do-I-publish-a-new-post-on-Substack) · [Substack: How do I schedule an article to publish for a future date?](https://support.substack.com/hc/en-us/articles/360037870412-How-do-I-schedule-an-article-to-publish-for-a-future-date-on-Substack) · [Substack: Why does it say "Your post may be truncated"?](https://support.substack.com/hc/en-us/articles/360038866571-Why-does-it-say-Your-post-may-be-truncated-in-the-post-editor) · [Substack: Getting started on Substack Notes](https://support.substack.com/hc/en-us/articles/14564821756308-Getting-started-on-Substack-Notes) · [Substack: Guide to your Substack Posts page](https://support.substack.com/hc/en-us/articles/15853567274772-Guide-to-your-Substack-Posts-page)

REST

## Call schedule\_post from a script

curl

```
curl https://cotlet.dev/api/v1/substack/schedule_post \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"post_id":"148420031","publish_at":"2026-10-14T08:00:00-04:00","send_email":true}'
```

Example response

```
{
"post_id": "148420031",
"status": "scheduled",
"publish_at": "2026-10-13T08:00:00-04:00",
"audience": "everyone",
"url": "https://yourname.substack.com/p/notes-on-pricing"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is substack\_schedule\_post. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/substack-api-mcp-server#automations)

Tools

## Substack tools this automation uses

__Cotlet Substack tools used to schedule Substack posts from Markdown drafts__
| Tool | Parameters |
| -------------- | ----------------------------------------- |
| list\_posts | status, limit, cursor |
| create\_draft | title, body\_markdown, subtitle, audience |
| schedule\_post | post\_id, publish\_at, send\_email |
| publish\_note | body, link\_post\_id, publish\_at |

[All 14 Substack tools with descriptions](https://cotlet.dev/integrations/substack-api-mcp-server#tools)

## Frequently asked questions

### Can I change the post after it is scheduled?

Yes. Substack keeps scheduled posts in Posts > Scheduled. Choose Edit post there, and click the date and time above the editor toolbar to change or remove the schedule.

## More Substack automations

- [Weekly Substack subscriber and revenue report](https://cotlet.dev/integrations/substack-api-mcp-server/weekly-subscriber-report)
- [Reply to unanswered Substack comments](https://cotlet.dev/integrations/substack-api-mcp-server/reply-to-unanswered-comments)
- [Substack API and MCP server: every tool](https://cotlet.dev/integrations/substack-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Substack.

Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Substack.

[Request access](https://cotlet.dev/app/signup?app=substack)
