Last updated: August 2026

Post to X from n8n, without the Twitter API

The native n8n X node cannot post: it authenticates app-only and returns a 403 on tweet creation. The working integration is one HTTP Request node pointed at OpenTweet. One Bearer key, no X developer account, no OAuth, and scheduling, threads, and batches of up to 50 posts included.

Works identically on n8n Cloud and self-hosted, and slots in after any AI node, so your workflow can generate content and publish it in the same run.

Set it up in three steps

1

Get an OpenTweet API key

Sign up, connect your X account with a normal login, and create an API key from the dashboard. That key is all n8n needs.

2

Add an HTTP Request node

Skip the native X node. Add an HTTP Request node wherever the tweet should happen and configure it:

http
Method: POST
URL: https://opentweet.io/api/v1/posts
Header: Authorization: Bearer ot_your_api_key
Body (JSON):

{
  "text": "Posted from n8n with no Twitter API.",
  "publish_now": true
}
3

Map your data and run

Wire the text to an earlier node with an expression like {{ $json.title }}. To schedule instead of posting now, send a timestamp:

json
{
  "text": "{{ $json.tweetText }}",
  "scheduled_date": "2026-08-10T15:00:00Z"
}

Seeing a 403 from the native X node?

That is the app-only auth limitation, not your workflow. The full explanation and fix is in How to post to X from n8n, and there is a troubleshooting guide for the n8n Twitter 403 specifically.

What n8n builders automate with OpenTweet

Anything that can trigger an n8n workflow can become a tweet, a thread, or a scheduled queue.

RSS to X

New blog post triggers the workflow, an AI node writes the tweet, OpenTweet publishes or queues it.

News monitoring

Watch Hacker News or Google News for your topic, summarize with an AI node, post the take.

AI content pipelines

Generate drafts with OpenAI/Claude nodes, batch-schedule a week of posts in one request.

Product events

GitHub release, new signup milestone, or deploy webhook becomes an announcement tweet.

Form and community triggers

Typeform testimonials or Discord highlights flow into a review queue before posting.

Batch scheduling

Send up to 50 posts in one HTTP request and let OpenTweet space them out.

What the integration supports

Post immediately or schedule with scheduled_date
Threads via is_thread and thread_tweets
Batch up to 50 posts per request
Works on n8n Cloud and self-hosted
One Bearer API key, no OAuth setup
Official X API under the hood
Pairs with AI nodes for generated content
Optional review queue before publishing

Frequently asked questions

Why does the native n8n X (Twitter) node fail with a 403?

The native node authenticates in an app-only context on the X API, which cannot create tweets, so posting fails with 403 Forbidden. It is not a bug in your workflow. Routing the post through an HTTP Request node to OpenTweet avoids the problem entirely.

Do I need an X developer account to post from n8n?

No. You connect your X account to OpenTweet once with a normal login and create an API key. n8n calls OpenTweet, and OpenTweet posts through the official X API. No developer portal, no OAuth in n8n, no pay-per-use billing.

Can I schedule tweets from n8n instead of posting immediately?

Yes. Send scheduled_date with an ISO timestamp instead of publish_now and the tweet joins your OpenTweet queue. You can also send up to 50 posts in one request to schedule a whole batch from a single node execution.

Does this work with threads and media?

Yes. The same endpoint accepts threads (is_thread with thread_tweets) and media, so an n8n workflow can publish anything the OpenTweet composer can.

Does it work on self-hosted n8n?

Yes. The integration is a plain authenticated HTTPS request, so it works identically on n8n Cloud and self-hosted instances, including behind AI nodes that generate the tweet text.

Give your n8n workflows a voice on X

One HTTP node, one API key. Post, schedule, and thread from any workflow.

Start your 7-day free trial

7-day free trial. Cancel anytime.