Prompt
I run a small bakery. Tomorrow we are introducing a cardamom bun. Write an Instagram caption: warm, 2 short paragraphs, mention it is only on weekends, invite people to tag a friend, and use 6 hashtags at most. Attach the photo from https://example.com/img/cardamom-bun.jpg and save it as an Instagram draft through the connector. How to do it
- Connect Instagram and mint a key In https://app.socialhandoff.com, open Connections, connect an Instagram professional account (Business or Creator). Then create an agent key named ChatGPT scoped to Instagram with draft and schedule permission.
- Add a custom connector Turn on developer mode in ChatGPT settings, create a connector with the MCP URL https://app.socialhandoff.com/mcp, and send the agent key as a bearer token. Pick the connector in the composer before you ask for a draft.
- Attach the media Give ChatGPT a public https link to the JPEG image, Reel, or carousel (up to 10 items). It calls attach_media with the url and alt text, gets a media id, and passes it to draft_post in mediaIds. You can also attach files in the inbox instead. Instagram refuses approval or scheduling without media.
- Ask for the draft Ask for the caption in a chat with the connector selected. ChatGPT asks you to confirm the draft_post call, then the draft appears in your inbox as pending.
- Review and approve Check the caption, hashtag count, and alt text on the approval card. On approval, the post publishes; if Instagram's daily quota is full, it is deferred by an hour.
Example draft
New this weekend: the cardamom bun. Soft, buttery layers twisted with freshly ground cardamom and a little orange zest, baked every Saturday and Sunday morning. They go fast, so come early. Tag the friend you would share one with (or not). #bakery #cardamombun #weekendbaking #freshbread #smallbusiness #pastry [Image: close-up JPEG of a cardamom bun, alt text: "A twisted cardamom bun on a baking tray"]
Gotchas
- Captions allow 2,200 characters, 30 hashtags, and 20 mentions. A thread is joined into one caption, so a 5-part draft becomes one long caption.
- ChatGPT asks you to confirm each write action. Confirming draft_post only creates a pending draft; nothing is posted until you approve in the inbox.
- Only professional accounts (Business or Creator) can connect. A personal account is refused at connect time with instructions to switch.
- Account type: Professional accounts only (Business or Creator). Personal accounts cannot publish through the API.
- Media: Every post needs an image or video. Text-only posts are not possible on Instagram.
- Image files: JPEG only, up to 8 MB. Convert PNG or WebP before posting.
- Reels: Video posts publish as Reels, from MP4 or MOV files.
Frequently asked questions
What happens if I hit Instagram's daily limit?
The daily publishing quota is checked before each post. If it is full, the post is deferred by an hour instead of failing.
Which ChatGPT plans can add the connector?
Custom MCP connectors need developer mode, which OpenAI offers on the web for paid plans. Workspace admins may need to allow it.
Can I post a carousel to Instagram this way?
Yes. Attach 2 to 10 images or videos and the post publishes as a carousel. Single images take alt text; set it when you upload with the alt field.