Most of what Substack writers do outside of writing is clicking. Checking the dashboard, looking at the numbers, posting Notes, checking posts we’ve already published. That used to be most of my Substack time too. Since I connected Substack’s official MCP, I rarely open the dashboard. I ask ChatGPT or Claude Code instead.
But the problem with Substack’s current MCP is that it only provides read access, never write. It can tell me how my posts performed, but it can’t schedule a Note, edit a post, or answer a comment.
In episode 30 of One Shot Show, Dheeraj Sharma showed the other half: an agent with write access to his Substack, scheduling Notes, editing old posts, posting social proof, and working through his replies from a chat window.
I didn’t expect him to have covered this much of Substack. It turns out there’s a lot you can do to automate your Substack growth work if you connect your agent with full access to Substack’s MCP.
Below are the automations he showed, with the prompts he used, so you can try the ones that match your day to day work.
One thing to note is that all this automation can only be done through Dheeraj’s Substack MCP. Unfortunately, the current official Substack MCP doesn’t allow edit access, so you might want to check out what Dheeraj built to copy all of his automations here.
Why Dheeraj built his own Substack MCP
Dheeraj described six kinds of work he does every day as a Substacker: the long-form newsletter, daily Notes, replies, analytics, restacking other writers, and DMs. He has a full-time job and a family, and the commonly recommended five Notes a day is, as he put it, a full-time job on its own without AI.
So, one way he tried to solve this problem was by building SubflowAI, a Chrome extension for batch scheduling Notes, back when Substack had no way to schedule them. It helped, but he was still doing what he calls “click ops”: opening the calendar, finding empty slots, filling them by hand. He’d also noticed that he stopped opening Subflow AI as an external tools and apps after about a month. Most of his day now happens inside Claude or ChatGPT, so clicking through UIs no longer feels like an option. He wanted his Substack work to happen there too, without drowning in click‑ops work.
So he reverse-engineered Substack’s internal API and built the SubflowAI Substack MCP, a connector that lets your agent read and write to your publication.
Connect it to Claude and set permissions
During the demo, Dheeraj showed us how to set up his Substack MCP. It was easy. In Claude, he added a custom connector with the URL from the connector’s site, signed in, and the Substack MCP appeared. You can sign in two ways: with the email you use for his newsletter, GenAI Unplugged, which sends a magic link, or by pairing the SubflowAI Chrome extension. Without the extension, you can also paste your Substack session cookie into the connector settings, and the connector’s site walks you through it.
Once it’s connected, you’ll see the full tool list. Dheeraj’s advice was to allow read‑only access and keep anything that deletes behind an approval.
One thing to know before you connect: the Substack connector Dheeraj built is unofficial. Substack has no official public API for write access, so it uses Substack’s internal endpoints through your own logged‑in session. Also, what Dheeraj built here isn’t affiliated with Substack and that using it may violate Substack’s terms.
With that in place, here’s what he showed.
1. Check how full your Notes calendar is
The first prompt was a simple test of the connection:
Can you connect to my Substack Notes calendar or SubflowAI calendar?
Then he asked about his Notes calendar capacity for the next 7 days.
Is my SubflowAI calendar connected? Show my capacity for seven days.
The first prompt came back with the numbers: 10 of 35 slots in the next seven days were filled and 25 were open. The slots come from his SubflowAI settings, where he enables a set number of posting times per day. He said he can now ask this while working on something else, without opening the calendar.
2. Turn your latest post into Notes
As a Substack writer, if you want to grow, you need to keep posting Notes. For Dheeraj and me, our long‑form posts are great sources to turn into multiple Substack Notes people can consume in their feed. Dheeraj currently posts about four Notes a day, all drafted by AI from the articles he publishes.
He showed two prompts. The first goes straight to scheduling:
Write me five Notes from my latest published post and schedule them straight into Substack.
The second comes before anything goes on the calendar:
Write five Notes from my latest post and save them as drafts. Make a couple of them punchier. Then schedule one day next week. Show me the times first.
During the session, Claude found his most recent article, drafted Notes from it, and asked which one to post. He picked the one it recommended, and a minute later the Note was live on Substack.
His Claude Cowork setup already has his brand voice, so the drafts come from his own content in his own voice. If your agent doesn’t know your voice yet, expect to edit more, unless you already have a strong writing system where you teach your agent how you write.
The source doesn’t have to be your newsletter. If your agent can reach your YouTube channel, LinkedIn, or X, you can ask for Notes from your latest video or posts instead.
3. Fill every open slot from your best posts
Once the calendar and Notes work, you can combine them. Dheeraj extended the calendar question into this:
Is my calendar full next week? Show me the exact open slots, pull my last five posts, and create Notes for whatever slots are empty.
You can also scale it up. He suggested repurposing your last 10 articles into about 30 Notes to fill a whole month, or turning it into a scheduled agent:
Is my calendar full next week? If not, extract my top four posts and start posting.
Another version he listed spaces them out:
Repurpose my top post from last month into four Notes and schedule them two days apart.
4. Write a Note in a format that tends to perform well
The Substack connector includes a library of Note formats, each labeled with what it’s optimized for, like comments, shares, or saves. Let’s say you already know what to write; then you can use this prompt to draft the Note in a specific format:
I’m about to write a post on Claude Skills versus Claude agents. Show me the viral Note formats and pick the one best for a contrarian take.
Claude loaded the formats, picked the contrarian one, and wrote a Note that opened with “Everyone wants to build an AI agent.”
5. Get title options for a post
Another way you can experiment is by asking your agent to give you title options based on what worked in your archives:
Give me eight high-CTR title options for the last post I published.
Claude read the post first, a recap of our last30days episode, and returned title options with the reasoning for why each would get clicks.
6. Add a table of contents to old posts
Dheeraj called this the best use case he’s seen so far. He had around 70 posts and none had a table of contents inside the post, and as he put it, there’s no way to generate one in a Substack post. So he opened one of those posts and asked:
This post does not have a table of contents. Can you generate a table of contents for this and update this post?
Claude found the post, checked that it had no table, built one, and updated the post. It landed at the very top. He said you can ask for it to go just before the first H2 instead, since the H1 is usually the title.
Dheeraj then added you could schedule an agent to go through your whole archive the same way, building and inserting a table for each post.
7. Update an outdated line across your archive
One of Dheeraj’s posts still says “Join 1,800+ builders” in an intro box. He said he now has more than 2,600. So he could ask the agent to update every post in your publication with the old number to the current one, and let it look up the current count from the analytics it can already read.
You can apply these cases to fix outdated data in your publication, whether it’s an old subscriber count, a changed link, or a price that you recently updated.
8. Turn screenshots into social proof Notes
Dheeraj gets testimonials from his Maven cohort, kind comments on YouTube, and good DMs, but he often forgets to post them. When he got the Substack bestseller badge, he didn’t post anything, and only realized two weeks later that he should have.
So he built his own social proof agent with an inbox folder. He drops a screenshot in, and the agent extracts the text, writes a Note around it, attaches the image, and schedules it into a 9:30 AM slot he keeps for testimonials.
Here’s the kind of prompt he used:
Here is a screenshot. Write a Substack Note about it in my voice. Attach the image and show me the copy first.
9. Work through your replies and mentions
Here’s one interesting workflow I learned from Dheeraj, where you can check replies and mentions without having to click anything anymore:
Show me my recent replies and mentions.
One thing to remind yourself here: you don’t want to automate all of your replies through AI, because they don’t sound genuine.
I write my replies myself. Dheeraj does too. In the demo, he typed his reply to Kim on his own and only used Claude to send it.
Another way to explore this is to ask the agent to pull all of your mentions and replies into a table, something like:
Pull my recent replies and mentions into a table so I can decide which ones to reply to and which ones to just like.
From there, you can prioritize which ones you want to reply to directly and which ones you just want to like, without having to write a reply. It’s another way to keep your engagement as human as possible, without over-optimizing or over-automating the parts that should stay manual.
Two more: long-form drafts and your analytic numbers
1. Long-form drafts
Dheeraj’s article pipeline lives inside his local folder. The connector can create those files as Substack drafts with images attached, which saves the copy, paste, and image‑upload step. So whenever you finish a draft you’ve written elsewhere and want to move it fully into Substack, you can automate that with your agent.
2. Analytics
He showed prompts like these:
Give me a dashboard of subscribers, 30-day views, and open rate. Compare all my published posts and tell me the best three by opens and what they have in common.
Where have my subscribers come from over the last 90 days?
He skipped “What should I make more of next month?” on air because it would have shown his revenue data. If reporting is what you’re after, our earlier episode on a ChatGPT Sites dashboard goes deeper.
Other ways to connect your agent to Substack
Now that you know how to automate most of the manual work on Substack, Dheeraj’s Substack MCP connector is one option you can use to connect your AI agent with Substack.
But there are other options you can explore as well:
The browser row is my current workaround for posting. ChatGPT’s built-in browser already has my Substack logged in, so I can ask it to take a draft from my computer, create a new post, and publish or schedule it. It works, but it takes longer because the agent has to click through the dashboard, and it can click things you don’t want it to. My guess is a direct connection is faster and less error-prone, since the agent calls the action instead of hunting for the button.
Where to start
Pick the manual work you do most often as a Substacker as the starting point. It could be drafting and scheduling Notes, moving long-form Substack drafts to the dashboard, or pulling data from your Notes, long-form posts, or subscribers.
Once you’re comfortable with that, you can expand to more automated versions.
Show Details
This was episode 30 of One Shot Show, co-hosted by me and Dheeraj Sharma. Dheeraj ran the demo.
Timestamps:
00:05: Episode 30 intro and last week’s last30days research episode
00:26: Why hand Substack chores to an agent
02:23: How I use Substack’s MCP instead of the dashboard
02:48: Dheeraj on moving work into AI agents and away from apps he stopped opening
05:42: The six kinds of daily Substack work
09:02: From batching Notes to building SubflowAI
10:10: Reverse-engineering Substack’s API
12:27: The official MCP, Typefully, and Dheeraj’s connector
13:43: Connecting the connector to Claude
18:16: Setting which tools need approval
19:01: Checking Notes calendar capacity from chat
21:24: Example prompts for drafting and scheduling Notes
24:56: Posting one Note live
27:13: Scheduled agent ideas and the batch Notes agent
28:51: Note formats for a new topic
30:45: High-click-through title options
32:30: Adding a table of contents to an old post
34:28: Updating an outdated subscriber count across the archive
36:39: The social proof agent and screenshot inbox
40:23: My question about testimonials from paid upgrades
42:51: Creating long-form drafts with images
44:29: Analytics prompts
45:04: Why the social proof Note was held until October 8
48:08: Clearing the reply inbox and skipping bot comments
49:51: Sending a reply he typed himself and liking comments
52:11: The official MCP’s read-only limits
54:12: The built-in browser workaround compared with a direct connection
55:53: Viewer question on how the session cookie is handled
58:15: Connecting other apps, like Wispr Flow
59:42: Dheeraj’s WordPress travel blog
01:01:18: Ruth’s question on GEO searchability
01:02:49: Wrap-up
Resources Mentioned
SubflowAI: Dheeraj’s Chrome extension for batch scheduling Notes, with a calendar, slot settings, brand voice, and analytics. Product page.
SubflowAI Substack MCP: Dheeraj’s unofficial connector that gives Claude, Claude Code, Claude Cowork, Codex, or ChatGPT read and write access to Substack. Tool list and tiers.
Dheeraj’s connector walkthrough and API build log: Connect Claude or ChatGPT to Substack and reverse-engineering Substack’s API.
Dheeraj’s social proof agent and batch Notes agent: His own agents, described and partly demoed in the session, and not part of the connector’s tool list.
Substack’s official MCP: Read-only publication data for admins of Bestseller publications. Substack’s guide.
Typefully: Scheduling for social posts, including Substack Notes. I mentioned it as a Notes scheduling option. Substack Notes announcement.
Claude, Claude Code, and Claude Cowork: Dheeraj demoed in Claude Cowork because it lets him run scheduled agents, and said he works in Claude Code.
ChatGPT and Codex: Dheeraj’s connector was also connected to Codex. I use ChatGPT’s built-in browser for my posting workaround.
MCP: The connection method that lets an agent use tools from another service.
Viral Note formats, title variants, and table-of-contents tools: Built into Dheeraj’s connector. Dheeraj mentioned that I use a similar title skill of my own.
Maven: Where Dheeraj runs his cohort, and the source of the testimonial in the social proof demo.
YouTube, LinkedIn, and X: Possible sources for Notes if your agent can reach them.
Wispr Flow: The meeting transcription tool I connect to my agent.
WordPress: Dheeraj’s travel blog platform, managed through its API.
last30days: The research skill from last week’s episode.
AEO agent episode: Dheeraj pointed Ruth to our earlier AEO agent episode for GEO, to use alongside a Substack connector for publishing.














