Form-Based X/Twitter Poster

Nodes

9c37fa7f-8da8-447f-886c-c8b0d3c3533c2e3e39e3-0e17-4fae-9ac5-9ee31f9711ed3b9f1b78-6b80-4575-aa6c-966987000389de9fd81e-5d34-45e3-a5ae-18e2ed63a5258a186e28-5091-41b3-879f-0260e2d55582

Created by

AkAkhil Varma Gadiraju

Last edited 39 days ago

🚀 Form-Based X/Twitter Poster (v2)

A user-friendly n8n workflow that enables users to submit tweets through a simple web form — with optional image, video, or GIF uploads — and posts them to a connected X/Twitter account. Designed for ease of use, this workflow handles both media and text-only posts, providing clear feedback upon submission.


🧭 Overview

Workflow Name: Form-Based X/Twitter Poster (v2)
Goal: Provide a web form for users to create tweets, upload optional media, and post directly to X/Twitter.


🛠 How It Works

1. Form Submission Trigger

  • Node: On form submission
  • Type: formTrigger
  • Purpose: Renders a web form for tweet creation.
  • Fields:
    • Post Content: Required textarea for tweet text.
    • Media: Optional file upload (.jpg, .png, .gif, .mp4, etc.).
  • Button: "Submit"
  • Output: JSON with text and binary media (if any).

2. Extract Media Details

  • Node: Extract Media Details
  • Type: code
  • Purpose: Extracts tweet text, checks for media, determines media type.
  • Output Example:
{
  "content": "My tweet!",
  "mime_type": "image/jpeg",
  "media_type": "IMAGE"
}

3. If Media Exists

  • Node: If Media Exists
  • Type: if
  • Purpose: Checks whether media was uploaded.
  • True Path: Media was uploaded.
  • False Path: No media uploaded.

4. Upload Media to X/Twitter (True path only)

  • Node: Upload Media (X)
  • Type: httpRequest
  • Purpose: Uploads media to Twitter via API v1.1.
  • Media Category: TWEET_IMAGE (can be customized)
  • Auth: Twitter OAuth1 API
  • Output: Includes media_id_string

5. Post Tweet with Media (True path)

  • Node: X
  • Type: twitter
  • Purpose: Posts tweet with uploaded media.
  • Auth: Twitter OAuth2 API

6. Post Text-Only Tweet (False path)

  • Node: X1
  • Type: twitter
  • Purpose: Posts tweet without media.
  • Auth: Twitter OAuth2 API

7. Show Confirmation Message

  • Node: End Form
  • Type: form
  • Purpose: Displays thank-you message post-submission.
  • Title: Thank you so much for sharing your experience on X! 🖤
  • Message: We truly appreciate your support and are so glad we could make a positive impact. Your words mean the world to us!

🛠 How to Customize

  • Form Fields: Change form title, labels, help texts, or file formats.
  • Media Logic:
    • Add logic for distinguishing GIF vs VIDEO.
    • Adjust media upload URL dynamically:
      https://upload.twitter.com/1.1/media/upload.json?media_category={{ $json.media_type === 'VIDEO' ? 'TWEET_VIDEO' : ($json.media_type === 'GIF' ? 'TWEET_GIF' : 'TWEET_IMAGE') }}
      
  • Error Handling: Add Error Trigger nodes to catch and manage failures gracefully.
  • Tweet Text: Customize tweet text with extra formatting or default content.
  • Advanced Ideas:
    • Schedule tweets
    • Post to multiple accounts
    • Add content approval steps

🔐 Required Credentials

1. Twitter OAuth1 API

  • Used by: Upload Media (X)
  • Required for: Media upload via v1.1
  • Credentials: Consumer Key, Consumer Secret, Access Token, Access Token Secret
  • Workflow Credential Name: X OAuth - Akhil

2. Twitter OAuth2 API

  • Used by: X, X1
  • Required for: Posting tweets
  • Scopes: tweet.read, tweet.write, users.read, offline.access
  • Workflow Credential Name: X OAuth2 - Akhil

💡 Use Cases

  • Easy Tweet Tool: For non-technical users to share content.
  • Content Approval: Internal review system before posting.
  • Announcements: Quickly broadcast updates.
  • Campaign Posting: Streamline recurring content sharing.

🧑‍💻 Node Naming Suggestions

| Old Name | Suggested Name | |--------------------|--------------------------| | If Image Exists | If Media Exists | | X | Post Tweet with Media | | X1 | Post Text-Only Tweet |


❤️ Made with love by Akhil using n8n

New to n8n?

Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!