
Post tweets, read timelines, and manage your account
TWITTER ADD A LIST MEMBER
Adds a user to a specified Twitter List; the list must be owned by the authenticated user.
TWITTER ADD POST TO BOOKMARKS
Adds a specified, existing, and accessible Tweet to a user's bookmarks, with success indicated by the 'bookmarked' field in the response.
TWITTER BOOKMARKS BY USER
Retrieves Tweets bookmarked by the authenticated user, where the provided User ID must match the authenticated user's ID.
TWITTER CREATE A NEW DM CONVERSATION
Creates a new group Direct Message (DM) conversation on Twitter. REQUIRED PARAMETERS: - conversation_type: Must be 'Group' - participant_ids: List of Twitter user IDs to include in the conversation - message: JSON object with the initial message. Must contain 'text' field. To include media attachments, use message.attachments array with media_id (NOT media_url): {"text": "...", "attachments": [{"media_id": "1234567890"}]} Note: Media must be uploaded first using the upload_media action to obtain a media_id.
TWITTER CREATE COMPLIANCE JOB REQUEST
Creates a new compliance job to check the status of Tweet or user IDs; upload IDs as a plain text file (one ID per line) to the `upload_url` received in the response.
TWITTER CREATE LIST
Creates a new, empty List on X (formerly Twitter), for which the provided name must be unique for the authenticated user; accounts are added separately.
TWITTER CREATION OF A POST
Creates a Tweet on Twitter; `text` is required unless `card_uri`, `media_media_ids`, `poll_options`, or `quote_tweet_id` is provided. Example - Creating a tweet with media and location: { "text": "Check out our latest product update! 🚀", "media_media_ids": ["1455952740635586573"], "geo_place_id": "df51dec6f4ee2b2c" } Example - Quote tweet with commentary: { "text": "This is a game-changer for the industry! Here's why... 🧵", "quote_tweet_id": "1453828617121234945" } Example - Reply to a tweet: { "text": "Great point! Here's my take on this...", "reply_in_reply_to_tweet_id": "1453828617121234945" } 📱 POSTING TIPS: • For media: Upload first with TWITTER_UPLOAD_MEDIA, then use media_media_ids • For threads: Create first tweet, then reply with reply_in_reply_to_tweet_id • For quotes: Use quote_tweet_id to quote another tweet • Use polls: Provide poll_options (2-4 options) and poll_duration_minutes
TWITTER DELETE DM
Permanently deletes a specific Twitter Direct Message (DM) event using its `event_id` if the authenticated user sent it; this action is irreversible and does not delete entire conversations.
TWITTER DELETE LIST
Permanently deletes a specified Twitter List using its ID, which must be owned by the authenticated user; this action is irreversible and the list must already exist.
TWITTER FETCH LIST MEMBERS BY ID
Fetches members of a specific Twitter List, identified by its unique ID.
TWITTER FETCH SPACE TICKET BUYERS LIST
Retrieves a list of users who purchased tickets for a specific, valid, and ticketed Twitter Space.
TWITTER FOLLOW A LIST
Allows the authenticated user (`id`) to follow a specific Twitter List (`list_id`) they are permitted to access, subscribing them to the list's timeline; this does not automatically follow individual list members.
TWITTER FOLLOWERS BY USER ID
Retrieves a list of users who follow a specified public Twitter user ID.
TWITTER FOLLOWING BY USER ID
Retrieves users followed by a specific Twitter user, allowing pagination and customization of returned user and tweet data fields via expansions.
TWITTER FOLLOW USER
Allows an authenticated user (path `id`) to follow another user (`target_user_id`), which results in a pending request if the target user's tweets are protected. 💡 USER DISCOVERY TIP: If the user doesn't provide a username: 1. Use TWITTER_RECENT_SEARCH with the person's name to find their tweets 2. Extract the author's user_id from search results 3. Present matching users to the user for selection 4. Then use this tool with the selected target_user_id
TWITTER FULL ARCHIVE SEARCH
Searches the full archive of public Tweets from March 2006 onwards; use 'start_time' and 'end_time' together for a defined time window.
TWITTER FULL ARCHIVE SEARCH COUNTS
Returns a count of Tweets from the full archive that match a specified query, aggregated by day, hour, or minute; `start_time` must be before `end_time` if both are provided, and `since_id`/`until_id` cannot be used with `start_time`/`end_time`.
TWITTER GET A USER S LIST MEMBERSHIPS
Retrieves all Twitter Lists a specified user is a member of, including public Lists and private Lists the authenticated user is authorized to view.
TWITTER GET A USER S OWNED LISTS
Call this action to retrieve Lists created (owned) by a specific Twitter user, not Lists they follow or are subscribed to.
TWITTER GET A USER S PINNED LISTS
Retrieves the Lists a specific, existing Twitter user has pinned to their profile to highlight them.
TWITTER GET BLOCKED USERS
Retrieves the authenticated user's own block list. IMPORTANT: You can only retrieve YOUR OWN block list - the `id` parameter must be the authenticated user's ID. Use the 'Get authenticated user' action first to obtain your user ID.
TWITTER GET DM EVENTS BY ID
Fetches a specific Direct Message (DM) event by its unique ID, allowing optional expansion of related data like users or tweets; ensure the `event_id` refers to an existing DM event accessible to the authenticated user.
TWITTER GET DM EVENTS FOR A DM CONVERSATION
Fetches Direct Message (DM) events for a one-on-one conversation with a specified participant ID, ordered chronologically newest to oldest; does not support group DMs.
TWITTER GET LIST FOLLOWERS
Fetches a list of users who follow a specific Twitter List, identified by its ID; ensure the authenticated user has access if the list is private.
TWITTER GET MEDIA UPLOAD STATUS
Get the status of a media upload for X/Twitter. Use this to check the processing status of uploaded media, especially for videos and GIFs. Only needed if the FINALIZE command returned processing_info.
TWITTER GET MUTED USERS
Returns user objects muted by the X user identified by the `id` path parameter.
TWITTER GET POST RETWEETERS ACTION
Retrieves users who publicly retweeted a specified public Post ID, excluding Quote Tweets and retweets from private accounts.
TWITTER GET RECENT DM EVENTS
Returns recent Direct Message events for the authenticated user, such as new messages or changes in conversation participants.
TWITTER GET USER S FOLLOWED LISTS
Returns metadata (not Tweets) for lists a specific Twitter user follows, optionally including expanded owner details.
TWITTER HIDE REPLIES
Hides or unhides an existing reply Tweet. This action allows the authenticated user to hide or unhide a reply to a conversation they own (started). You can only hide replies to posts you authored. Note: Requires the tweet.moderate.write OAuth scope.
TWITTER LIST LOOKUP BY LIST ID
Returns metadata for a specific Twitter List, identified by its ID; does not return list members but can expand the owner's User object via the `expansions` parameter.
TWITTER LIST POST LIKERS
Retrieves users who have liked the Post (Tweet) identified by the provided ID.
TWITTER LIST POSTS TIMELINE BY LIST ID
Fetches the most recent Tweets posted by members of a specified Twitter List.
TWITTER MUTE USER BY USER ID
Mutes a target user on behalf of an authenticated user, preventing the target's Tweets and Retweets from appearing in the authenticated user's home timeline without notifying the target.
TWITTER PIN A LIST
Pins a specified List to the authenticated user's profile, provided the List exists, the user has access rights, and the pin limit (typically 5 Lists) is not exceeded.
TWITTER POST DELETE BY POST ID
Irreversibly deletes a specific Tweet by its ID; the Tweet may persist in third-party caches after deletion.
TWITTER POST LOOKUP BY POST ID
Fetches comprehensive details for a single Tweet by its unique ID, provided the Tweet exists and is accessible.
TWITTER POST LOOKUP BY POST IDS
Retrieves detailed information for one or more Posts (Tweets) identified by their unique IDs, allowing selection of specific fields and expansions.
TWITTER POSTS LABEL STREAM
Stream real-time Tweet label events (apply/remove). Requires Enterprise access and App-Only OAuth 2.0 auth. Returns PublicTweetNotice or PublicTweetUnviewable events. 403 errors indicate missing Enterprise access or wrong auth type.
TWITTER POST USAGE
Fetches Tweet usage statistics for a Project (e.g., consumption, caps, daily breakdowns for Project & Client Apps) to monitor API limits; data can be retrieved for 1 to 90 days.
TWITTER RECENT SEARCH
Searches Tweets from the last 7 days matching a query (using X's search syntax), ideal for real-time analysis, trend monitoring, or retrieving posts from specific users (e.g., `from:username`) DEFAULT FIELDS: Tweet objects always return 'id' and 'text' by default. User objects always return 'id', 'name', and 'username' by default when expanded. Do not request these default fields in field parameters. Example - Get original tweets from Elon Musk since Sept 20, 2025: { "query": "from:elonmusk -is:retweet -is:reply", "start_time": "2025-09-20T00:00:00Z", "max_results": 50, "tweet_fields": ["created_at","public_metrics","text"], "expansions": ["author_id","attachments.media_keys","referenced_tweets.id"] } 📝 X SEARCH SYNTAX (use in 'query' parameter): • from:username - tweets from specific user • to:username - tweets replying to user • @username - tweets mentioning user • #hashtag - tweets with specific hashtag • "exact phrase" - exact phrase match • -keyword - exclude keyword • is:retweet / -is:retweet - include/exclude retweets • is:reply / -is:reply - include/exclude replies • has:media / has:images / has:videos - filter by media • has:links - tweets with links • lang:en - filter by language • min_retweets:10 / min_faves:50 - engagement filters • since:2024-01-01 until:2024-12-31 - date range Example: 'from:elonmusk -is:retweet -is:reply' for original tweets only
TWITTER RECENT SEARCH COUNTS
Retrieves the count of Tweets matching a specified search query within the last 7 days, aggregated by 'minute', 'hour', or 'day'.
TWITTER REMOVE A BOOKMARKED POST
Removes a Tweet, specified by `tweet_id`, from the authenticated user's bookmarks; the Tweet must have been previously bookmarked by the user for the action to have an effect.
TWITTER REMOVE A LIST MEMBER
Removes a user from a Twitter List; the response `is_member` field will be `false` if removal was successful or the user was not a member, and the updated list of members is not returned.
TWITTER RETRIEVE COMPLIANCE JOB BY ID
Retrieves status, download/upload URLs, and other details for an existing Twitter compliance job specified by its unique ID.
TWITTER RETRIEVE COMPLIANCE JOBS
Returns a list of recent compliance jobs, filtered by type (tweets or users) and optionally by status.
TWITTER RETRIEVE DM CONVERSATION EVENTS
Retrieves Direct Message (DM) events for a specific conversation ID on Twitter, useful for analyzing messages and participant activities.
TWITTER RETRIEVE POSTS FROM A SPACE
Retrieves Tweets that were shared/posted during a Twitter Space broadcast. IMPORTANT: This endpoint returns Tweets that participants explicitly shared during the Space session, NOT audio transcripts, comments, or reactions. Most Spaces have zero associated Tweets, so empty results (result_count=0) are normal and expected. Twitter Spaces are primarily audio conversations - this endpoint only returns text Tweets that were shared alongside the audio.
TWITTER RETRIEVE POSTS THAT QUOTE A POST
Retrieves Tweets that quote a specified Tweet, requiring a valid Tweet ID.
TWITTER RETRIEVE POSTS THAT REPOST A POST
Retrieves Tweets that Retweeted a specified public or authenticated-user-accessible Tweet ID, optionally customizing the response with fields and expansions.
TWITTER RETURNS POST OBJECTS LIKED BY THE PROVIDED USER ID
Retrieves Tweets liked by a specified Twitter user, provided their liked tweets are public or accessible.
TWITTER RETURNS THE OPEN API SPECIFICATION DOCUMENT
Fetches the OpenAPI specification (JSON) for Twitter's API v2, used to programmatically understand the API's structure for developing client libraries or tools.
TWITTER RETWEET POST
Retweets a Tweet for the authenticated user. The user ID is automatically fetched from the authenticated session - you only need to provide the tweet_id to retweet.
TWITTER SEARCH FOR SPACES
Searches for Twitter Spaces by a textual query, optionally filtering by state (live, scheduled, all) to discover audio conversations.
TWITTER SEND A NEW MESSAGE TO A DM CONVERSATION
Sends a message, with optional text and/or media attachments (using pre-uploaded `media_id`s), to a specified Twitter Direct Message conversation.
TWITTER SEND A NEW MESSAGE TO A USER
Sends a new Direct Message with text and/or media (media_id for attachments must be pre-uploaded) to a specified Twitter user; this creates a new DM and does not modify existing messages.
TWITTER SPACE LOOKUP BY SPACE ID
Retrieves details for a Twitter Space by its ID, allowing for customization and expansion of related data, provided the Space ID is valid and accessible.
TWITTER SPACE LOOKUP BY THEIR CREATORS
Retrieves Twitter Spaces created by a list of specified User IDs, with options to customize returned data fields.
TWITTER SPACE LOOKUP UP SPACE IDS
Fetches detailed information for one or more Twitter Spaces (live, scheduled, or ended) by their unique IDs; at least one Space ID must be provided.
TWITTER UNFOLLOW A LIST
Enables a user (via `id`) to unfollow a specific Twitter List (via `list_id`), which removes its tweets from their timeline and stops related notifications; the action reports `following: false` on success, even if the user was not initially following the list.
TWITTER UNFOLLOW USER
Allows the authenticated user to unfollow an existing Twitter user (`target_user_id`), which removes the follow relationship. The source user ID is automatically determined from the authenticated session.
TWITTER UNLIKE POST
Allows an authenticated user (`id`) to remove their like from a specific post (`tweet_id`); the action is idempotent and completes successfully even if the post was not liked.
TWITTER UNMUTE USER BY USER ID
Unmutes a target user for the authenticated user, allowing them to see Tweets and notifications from the target user again. The source_user_id is automatically populated from the authenticated user's credentials.
TWITTER UNPIN A LIST
Unpins a List (specified by list_id) from the authenticated user's profile. The user ID is automatically retrieved if not provided.
TWITTER UNRETWEET POST
Removes a user's retweet of a specified Post, if the user had previously retweeted it.
TWITTER UPDATE LIST
Updates an existing Twitter List's name, description, or privacy status, requiring the List ID and at least one mutable property.
TWITTER UPLOAD LARGE MEDIA
Use this to upload GIFs/videos and for any file larger than 5 MB to X/Twitter.
TWITTER UPLOAD MEDIA
Upload media (images, GIFs, videos) to X/Twitter using the v2 API. Use 'Upload Large Media' for GIFs/videos or any file larger than ~5 MiB; this action is intended for small images and small files only.
TWITTER USER HOME TIMELINE BY USER ID
Retrieves the home timeline (reverse chronological feed) for the authenticated Twitter user. Returns tweets from accounts the user follows as well as the user's own tweets, in reverse chronological order. Useful for displaying the personalized feed without algorithmic sorting. CRITICAL: The 'id' parameter MUST be the authenticated user's own numeric Twitter user ID - use TWITTER_USER_LOOKUP_ME to get your ID first. This endpoint cannot fetch another user's home timeline, and passing any ID that doesn't match the authenticating user (including phone numbers or other user IDs) will result in an error. DEFAULT FIELDS: Tweet objects always return 'id' and 'text' by default. User objects always return 'id', 'name', and 'username' by default when expanded. Do not request these default fields in field parameters.
TWITTER USER LIKE POST
Allows the authenticated user to like a specific, accessible Tweet, provided neither user has blocked the other and the authenticated user is not restricted from liking. The authenticated user's ID is automatically determined from the OAuth token - you only need to provide the tweet_id.
TWITTER USER LOOKUP BY ID
Retrieves detailed public information for a Twitter user by their ID, optionally expanding related data (e.g., pinned tweets) and specifying particular user or tweet fields to return.
TWITTER USER LOOKUP BY IDS
Retrieves detailed information for specified X (formerly Twitter) user IDs, optionally customizing returned fields and expanding related entities.
TWITTER USER LOOKUP BY USERNAME
Fetches public profile information for a valid and existing Twitter user by their username, optionally expanding related data like pinned Tweets; results may be limited for protected profiles not followed by the authenticated user.
TWITTER USER LOOKUP BY USERNAMES
Retrieves detailed information for 1 to 100 Twitter users by their usernames (each 1-15 alphanumeric characters/underscores), allowing customizable user/tweet fields and expansion of related data like pinned tweets.
TWITTER USER LOOKUP ME
Returns profile information for the currently authenticated X user, customizable via request fields.
TWITTER CUSTOM BATCH FOLLOW
Follow multiple Twitter users at once. This tool allows you to follow multiple Twitter users in a single operation. It's more efficient than following users one by one. Use this tool when the user wants to: - Follow multiple users at once - Follow a list of people (e.g., "follow all these tech influencers") - Follow users by username or user ID Parameters: - usernames (list[str], optional): Twitter usernames to follow (without @) - user_ids (list[str], optional): Twitter user IDs to follow At least one of usernames or user_ids must be provided. Returns: - success: Whether all operations completed - results: List of individual operation results - followed_count: Number successfully followed - failed_count: Number of failures Example usage: - "Follow @elonmusk, @sama, and @satyanadella" - "Follow these users: user1, user2, user3"
TWITTER CUSTOM BATCH UNFOLLOW
Unfollow multiple Twitter users at once. ⚠️ DESTRUCTIVE ACTION: This tool requires explicit user consent before execution. This tool allows you to unfollow multiple Twitter users in a single operation. ALWAYS confirm with the user before unfollowing anyone. Use this tool when the user wants to: - Unfollow multiple users at once - Clean up their following list - Unfollow a specific list of accounts Parameters: - usernames (list[str], optional): Twitter usernames to unfollow (without @) - user_ids (list[str], optional): Twitter user IDs to unfollow At least one of usernames or user_ids must be provided. Returns: - success: Whether all operations completed - results: List of individual operation results - unfollowed_count: Number successfully unfollowed - failed_count: Number of failures Example usage: - "Unfollow these accounts: user1, user2, user3" - "Remove these people from my following list"
TWITTER CUSTOM CREATE THREAD
Create a Twitter thread (multiple connected tweets in sequence). This tool creates a series of tweets where each one is a reply to the previous, forming a connected thread. More efficient than multiple individual posts. Use this tool when the user wants to: - Post long-form content split into multiple tweets - Create a tweet storm or tweetorial - Share a story or explanation across multiple tweets Parameters: - tweets (list[str]): List of tweet texts (2-25 tweets). Each tweet max 280 chars. - media_ids (list[list[str]], optional): Media IDs per tweet (use TWITTER_UPLOAD_MEDIA first) Returns: - success: Whether the thread was created - thread_id: ID of the first tweet (thread root) - tweet_ids: List of all tweet IDs in order - thread_url: URL to view the thread Example usage: - "Create a thread about the benefits of AI with 5 points" - "Post this article as a tweetstorm: [long content]" - "Thread these thoughts: 1. First point... 2. Second point..."
TWITTER CUSTOM SEARCH USERS
Search for Twitter users by name, bio, or keywords. This tool helps discover Twitter users when you don't know their exact username. It searches recent tweets to find authors matching the query. Use this tool when the user wants to: - Find someone to follow by name (e.g., "find Elon Musk on Twitter") - Search for people in a specific field (e.g., "find AI researchers") - Look up someone they know but don't have their handle Parameters: - query (str): Search query - name, company, keywords, or partial username - max_results (int, default=10): Maximum users to return (1-50) Returns: - users: List of matching users with profile info - count: Number of users found Example usage: - "Find Elon Musk on Twitter" - "Search for AI researchers" - "Who is @dhruv or someone named Dhruv?"
TWITTER CUSTOM SCHEDULE TWEET
Schedule a tweet for later posting. This tool creates a draft tweet with a scheduled time. Note: Full scheduling requires a backend scheduler service. Use this tool when the user wants to: - Schedule a tweet for a specific time - Plan posts in advance - Set up tweets for optimal posting times Parameters: - text (str): The tweet text content (max 280 characters) - scheduled_time (str): ISO 8601 datetime (e.g., '2024-12-25T10:00:00Z') - media_urls (list[str], optional): Media URLs to attach - reply_to_tweet_id (str, optional): Tweet ID to reply to Returns: - success: Whether the draft was created - draft: The scheduled tweet draft data - message: Status message Example usage: - "Schedule a tweet for tomorrow at 9am: 'Good morning everyone!'" - "Post 'Happy holidays!' on December 25th at noon"
TWITTER CUSTOM GATHER CONTEXT
Get Twitter/X context snapshot: profile info and recent tweets. Zero required parameters. Returns authenticated user's profile and recent activity.
GAIA connects to Twitter via MCP (Model Context Protocol) and exposes every action as a natural-language command. Tell GAIA what you want — it handles the rest, automatically.
Set up your Twitter automation in three simple steps — no code required.
Connect Twitter to GAIA
Open the GAIA Marketplace, find the Twitter integration, and click "Add to your GAIA". Authorise access in under two minutes — no code, no configuration files.
Tell GAIA what to automate in plain English
Describe the task in your own words: "summarise my Twitter activity every morning" or "notify me on Slack when a new social_media event happens". GAIA understands context and intent.
GAIA handles it automatically, 24/7
GAIA runs your Twitter automations in the background around the clock. No manual triggers, no scripts to maintain — just results delivered to you.
Everything you need to know about the GAIA Twitter integration.
Twitter is just one piece of the puzzle. GAIA integrates with 50+ tools across social_media, communication, productivity, and more — letting you build cross-tool automations in plain English without writing a single line of code.
Browse all integrations