Medium automation: auto-publish and distribute posts
Medium automation: publish and distribute without the manual loop
Medium automation means removing the manual steps between “content is ready” and “content is live and distributed.” For most creators and marketing teams, that loop includes formatting, uploading, tagging, adding canonical URLs, cross-posting to social channels, and tracking performance. Each step is small. Together, they turn a 10-minute publish into a 45-minute ritual.
The direct solution: use Medium’s API (or RSS-based triggers) to programmatically create posts, then chain distribution steps that push the same content to Slack, email, social media, and your CMS. A 2025 Orbit Media Studios survey found that the average blog post takes 4 hours and 10 minutes to create, with publishing and promotion accounting for nearly 30% of that time (Orbit Media). Unlike generic AI automation posts, this guide shows real CodeWords workflows — not just theory.
Related reading: automated content creation, AI content automation, Twitter automation, workflow automation examples, CodeWords integrations, CodeWords templates, CodeWords pricing.
TL;DR
- Medium automation covers three stages: content creation (drafting and formatting), publishing (API or manual with pre-formatted content), and distribution (cross-posting and notification).
- The Medium API supports creating posts programmatically but has limitations — no editing, no scheduling, and no analytics access.
- CodeWords handles medium automation end-to-end: Cody builds workflows that generate content, format it for Medium, publish via the API, and distribute across channels.
Why does medium automation matter for content teams?
The metaphor is a printing press. Before Gutenberg, every copy was handwritten. The press did not change what people wrote — it changed how fast they could distribute it. Medium automation does the same for digital publishing. The content creation is the craft; everything after “final draft” should be machinery.
Three reasons this matters now:
Content volume is increasing. HubSpot’s 2025 State of Marketing report found that companies publishing 16+ blog posts per month get 3.5× more traffic than those publishing 0–4 (HubSpot). At that volume, manual publishing does not scale.
Distribution determines reach. A great post published on Medium and nowhere else reaches a fraction of its potential audience. Automated cross-posting to LinkedIn, Twitter, newsletters, and Slack communities multiplies reach without multiplying effort.
Consistency beats intensity. Automated workflows publish on schedule regardless of whether the team is busy, traveling, or focused on other priorities.
How does the Medium API work for automation?
Medium provides a REST API for creating posts programmatically. Here is what it supports and what it does not.
What you can do:
- Create posts on behalf of an authenticated user (draft or public)
- Set title, content (HTML or Markdown), tags (up to 5), canonical URL, and publish status
- Publish to a Medium publication (if the user is a writer for that publication)
- Retrieve user profile information
What you cannot do:
- Edit or update existing posts
- Delete posts
- Schedule posts for future publication
- Access analytics or stats
- Manage followers or publications
- Upload images directly (images must be hosted elsewhere or inline as base64)
Authentication: Medium uses self-issued integration tokens. Generate one from your Medium settings page under “Security and apps.” The token grants full access to create posts on your behalf.
Creating a post via the API:
POST https://api.medium.com/v1/users/{userId}/posts
The payload includes title, contentFormat (html or markdown), content, tags, canonicalUrl, and publishStatus (draft or public).
The API limitation on editing means your automation must get the content right before publishing. This is where AI-assisted drafting and validation steps pay off.
How do you build a medium automation workflow?
Here is a practical workflow architecture in CodeWords. Describe this to Cody and the system builds, tests, and deploys it.
Stage 1: Content preparation.
Trigger: A new row appears in an Airtable base or Google Sheet with the post title, outline, and target keywords. The workflow fetches the row data and passes it to an LLM (OpenAI, Anthropic, or Gemini — all available in CodeWords without API key setup) to generate a draft in Markdown format.
Stage 2: Formatting and validation.
The workflow formats the Markdown for Medium compatibility (Medium’s API handles Markdown natively). An AI validation step checks for common issues: missing headings, excessive length, broken links, and keyword presence. If validation fails, the workflow flags the post for human review.
Stage 3: Publishing.
The workflow calls the Medium API to create the post. It can publish as a draft (for final human review) or directly as public. The canonical URL is set to your primary blog if cross-posting.
Stage 4: Distribution.
After publishing, the workflow triggers parallel distribution:
- Post a formatted announcement to Slack with the Medium URL
- Create a Twitter/X post with the title and link (see Twitter automation)
- Add the post to a newsletter queue in your email platform
- Update a tracking spreadsheet in Google Sheets with the publish date and URL
What about RSS-based medium automation?
If the Medium API feels limiting, RSS is an alternative trigger mechanism. Every Medium profile and publication has an RSS feed at https://medium.com/feed/@username or https://medium.com/feed/publication-name.
You can use RSS in two directions:
Medium → your systems (monitoring). Monitor your Medium RSS feed for new posts. When a post appears, trigger distribution workflows — cross-post to your website, send Slack notifications, update your content calendar. CodeWords supports RSS monitoring through scheduled workflows that check the feed and compare against previously seen post IDs (stored in Redis).
Your systems → Medium (publishing). When you publish on your primary blog, trigger a workflow that reformats the content, adds a canonical URL pointing back to the original, and publishes to Medium via the API. This is the “syndication” pattern — publish once, distribute everywhere.
What are the best medium automation patterns for teams?
Pattern 1: Draft review pipeline. Writer submits to Google Docs → workflow extracts content → AI reviews for style and SEO → formats for Medium → publishes as draft → notifies editor in Slack for final approval.
Pattern 2: Repurposing engine. Long-form content (webinar transcript, research report, podcast episode) → AI extracts key themes → generates 2–3 Medium articles from the source material → publishes as drafts → distributes approved posts.
Pattern 3: Scheduled content calendar. Content calendar in Airtable with publish dates → daily scheduled workflow checks for posts due today → publishes to Medium → triggers distribution → updates calendar status.
Pattern 4: Analytics aggregator. Since Medium’s API lacks analytics, build a workflow that scrapes your Medium stats page (using Firecrawl in CodeWords) on a schedule and pushes the data to a Google Sheet or dashboard.
FAQ
Can I schedule Medium posts for the future?
Not through the Medium API — there is no native scheduling feature. The workaround is to publish as a draft via the API, then use a scheduled workflow that changes the status to public at the desired time. Alternatively, publish via the API at the scheduled time using a cron-triggered workflow in CodeWords.
Does Medium automation violate Medium’s terms of service?
Using the official Medium API for publishing is supported and sanctioned. Automated scraping, follower manipulation, clap automation, or content spinning would violate Medium’s rules. Stick to the API for publishing and RSS for monitoring.
Can I cross-post to Medium with a canonical URL to avoid duplicate content?
Yes. Set the canonicalUrl parameter when creating a post via the API. This tells search engines that the original version lives elsewhere. Medium respects canonical URLs and this is the recommended approach for syndication.
How do I handle images in Medium automation?
Host images on a CDN or cloud storage (AWS S3, Google Cloud Storage, Cloudflare R2) and reference them in your Markdown or HTML with absolute URLs. Medium will display them inline. The API does not support direct image uploads, so pre-hosted images are necessary.
Automation as distribution infrastructure
The gap in most content operations is not creation — it is distribution. Medium automation closes that gap by making publish-and-distribute a single trigger rather than a checklist.
The implication for content teams: the cost of reaching another channel drops to near zero when distribution is automated. A post that reaches Medium, your blog, LinkedIn, Twitter, Slack, and your newsletter audience simultaneously has 5× the surface area of a post published once and forgotten.
Build your content distribution workflow with Cody on CodeWords — describe the pipeline, and ship it.




