Automate Medium with Claude Cowork
Publish articles to Medium, manage publications, set canonical URLs for SEO, and organize with tags — all from the command line or through your AI agent.
Please make sure there is always a human in the loop.
Publish to Medium in Seconds
Terminal
# Install the skill
npx skills add gitroomhq/postiz-agent
# Set your API key
export POSTIZ_API_KEY=your_api_key
# Find your Medium integration
postiz integrations:list
# Publish an article to Medium
postiz posts:create \
-c "Article body in markdown..." \
-s "2025-01-15T10:00:00Z" \
--settings '{"title":"My Article","subtitle":"A deep dive","tags":[{"value":"tech","label":"Tech"}]}' \
-i "medium-id"Medium-Specific Features
Article Publishing
Publish long-form articles directly to Medium with full Markdown support. Write once, publish seamlessly.
Publication Support
Publish articles under any Medium publication you belong to. Reach established audiences with a single setting.
Canonical URLs
Set canonical URLs for SEO to link back to your original content. Avoid duplicate content penalties across platforms.
Smart Tagging
Add up to 4 tags per article to improve discoverability. Tags help Medium surface your content to the right readers.
Scheduled Publishing
Schedule articles for future publication with precise timestamps. Plan your content calendar weeks in advance.
AI-Powered Workflows
Let AI agents draft, format, and publish your articles. From idea to published post without leaving your chat app.
How It Works
Find Your Medium Integration
List your connected accounts and grab your Medium integration ID. You can also fetch available settings to see what options are supported.
Discovery
# List all integrations
postiz integrations:list
# Filter for Medium
postiz integrations:list | jq \
'.[] | select(.identifier=="medium")'
# Get Medium settings schema
postiz integrations:settings <medium-id>Write Your Article
Compose your article content in Markdown. Medium supports rich formatting including headers, code blocks, images, and embedded links.
Content
# Write your article content
cat > article.md << 'EOF'
# Building Better APIs
APIs are the backbone of modern software.
Here's how to design them right.
## Key Principles
1. **Consistency** - Use predictable patterns
2. **Versioning** - Plan for change
3. **Documentation** - Make it discoverable
EOFPublish Your Article
Create a post with your article content, title, subtitle, tags, and optional publication and canonical URL settings.
Publish
postiz posts:create \
-c "$(cat article.md)" \
-s "2025-03-01T09:00:00Z" \
--settings '{
"title": "Building Better APIs",
"subtitle": "A practical guide to API design",
"canonical": "https://myblog.com/better-apis",
"publication": "pub-id",
"tags": [
{"value": "api", "label": "API"},
{"value": "software", "label": "Software"}
]
}' \
-i "medium-id"Medium Settings Reference
Every Medium post accepts these platform-specific settings via the --settings flag.
| Field | Type | Description |
|---|---|---|
__type | string | Must be "medium" |
title | string | Article title (min 2 characters) |
subtitle | string | Article subtitle (min 2 characters) |
canonical | string | Original URL for SEO canonical link |
publication | string | Publication ID to publish under |
tags | array | Up to 4 tags: [{value: string, label: string}] |
Common Configurations
Copy-paste these settings for common Medium publishing scenarios.
Simple Article with Tags
settings.json
{
"title": "Getting Started with TypeScript",
"subtitle": "A beginner-friendly introduction",
"tags": [
{"value": "typescript", "label": "TypeScript"},
{"value": "javascript", "label": "JavaScript"},
{"value": "programming", "label": "Programming"}
]
}Cross-Posted Article with Canonical URL
settings.json
{
"title": "How We Scaled to 1M Users",
"subtitle": "Lessons from our growth journey",
"canonical": "https://engineering.myblog.com/scaling-to-1m",
"tags": [
{"value": "startup", "label": "Startup"},
{"value": "scaling", "label": "Scaling"},
{"value": "engineering", "label": "Engineering"}
]
}Publication Article
settings.json
{
"title": "The Future of AI Agents",
"subtitle": "Why autonomous agents are the next paradigm",
"publication": "towards-data-science-id",
"tags": [
{"value": "ai", "label": "Artificial Intelligence"},
{"value": "agents", "label": "AI Agents"},
{"value": "automation", "label": "Automation"},
{"value": "future", "label": "Future"}
]
}What is Claude Cowork?
Claude Cowork is Anthropic's agentic AI tool for knowledge workers. It runs on your desktop, connects to local files and apps like Google Drive, Gmail, and DocuSign, and completes multi-step tasks autonomously.
Desktop Native
Claude Cowork runs directly on your desktop, connecting to your local files and apps. No browser or cloud setup needed to manage your social media workflow.
App Integrations
Connects to Google Drive, Gmail, DocuSign, and more. Pull content from your existing tools and publish it to social media seamlessly.
Autonomous Tasks
Schedule recurring tasks with cron jobs. Claude Cowork can publish your Medium articles on a schedule without you having to ask each time.
How Postiz Works with Claude Cowork
When you install Postiz Agent globally, Claude Cowork automatically discovers it by reading the bundled SKILL.md file. This file tells Claude Cowork what commands are available, what environment variables are needed, and how to compose Medium articles with the right settings.
- ✓Install Postiz Agent and set your POSTIZ_API_KEY
- ✓Claude Cowork discovers Postiz through MCP integration
- ✓All Postiz commands become available as tools
- ✓Claude Cowork autonomously chains commands for complex workflows
- ✓Works seamlessly with your existing desktop apps and files
Install Postiz
# Install the Postiz skill
npx skills add gitroomhq/postiz-agent
# Set your API key
export POSTIZ_API_KEY=your_api_key
# Claude Cowork discovers Postiz
# through MCP tool integration
# and can call all commands directlyMedium Publishing with Claude Cowork
Message Claude Cowork from any platform — it reads the Postiz skill, discovers your Medium integration, and handles the entire publishing workflow autonomously.
From Any Chat App
Tell Claude Cowork what to post from you...
Send a message to Claude Cowork from your favorite chat app. It runs as a persistent daemon on your machine, so it picks up your message, discovers your Medium account via Postiz, formats the article, and publishes it — all while you go about your day.
Claude Cowork
You: Post to Medium about our new
feature launch, schedule for tomorrow
at 9am
Claude Cowork: I'll handle that for you.
1. Found your Medium integration
2. Composing your post
3. Scheduling for tomorrow at 9:00 AM
Done! Your post is scheduled.
Post ID: abc-123Scheduled & Proactive
Claude Cowork can be asked to perfo...
Claude Cowork supports cron-based heartbeat tasks. Set up a recurring job that checks a folder for new Markdown drafts and publishes them to Medium automatically — no manual trigger needed.
Claude Cowork Task
Tell Claude Cowork:
"Every weekday morning, check my
~/content/drafts folder for new posts
and schedule them to Medium
for noon today. Move published drafts
to ~/content/published."
Claude Cowork will autonomously:
1. Monitor your drafts folder
2. Read and format each post
3. Schedule via Postiz
4. Move files when doneWhy Claude Cowork + Postiz for Medium
Claude Cowork makes Postiz a natural fit for your Medium workflow. The agent discovers all available commands and autonomously chains them together.
- ✓Desktop-native — no terminal or CLI knowledge needed
- ✓Connects to your local files to pull content for Medium posts
- ✓Multi-step autonomy — handles discovery, composition, and scheduling
- ✓Works with Google Drive, Gmail, and other desktop apps
- ✓Cross-post to Medium + other platforms in a single request
- ✓Powered by Claude — Anthropic's most capable AI model
SKILL.md (auto-discovered)
---
name: postiz
description: Social media automation
CLI for scheduling posts across
30+ platforms including Medium
metadata:
claude-cowork:
requirements:
env:
- POSTIZ_API_KEY
binaries:
- postiz
---
# Available Commands
- postiz integrations:list
- postiz integrations:settings <id>
- postiz posts:create
- postiz upload <file>
- postiz analytics:platform <id>
# Medium Settings
title, subtitle, canonical,
publication, tagsAlso Works with OpenClaw
Postiz Agent works as a CLI tool with any AI agent that can execute shell commands — including OpenClaw, the open-source personal AI agent.
OpenClaw
Open-source AI agent
Claude reads the SKILL.md file to learn all available Postiz commands, then autonomously discovers your Medium integration, formats your article, applies tags and publication settings, and publishes the post.
OpenClaw
> Publish my API design article to Medium
under the engineering publication with
a canonical URL back to my blog
Claude will automatically run:
postiz integrations:list
postiz posts:create \
-c "$(cat api-design.md)" \
-s "2025-03-02T09:00:00Z" \
--settings '{"title":
"Building Better APIs",
"subtitle":"A practical guide",
"canonical":"https://myblog.com/apis",
"publication":"eng-pub-id",
"tags":[...]}' \
-i "medium-id"Medium + Other Platforms
Publish the same article to Medium and other platforms in a single command. Each platform gets its own settings.
Terminal
# Cross-post an article to Medium and Dev.to
postiz posts:create \
-c "$(cat article.md)" \
-s "2025-03-01T09:00:00Z" \
--settings '{
"title": "Building Better APIs",
"subtitle": "A practical guide",
"canonical": "https://myblog.com/better-apis",
"tags": [
{"value": "api", "label": "API"},
{"value": "software", "label": "Software"}
]
}' \
-i "medium-id,devto-id"
# Batch schedule a week of Medium articles
for day in 1 2 3 4 5; do
postiz posts:create \
-c "$(cat articles/day${day}.md)" \
-s "2025-03-0${day}T08:00:00Z" \
--settings '{"title":"Day '"$day"' Insights","subtitle":"Weekly series","tags":[{"value":"series","label":"Series"}]}' \
-i "medium-id"
doneStart publishing to Medium
Install Postiz Agent and automate your Medium content strategy with AI-powered scheduling and publishing.
Ready to get started?
Grow your social media presence with Postiz.
Schedule, analyze, and engage with your audience.
Open-source social media scheduling tool