doodle top mobile

Automate Medium with Grok Bot

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.

Setup GuideMarketplace

Please make sure there is always a human in the loop.

doodle left mobiledoodle right mobile

Publish to Medium in Seconds

Grok Bot

# In any Bot chat, add the Postiz plugin
/add-plugin postiz

# Store POSTIZ_API_KEY as a Bot secret when prompted.
# Your Bot can now run Postiz on its cloud computer:

# 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

1

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>
2

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
EOF
3

Publish 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.

FieldTypeDescription
__typestringMust be "medium"
titlestringArticle title (min 2 characters)
subtitlestringArticle subtitle (min 2 characters)
canonicalstringOriginal URL for SEO canonical link
publicationstringPublication ID to publish under
tagsarrayUp 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 Grok Bot?

Grok Bot is the always-on AI teammate product from xAI and Cursor. You create named Bots, give each one a job, and they work 24/7 on their own persistent cloud computer — with a browser, a filesystem, and a terminal — pinging you only when they need approval.

Grok Bot is not the Grok chatbot. Grok is the assistant you chat with on X and grok.com. Grok Bot is a separate app for delegating real, multi-step work — like running your Medium presence with Postiz.

💻

Own Cloud Computer

Every Bot gets a persistent cloud machine with a terminal. Postiz runs there, so your Medium posts go out even when your laptop is closed.

🔁

Routines

Turn any task into a routine that runs on a schedule. Your Bot drafts, schedules, and reports on Medium content without being asked twice.

🛡️

Approvals Built In

Bots ask before changing external systems. Review the Medium posts your Bot prepared in Postiz, approve, and it publishes.

How Postiz Works with Grok Bot

Postiz is listed on the Grok Bot plugin marketplace. Add it to a Bot and the Postiz skill, CLI, and command reference are installed on its cloud computer — the Bot can then manage your Medium workflow on its own.

  • Type /add-plugin postiz in a Bot chat, or add it from the Plugins sidebar
  • Store your POSTIZ_API_KEY as a Bot secret when prompted
  • The Bot reads the bundled SKILL.md and learns every Postiz command
  • Works in every Bot on your shared workspace, on desktop and iPhone
  • Approvals keep a human in the loop before anything is published

Grok Bot

# 1. Add the plugin to your Bot
/add-plugin postiz

# 2. Store your Postiz API key
#    as a secret when prompted

# 3. Ask your Bot to verify
You: Find my Medium channel in Postiz

Bot: Running postiz integrations:list
  Found your Medium integration.
  All Postiz commands are ready.

Medium Publishing with Grok Bot

Your Bot reads the Postiz skill, discovers your Medium integration, and handles the entire posting workflow — from content creation to scheduling — on its own cloud computer.

🧠

Message Your Bot

Desktop, iPhone, or a group chat

Send a message to your Bot from the desktop app or your iPhone. It runs on its own cloud computer, so it picks up your message, discovers your Medium account via Postiz, uploads your media, and schedules the post — then asks you to approve before it goes live.

Grok Bot

You: Post to Medium about our new
  feature launch, schedule for tomorrow
  at 9am

Bot: Got it! Here's the plan:
  1. Find your Medium integration
  2. Compose your post content
  3. Schedule for tomorrow 9:00 AM

  Done! Post scheduled successfully.
  Post ID: abc-123
🧠

Routines

Recurring work on a schedule

Save the task as a routine. Your Bot runs it on a schedule from the cloud, checks for new content, and posts it to Medium automatically — no manual trigger needed.

Grok Bot routine

Routine: daily-medium-posts
Schedule: Weekdays at 9:00 AM

Instructions:
  Check ~/content/posts on your cloud
  computer for new .txt files. For
  each one, read the content and
  schedule a post to Medium for
  today at noon via Postiz. Move
  posted files to ~/content/published
  and send me a summary.

Why Grok Bot + Postiz for Medium

Grok Bot makes Postiz a natural fit for your Medium workflow. The Bot reads the plugin's skill, chains the right commands together, and keeps running from the cloud.

  • Official plugin — one command install from the marketplace
  • Always on — posts to Medium from the cloud while you are away
  • Terminal access runs Postiz commands directly on the Bot's computer
  • Routines for hands-free daily posting
  • Cross-post to Medium + other platforms in a single conversation
  • Approvals keep a human in the loop before publishing

SKILL.md (bundled in the plugin)

---
name: postiz
description: Social media automation
  CLI for scheduling posts across
  30+ platforms including Medium
metadata:
  grok-bot:
    plugin: postiz
    secrets:
      - 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, tags

Also Works with Claude Code

Postiz Agent works as a CLI tool with any AI agent that can execute shell commands — including Anthropic's Claude Code.

C

Claude Code

by Anthropic

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.

Claude Code

> 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"
done

Start 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.

Grow your social media presence with Postiz.