- Brand
- SupaBird
- Category
- Pending
- Primary Subcategory
- Pending
Integration details
Description
Write drafts in your voice or like creators you follow, then schedule them on X. Check today's growth tasks, posting slots, and performance, and optionally cross-post to LinkedIn, Threads, or Bluesky. Research public posts, profiles, trends, lists, and communities without leaving ChatGPT. Generate post ideas from your own content or posts you supply.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- SupaBird
- Access
- Account required
- First tracked
- 2026-10-04
- Tool count
- 59
- Geography
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Get alerts for SupaBird
Get updates when SupaBird’s Discoverability Score or category rank changes.
Competitive lineup
59 tools agents can invoke
Add a repeating posting slot to the weekly calendar. Ask for weekday (or today/tomorrow) and local time (HH:MM, 24-hour) if missing. Optional tag_name such as value, fun, or random. This changes the weekly template, not a single date. Confirm with the user before adding.
add_posting_slot
Mark one of today's SupaBird Daily Tasks as complete. IMPORTANT: - Only call this after the user confirms they did the task, or after you finished it with them using other tools. - Use the task id from get_daily_tasks (e.g. "ideas_lab_save_edit" or "dyn_targets_2026-09-18"). - Do not complete locked, placeholder, or already-completed tasks. - After success, show the updated formattedText list. If the user asks what their tasks are, call get_daily_tasks first.
complete_daily_task
Fetch a daily X performance report from your SupaBird DailyStats history (markdown: tables, tweet cards, images when available). When to call: - Omit local_date for the most recent completed day (**yesterday** in your Analytics timezone). - Pass local_date as **YYYY-MM-DD** for a specific calendar day. IMPORTANT: After the tool returns, show the response **verbatim** to the user (full markdown). Do not rewrite it as a short prose summary—users need tables, tweet cards, and image previews. If SupaBird has no stats for that day, the tool returns a clear message (coverage starts March 4, 2026, or no row for that date).
get_daily_performance_report
Fetch today's SupaBird Daily Tasks from Home (newcomer intro package or ongoing post-trial Home). When to call: - User asks what to do today, for their daily tasks, Home tasks, or a growth checklist. - Before helping them work through today's posting / engagement / coaching actions. RESPONSE FORMATTING: - Present formattedText as the task list (do not replace it with a short paraphrase). - Then offer to help complete available tasks using other SupaBird tools (search, drafts, scheduling, performance report). - Only show tasks that are already in the list. Do not mention generating placeholders or ask the user to retry for personalized tasks. - If eligible is false, explain the message and do not invent tasks. Do NOT mark tasks complete from this tool. Use complete_daily_task only after the user confirms they did the work, or after you finished it with them.
get_daily_tasks
Load the user's **overview analytics** report from X Coach (high/low engagement insights, examples, and tweet cards). When to call: - User asks for an overview, account review, what content works, or X Coach overview — not a single day's report. - For a specific calendar day, use get_daily_performance_report instead. IMPORTANT: After the tool returns, show formattedText **verbatim** (do not replace with a short summary). If no overview exists yet, tell the user to generate one in the SupaBird app (X Coach → Overview).
get_overview_analytics
Show the user's posting calendar slots and which ones are free, filled, or already past. When to call: - User asks what slots are available today, this week, or on a date. - Before scheduling into a slot, or when they ask how many posts they planned. Pass date as YYYY-MM-DD (defaults to today in their slot timezone). days=1..7 to look ahead. Do not invent times. Free slots can be filled with schedule_post using the slot's iso timestamp.
get_posting_slots
Get a list of the user's scheduled posts (tweets) or scheduled retweets that have not yet been posted. Each item includes `_id`. If the user asks to cancel, unschedule, or remove a scheduled post, call unschedule_post with that `_id`. To also post an existing queued item to LinkedIn/Threads/BlueSky, call cross_post with that `_id`. Do not tell them to use the Calendar unless the tool fails. To cancel several posts, call unschedule_post once per `_id`.
get_scheduled_posts
Remove a repeating posting slot from the weekly calendar. Use weekday + local_time from get_posting_slots. Confirm with the user first. This does not unschedule a post already sitting in that slot — use unschedule_post for that.
remove_posting_slot
Schedule a post on X at a specific date and time. Optionally cross-post to LinkedIn, Threads, and/or BlueSky. IMAGES AND VIDEO: - This tool cannot accept image bytes. images takes a public https URL only. Do not encode a chat photo into the arguments. - ChatGPT: if the user attached a photo or video, set chat_files and schedule in this call. ChatGPT fills download_url and file_id. Do not call create_image_upload or create_video_upload first. Do not fill a local /mnt path. - chat_files is an array of up to 4 file objects. At most one item may be an MP4 or MOV. - Any attached image or video is the post media. Do not describe the picture or reject it as a screenshot. Grok: POST the file to upload_url, then call this tool with upload_id. Claude: show upload_url and wait. Claude cannot POST from its sandbox. Do not put the file in images, content, or chat_files. - Show upload_url when this tool returns status "needs_upload_link" or "inline_image_rejected". - A public image URL can still go in images[].url. - Video posts to X, Threads, and BlueSky. LinkedIn skips video. BlueSky video must be 100MB or smaller. - If this tool returns status "pending" or "expired", show the link again and do not claim the post was scheduled. CROSS-POSTING: - Default is X only. Do NOT add also_post_to unless the user asked to post on other networks. - Call get_connected_socials first when the user says "everywhere", "all connected", or names a network. - also_post_to accepts: linkedin, threads, bluesky, or "all" (every connected+ready network). - YouTube, Facebook, Instagram, and Pinterest are coming soon — never claim they posted. - If a network is disconnected or needs reconnect, tell the user to open Account → My Socials. MCP cannot connect accounts. - X community posts still cross-post the same text (without the community) — warn the user. - BlueSky over 300 characters publishes as a thread. LinkedIn max 3000, Threads max 500. - Use platform_texts to send a shorter/adapted caption per network. - After a successful publish, ALWAYS show published_urls to the user as clickable links. If waiting_for_url is set (common on Threads), immediately call get_published_urls with the post _id. - To cancel later, use unschedule_post (cancels X and other networks).
schedule_post
Cancel one queued post so it will not publish. Call this only after the user asks to unschedule or cancel that post. post_id is the _id from get_scheduled_posts. This removes the publish time on X and any other scheduled networks. A post that has not gone out is kept as a draft. A scheduled repost is cancelled, and the original published post stays live.
unschedule_post
Move or retag a posting slot. - To change the weekly template: weekday + local_time + new_local_time and/or tag. - To change one date only: also pass date (YYYY-MM-DD). That stores a date override and leaves other weeks unchanged. Confirm with the user before moving a slot.
update_posting_slot
Rewrite the user's text into X/Twitter post drafts using ONLY the user's personal writing style (PSR — Personal Style Rulebook). This tool captures the user's unique tone and voice. IMPORTANT: This tool requires the user to have a Personal Style Rulebook. If they don't have one, the tool will return an error. Before calling this tool, make sure you have collected ALL of the following from the user: 1. The text/topic to rewrite 2. How many drafts (1–5) 3. Post length (short / average / long / very_detailed) 4. Standard or punchy formatting If ANY of these are missing from the user's message, ASK the user before calling this tool. Do NOT assume defaults.
write_in_my_style
Rewrites the user's text or topic into X post drafts using the Personal Style Rulebook and Quality Post Rulebook stored on their SupaBird account, when those rulebooks exist. Saves the drafts in the account. Does not publish them. Use when the user wants drafts that mix their own voice with their saved creator writing patterns. For personal voice only, use write_in_my_style. For creator patterns only, use write_like_my_creators. Optional inputs default if omitted: number_of_drafts=2, length=average, punchy=false. language uses the account preference, or the input language if unset.
write_in_supabird_style
Rewrite the user's text into X/Twitter post drafts in the style of a SPECIFIC creator. This tool writes purely in that creator's voice — no personal style blending. HOW IT WORKS: 1. You provide a creator's X/Twitter username 2. The tool looks up the creator and loads their writing style rulebook 3. If the creator doesn't have a style rulebook yet, this tool will return instructions to run "learn_creator_style" first — follow those instructions, then call this tool again 4. Drafts are generated using the creator's style Before calling this tool, make sure you have collected ALL of the following from the user: 1. The creator's X/Twitter username (without @) 2. The text/topic to rewrite 3. How many drafts (1–5) 4. Post length (short / average / long / very_detailed) 5. Standard or punchy formatting If ANY of these are missing from the user's message, ASK the user before calling this tool. Do NOT assume defaults.
write_like_creator
Rewrite the user's text into X/Twitter post drafts using ONLY the Quality Post Rulebook (QPR) — the writing patterns from the user's selected creators. This ignores the user's personal style and writes purely in the style of their chosen creator inspirations. IMPORTANT: This tool requires the user to have a Quality Post Rulebook (QPR) from selected creators. If they don't have one, the tool will return an error. Before calling this tool, make sure you have collected ALL of the following from the user: 1. The text/topic to rewrite 2. How many drafts (1–5) 3. Post length (short / average / long / very_detailed) 4. Standard or punchy formatting If ANY of these are missing from the user's message, ASK the user before calling this tool. Do NOT assume defaults.
write_like_my_creators
Look up public profiles for up to 20 numeric user ids the user already named.
Check whether source_user_name follows / is followed by target_user_name.
Check the status of a generation job started by generate_ideas. If status is 'running': inform the user and call this tool again after a few seconds with the same job_id. Generation often takes 60–180 seconds. Do not stop after 30 seconds. If status is 'completed': present the posts. If status is 'failed': show the error. Never stop polling until status is 'completed' or 'failed'. RESPONSE FORMATTING: Always display the full post content as-is, never summarize, shorten, or paraphrase. Show each post in its entirety exactly as returned.
Call this when any image is attached or the user wants media on a post. That file is the post media. Do not describe it. Do not say it is a screenshot, DevTools, or the wrong file. Grok: POST the file yourself to upload_url as multipart/form-data field images, with Accept: application/json. Then get_image_upload and schedule_post with upload_id when status is ready. For video, POST JSON {filename, mimeType, size, duration} to upload_url + "/video-url", PUT the bytes to the returned uploadUrl, then POST upload_url with form field video_r2_key. Claude: show upload_url and stop. The Claude sandbox has no network and cannot POST this file. Do not try. Do not put the file in a SupaBird argument. In ChatGPT, do not call this while a file is attached. Pass it on schedule_post in chat_files. Call this only when schedule_post returns needs_upload_link. The page accepts up to 4 images and one MP4 or MOV.
Call this when a video is attached or the user wants video on a post. That file is the post media. Do not describe it or reject it. Grok: POST JSON {filename, mimeType, size, duration} to upload_url + "/video-url", PUT the bytes to the returned uploadUrl, then POST upload_url with form field video_r2_key and Accept: application/json. Then get_image_upload and schedule_post with upload_id. Claude: show upload_url and stop. The Claude sandbox cannot POST the file. Do not try. Do not put the file in a SupaBird argument. In ChatGPT, do not call this while a file is attached. Pass it on schedule_post in chat_files. Call this only when schedule_post returns needs_upload_link. Limits: 512MB, 10 minutes, one MP4 or MOV, plus images up to 4 attachments total. Video posts to X, Threads, and BlueSky. LinkedIn skips video. BlueSky video must be 100MB or smaller.
Cross-post an EXISTING SupaBird post to LinkedIn, Threads, and/or BlueSky. Use this when the post is already scheduled or already live on X. For a brand-new post, use schedule_post with also_post_to instead. - Get post_id from get_scheduled_posts (`_id`). - also_post_to: linkedin, threads, bluesky, and/or "all" (every connected+ready network). - Scheduled posts are queued on the other networks at the same time. Posted posts publish immediately. - Skip networks that are already queued/posted, disconnected, over character limit, or coming soon — report those as skipped, do not pretend they posted. - Quote posts and trash cannot be cross-posted. - After publish, ALWAYS show published_urls as clickable links. If a URL is missing, call get_published_urls with this post_id. - MCP cannot connect accounts; send the user to Account → My Socials.
Dismiss the MCP update notification. Use this when the user says 'don't notify me' or similar.
Filter posts loaded from an X list or community. Call this after get_list_tweets, get_list_timeline, get_community_tweets, or search_community_tweets when the user wants only posts that match a description. Pass the tweets array from that tool response unchanged. Do not drop, summarize, or rewrite posts before filtering. description is the user's filter in plain language, for example "posts asking for feedback" or "founders sharing revenue". source: - "list" — drop replies first, same as Engage lists - "community" — keep replies, same as Engage communities - omit source when the page is not a list Returns only the posts that match, highest engagement first. Display each post's full text, author, and url. Do not paraphrase.
This tool starts a background job and returns a job_id immediately — it does NOT return posts directly. After calling this you MUST call check_ideas_status with the returned job_id and keep polling until status is 'completed' or 'failed'. Tell the user generation is in progress while you wait. Generate new X/Twitter post ideas using the current Ideas Lab engine (two modes only). Generation often takes 1–3 minutes — after this tool returns a job_id you MUST keep calling check_ideas_status until completed or failed. Do not stop after 30 seconds. IMPORTANT: Before calling this tool, always ask the user for any missing required information. Do not make assumptions or use defaults. Do NOT offer deprecated options: remix, niche, viral, or myPosts. Required information to collect: 1. **Writing style** — exactly one of: - "myStyle": write in the user's personal tone - "creators": write in a chosen creator's style 2. **Idea source** — exactly one of: - "user": ideas from the user's own posts - "creator": ideas from a chosen creator 3. **Number of posts** — how many ideas to generate (5–20). 4. **Creators** — required when ideaSource is "creator" OR writingStyle is "creators". At least one X/Twitter username (without @). Only call this tool once you have all required answers from the user.
This tool generates new X/Twitter post ideas using a provided array of posts as inspiration instead of database posts. It starts a background job and returns a job_id immediately — it does NOT return posts directly. After calling this you MUST call check_ideas_status with the returned job_id and keep polling until status is 'completed' or 'failed'. Tell the user generation is in progress while you wait. Required information to collect: 1. **Writing style** — exactly one of: "myStyle" (personal tone) or "creators" (chosen creator's style). Do NOT offer remix. 2. **Posts**: An array of strings containing the posts the user wants to use as inspiration. 3. **Number of posts**: Number of posts to generate. 4. **User instructions**: Free-form instructions to guide generation. Can be used to describe specific length, tone, topics to focus on, etc. Only call this tool once you have all required answers from the user.
Get an X Article by tweet id (twitterapi.io). Costs credits per article. Prefer search_tweets for general tweet search.
Get X Community info by community id.
Get members of an X Community. Page size 20; use cursor to paginate.
Get moderators of an X Community. Page size 20; use cursor to paginate.
Get tweets from an X Community (newest first). Page size 20; use cursor to paginate.
List the user's connected social accounts for cross-posting: X, LinkedIn, Threads, and BlueSky. Call this BEFORE scheduling to other networks, or when the user asks what is connected / why a network failed. Returns ready vs disconnected vs needs_reconnect, character limits, and coming-soon platforms (YouTube, Facebook, Instagram, Pinterest). If a network is missing or needs reconnect, tell the user to open Account → My Socials. MCP cannot connect accounts.
Check whether the user finished adding images or a video at the link from create_image_upload or create_video_upload. When status is pending, show upload_url again. When status is ready, call schedule_post with the same upload_id. Do not schedule while status is pending. video_count is 1 when a video was saved.
Get followers of an X list. Page size 20; use cursor to paginate.
Get members of an X list. Page size 20; use cursor to paginate.
Get timeline tweets from an X list. Use cursor to paginate. Billed as list timeline + tweet volume.
Get tweets from an X list by list id (~20 per page). Use cursor to paginate. Prefer get_list_timeline for the list home timeline endpoint.
Return the public URLs for a SupaBird post on X, LinkedIn, Threads, and BlueSky. Use this when the user asks for the link/URL/permalink after posting, or when schedule_post / cross_post came back without a URL (Threads often publishes before the permalink exists). - Pass the post `_id` from the previous tool result or get_scheduled_posts. - Show every returned URL to the user as a clickable link. Do not invent URLs. - If a network is still scheduled or waiting_for_url is set, say so and offer to check again.
Get X Spaces detail by space id.
Get X trends by WOEID location id. count minimum is 30 (API default 30). WOEID reference: https://gist.github.com/edwinmauger/2c75916359bd245f059fc1fc13348587
Get quote tweets for a tweet id (~20 per page). Use cursor to paginate.
Get replies to a tweet (v1). Tweet must be an original post. Up to ~20 per page; use cursor to paginate. Prefer get_tweet_replies_v2 for Relevance/Latest/Likes sorting.
Get replies to a tweet (v2). Up to ~20 per page. queryType: Relevance (default), Latest, or Likes.
Get one page of public accounts that reposted a single tweet the user named. Pass cursor only if the user asks for another page.
Get thread context around a tweet (ancestors + related replies). Use cursor to paginate.
Fetch tweets by one or more tweet ids (comma-separated under the hood).
Get extended profile 'about' info by screen name.
Get one page of public follower profiles for a single account the user named. Pass cursor only if the user asks for another page.
Get one page of public follower ids for a single account the user named. Provide userName or userId. Pass cursor only if the user asks for another page.
Get one page of public accounts a single user follows. Pass cursor only if the user asks for another page.
Get a user profile by screen name (userName).
SupaBird ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve SupaBird's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.