Dots + iHatePosting

Post to social media from Dots

Connect iHatePosting in ChatGPT and your dots can use it, drafting, checking and scheduling posts to 14 social networks while you are away.

Nothing is published unless you ask for it in that message.

Autonomous agentsOpenAI

A dot is an OpenAI agent that keeps working when you are not watching it. Connect iHatePosting once in ChatGPT and your dots can use it too, so a dot can draft the week's posts, check each one against the network's own rules and leave them waiting for you — or schedule them, if that is what you told it to do.

How do I connect iHatePosting to Dots?

It takes about a minute. Nothing here needs a download, and the only thing you carry between the two apps is a key you can revoke whenever you like.

  1. 1Step 1

    Create an iHatePosting API key

    Sign in, open Settings → Developers and create a key. It starts with pk_live_, and the same page can show it again whenever you need it.

  2. 2Step 2

    Add iHatePosting to Dots

    Paste this into ChatGPT, not into the dot — a plugin connected in ChatGPT is shared with your dots. Turn Developer mode on first in Settings → Security and login, then paste this URL into chatgpt.com/plugins → + as the MCP server URL, set Authentication to No Auth, tick "I understand and want to continue" and select Create. Replace YOUR_API_KEY with your key.

    Dots — connector
    https://ihateposting.com/mcp?key=YOUR_API_KEY&client=dots
  3. 3Step 3

    Ask it to post

    Tell Dots what you want to say and where. It saves a draft in iHatePosting unless you ask for the post to go out now or at a set time.

What is different about Dots

Every client reaches the same server, and then behaves like itself. These are the things that are true here and not somewhere else.

The connection is made in ChatGPT, not inside the dot. OpenAI says a plugin you connect in ChatGPT's Plugins tab is shared across dots, ChatGPT, ChatGPT Work and Codex, so you set it up once.

Write the standing instruction before you let a dot loose. A dot acts on its own schedule, so the safe shape is drafts without asking and publishing only after you say yes. iHatePosting saves a draft unless it is told otherwise, which means a dot that misreads you leaves work for you to look at rather than posts your followers have already seen.

Treat the URL like a password: anyone who has it can post to your accounts. If it leaks, create a new key in iHatePosting — every older key stops working the moment a new one is made.

A dot can only reach the accounts you have connected at ihateposting.com, and it cannot read your social logins or your password. Remove its access the same way as any other tool, in Settings → Developers.

Limits. OpenAI is rolling dots out to Pro accounts outside the European Economic Area, Switzerland and the UK, and to Business Premium accounts in every supported region; the first dot is included in those plans. Our ChatGPT plugin listing is still in review, so until it is published, connect iHatePosting as a developer-mode app with the URL on this page — the same connection a dot picks up. We have not yet run a dot end to end ourselves. If yours will not connect, tell us through the contact page.

OpenAI's own documentation: Getting started with your dot

Nothing goes out unless you say so

Every post Dots writes is saved as a draft in iHatePosting unless you ask for it to be published now or at a set time. Publishing, rescheduling, retrying and deleting are marked as actions that change things, so clients that honour those markings ask you before they run them. Deleting a post in iHatePosting never removes one that is already live on a network.

What is the iHatePosting MCP?

MCP — the Model Context Protocol — is the standard way an assistant plugs into an app it does not own. Our server exposes the accounts you have connected to Dots as tools, so it can draft, check and schedule without you opening a dashboard.

How Dots uses it

  • You add the connector once — by signing in, or with a key you create
  • Dots reads which accounts you have connected, and each network's rules
  • It writes a version per network and checks it against those rules before sending
  • It saves a draft, schedules it, or publishes — exactly as your message said
  • It works alongside whatever other tools Dots already has
tools Dots can call
# reads — nothing changes
whoami            list_accounts
list_posts        get_post
get_platform_rules  get_analytics
list_media        list_pinterest_boards

# writes — marked as changing things,
# so you are asked first
create_post       update_post
validate_post     reschedule_post
retry_post        delete_post
upload_media

Cost, access and what to do when it breaks

What does it cost?

The connector costs nothing on top of iHatePosting. New accounts get a 90-day free trial with no credit card, and every network on this page is included in it. Paid plans are coming — you will be told what changes before it does.

How is access secured?

Either you sign in to iHatePosting and approve access, or you create an API key in Settings → Developers. That page can show your key again whenever you need it. Whichever route you take, it reaches only the accounts you have already connected, and you can revoke it at any time without touching the accounts themselves.

Something not working?

  • It cannot see any accounts: connect them in iHatePosting first, then ask it to list them again.
  • You regenerated your key and it still fails: Regenerate revokes the old key the moment you press it, and a client that is already running keeps sending the old one until you genuinely restart it.
  • A post failed: open it in iHatePosting — the failure names the network and repeats what that network actually said.

Frequently asked questions

Do I set this up inside the dot?

No. You connect iHatePosting in ChatGPT, under Plugins, and the dot picks it up from there. OpenAI shares those connections across dots, ChatGPT, ChatGPT Work and Codex.

Will a dot post something while I am asleep?

Only if you told it to. iHatePosting saves a draft unless the request asks for a schedule or for publishing now, so the standing instruction you give the dot is what decides this. Say drafts without asking, and publishing only with your approval, if you want to see everything first.

How do I stop a dot using my account?

Remove the connection in Settings → Developers, or create a new key there if you connected it with the URL on this page. A new key switches the old one off everywhere it was used.

Dots vs ChatGPT vs Codex: which page do you need?

OpenAI makes all 3, and iHatePosting works with each of them. This page is for Dots. Pick the one you actually type into — the setup differs, and the wrong page will have you pasting a key in a place that has no box for it.

One connection reaches every network

Connect your accounts in iHatePosting once. From then on Dots can post to any of them, and we publish at the time you set — even after you close the chat.

  • Bluesky
  • X
  • LinkedIn
  • Facebook
  • Instagram
  • Threads
  • Pinterest
  • TikTok
  • YouTube
  • Mastodon
  • Telegram
  • Discord
  • Tumblr
  • Slack

Ready to post everywhere from Dots?

Start your 90-day free trial — no credit card, about a minute to your first post.

Sign Up