doodle top mobile

Automate Medium with Paperclip

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 GuidePaperclip

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

doodle left mobiledoodle right mobile

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

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 Paperclip?

Paperclip is an open-source orchestration framework for building β€œzero-human companies” by hiring and managing teams of AI agents. It handles content, social media distribution, marketing, dev, QA, and more from a single dashboard.

πŸ‘₯

Agent Teams

Paperclip manages teams of AI agents that work together. Assign a content agent, a scheduling agent, and a review agent to your social media workflow.

πŸ“Š

Single Dashboard

Monitor all your AI agents and their social media tasks from one unified dashboard. Track posts, schedules, and performance in real time.

βš™

Orchestration

Schedule recurring tasks with cron jobs. Paperclip can publish your Medium articles on a schedule without you having to ask each time.

How Postiz Works with Paperclip

When you install Postiz Agent globally, Paperclip automatically discovers it by reading the bundled SKILL.md file. This file tells Paperclip 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
  • βœ“Paperclip discovers Postiz through tool integration
  • βœ“Assign Postiz commands to specialized agents in your team
  • βœ“Orchestrate multi-step workflows with approval chains
  • βœ“Monitor everything from the Paperclip dashboard

Install Postiz

# Install the Postiz skill
npx skills add gitroomhq/postiz-agent

# Set your API key
export POSTIZ_API_KEY=your_api_key

# Paperclip discovers Postiz through
# its tool integration system
# and assigns it to agent teams

Medium Publishing with Paperclip

Message Paperclip from any platform β€” it reads the Postiz skill, discovers your Medium integration, and handles the entire publishing workflow autonomously.

πŸ“Ž

From Any Chat App

Paperclip assigns specialized agents to ...

Send a message to Paperclip 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.

Paperclip

Content Agent: Drafted a post about
  the feature launch for Medium.

Review Agent: Approved with minor
  edits. Ready to publish.

Scheduling Agent: Found Medium
  integration via Postiz.
  Scheduled for tomorrow 9:00 AM.

  Post ID: abc-123
  Status: Scheduled
πŸ“Ž

Scheduled & Proactive

Paperclip orchestrates recurring co...

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

paperclip.yaml (pipeline)

pipelines:
  daily_social:
    schedule: "0 9 * * 1-5"
    agents:
      - role: content_creator
        task: "Draft a Medium post
          about trending industry topics"
      - role: reviewer
        task: "Review and polish the
          draft for engagement"
      - role: publisher
        task: "Schedule via Postiz
          for today at noon"

Why Paperclip + Postiz for Medium

Paperclip makes Postiz a natural fit for your Medium workflow. The agent discovers all available commands and autonomously chains them together.

  • βœ“Multi-agent teams for quality Medium content β€” draft, review, publish
  • βœ“Single dashboard to monitor all social media automation
  • βœ“Orchestrated pipelines from content creation to publishing
  • βœ“Scheduled pipelines for hands-free daily posting
  • βœ“Cross-post to Medium + other platforms in a single pipeline
  • βœ“Open-source β€” fully customizable agent workflows

SKILL.md (auto-discovered)

---
name: postiz
description: Social media automation
  CLI for scheduling posts across
  30+ platforms including Medium
metadata:
  paperclip:
    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, 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.