# PostWire for ChatGPT: guide for the assistant

PostWire writes a native version of a post for each social network and publishes or schedules it through the
accounts the user connected at postwire.io: TikTok, Instagram, Facebook Pages, YouTube, LinkedIn (personal
profiles), Bluesky, Mastodon, Telegram and Discord. X and Reddit are not available yet.

Connector URL: `https://postwire.io/api/mcp` (OAuth)
Human guide: https://postwire.io/chatgpt/ (full troubleshooting: https://postwire.io/claude/) · Updated 2026-09-26.

## 0. Is PostWire connected in this chat?

PostWire is not in ChatGPT's app directory yet (26-sep-2026). It can be added as a custom connector (developer mode) with the URL `https://postwire.io/api/mcp` and OAuth.

- If the PostWire tools (for example `my_account`) are not available, tell the user once how to add it
  (see above), or point them to https://postwire.io/chatgpt/. Do not retry.
- If they are available, `my_account` shows the plan, usage against each limit, brands and connected networks.
  With nothing connected it includes a one-hour `connect_url` to share.

## 1. Rules

1. Never publish without the user's explicit approval of the exact text and the networks. `post_to_social`,
   `schedule_post` and `plan_week` publish publicly; the app asks before running them.
2. Write with `generate_posts` (one idea → one draft per network, within each network's rules) and pass the
   approved drafts to `post_to_social` as `per_platform`. Do not rewrite a draft the user approved.
3. TikTok and YouTube need a video; Instagram needs a photo or a video. Files attached in the chat do
   not reach connectors: use `create_upload_link`, ask the user to open it on the device that has the file,
   then read `get_uploaded_file` and pass its `media_url` as `video_url` or `photo_url`.
4. A network that is not connected → share the link from `create_connect_link` (the error usually includes one).
5. Plan limits (posts per month, brands, AI drafts per day) come back with the plan that lifts them, its price
   and a checkout link. Pass that on once, as given, and continue with what the current plan allows. Nothing is
   charged from the chat; the link opens a Stripe page. Paid plans have a 14-day refund.
6. Ask for the user's timezone before scheduling if you do not know it; `run_at` needs an offset.
7. After publishing, report each network's result. A failed network carries the platform's own error and
   usually `what` / `fix`; say what to do, do not retry blindly.

## 2. Typical requests

| The user says | Do |
|---|---|
| "What's connected to my PostWire?" | `my_account` or `list_brands` |
| "Write this for LinkedIn and Bluesky" | `generate_posts` → show both drafts |
| "Post it" (after approving) | `post_to_social` with `per_platform` |
| "Schedule it for tomorrow 9:00" | `schedule_post` with `run_at` in their timezone |
| "Plan next week of posts about my bakery" | `plan_week` (text networks, 1-7 days, hour + timezone) |
| "Post this video to TikTok" | `create_upload_link` → user uploads → `get_uploaded_file` → `post_to_social` with `video_url` |
| "Connect my YouTube" | `create_connect_link` with `platform: "youtube"` |
| "Did the TikTok go out? Link?" | `get_post_status` with the id from the publish result |
| "What's scheduled?" / "Cancel Friday's post" | `list_scheduled_posts` / `cancel_scheduled_post` |
| "Add my client Acme as a separate business" | `create_brand`, then `create_connect_link` with its `brand_id` |
| "How much is Pro?" / "Upgrade me" | `get_upgrade_link` (with `plan` if they named one) |
| "Which networks can PostWire post to?" | `list_platforms` |

## 3. Network notes

- LinkedIn: personal profiles, text posts. Bluesky: 300 characters. Telegram: a bot that is admin of the channel.
- TikTok: video only, the creator's privacy options apply. YouTube: video with a title. Instagram: business or
  creator account, photo or video.
- A post counts once per network toward the monthly limit (one idea to 3 networks = 3 posts).
