Medium n8n integrationAutomate Medium with n8n.
Publishing on Medium can be the last step of a workflow instead of another browser tab. The Medium n8n integration covers 2 resources and 2 operations: it creates a post, and it reads publications. There is no Medium trigger, so the run starts somewhere else, on a schedule or on an event from another app.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Medium n8n integration actually give you?
The Medium n8n integration is a node shipped inside n8n that calls the Medium API with a credential you save once. A credential is the stored login n8n reuses everywhere, so the token sits in one place instead of in every node. Two things happen through it: a post gets created from content the workflow already holds, and publications come back as items you can read further down the flow.
Start with the case that brings most people here. The writing happens elsewhere, and the piece should land on Medium too. A row arrives in Google Sheets with a headline and a body, n8n maps them onto Title and Content, sets Content Format to markdown, and the article exists without anyone opening the editor.
Second pattern: nothing goes out unreviewed. The workflow assembles the article, sets Publish Status to draft inside Additional Fields, then drops a message in Slack for whoever signs off. The same shape works for a team that already sends its issues through SendGrid and wants the archive copy on Medium.
Third, the housekeeping one. Get many publications pulls publications into the run, and Return All decides whether every page of results comes back or whether n8n stops at Limit. Handy when several people write under the same brand and the workflow has to pick the right destination before anything is created.
For an endpoint that is outside these 2 operations, the HTTP Request node calls it directly and reuses the very same credential through predefined authentication, so nothing has to be stored twice.
One thing to read before you build: Medium has stopped supporting the Medium API. The node still appears in n8n, but new API keys can no longer be configured to authenticate with, and the credentials page covers setting up existing API keys only. Worth knowing where the effort goes before you plan a publishing chain around it. If you are still weighing platforms, the n8n review goes through the trade-offs, and the n8n training covers building this kind of flow end to end.
How do you connect Medium to n8n?
- 01
Create a Medium account and pick a method
An account on Medium is the prerequisite for both supported authentication methods: API access token and OAuth2. In n8n, credentials live in the Credentials menu, and the Medium node offers them in a dropdown once they exist. For OAuth2 there is an extra step before anything else: access to credentials is requested by emailing yourfriends@medium.com.
- 02
Generate an Access Token
The simpler route. Inside Medium, open Settings, then Security and apps, then Integration tokens, and generate a token there. That integration token is what you paste into the n8n credential as the Access Token. Nothing else is asked for, and the same credential then serves every workflow that touches Medium, no matter how many nodes end up using it.
- 03
Or register an OAuth2 application
The OAuth2 credential asks for a Client ID and a Client Secret. Both come from the Developers menu in Medium, where you create a new application. Two settings matter while you fill that form: select OAuth 2 as the Authorization Protocol, and copy the OAuth Callback URL that n8n displays into the Callback URL field on the Medium side.
What can the Medium node do?
The Medium node exposes 2 operations across 2 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create | Get Many |
|---|---|---|
| Post | ✓ | |
| Publication | ✓ |
Operations index
Post
1 operationCreate a post
post.createWhat you see in n8n
Notes & use cases
Creates the post on Medium from content the workflow already carries.
Key parameters
- Title: the post title, 100 characters maximum.
- Content Format:
htmlormarkdown, how the body should be read. - Content: the body, as a valid semantic HTML fragment or as Markdown.
- Publication: on when the post goes to a publication, then set Publication Name or ID from the list or an expression like
{{ $json.field }}. - Publish Status: in Additional Fields,
public,draftorunlisted, next to Tags (comma separated, 5 maximum, 25 characters each), Canonical Url, License and Notify Followers.
draft and waits for a reader.Publication
1 operationGet many publications
publication.getAllWhat you see in n8n
Notes & use cases
Brings publications back into the workflow as items, which is what you want before deciding where a post should go.
Key parameters
- Return All: switched on, n8n walks through every page of API results; switched off, it stops at Limit.
- Limit: the maximum number of results returned when Return All stays off.
Need help automating Medium with n8n?
A person reads every message.
