Prompt
We are launching the new walnut desk organizer on Tuesday. Write an Instagram caption in our voice: open with the problem (cables everywhere), 3 short lines on what it fixes, the price ($49), and at most 5 hashtags. Attach the photo at https://example.com/press/organizer.jpg with alt text and save it as an Instagram draft. 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 Claude Desktop scoped to Instagram with draft and schedule permission.
- Add the server to Claude Desktop Open Settings, then Developer, then Edit Config, and paste the mcpServers entry that runs npx -y socialhandoff-mcp with your key. Quit and reopen Claude Desktop so draft_post appears in the tools menu.
- Attach the media Give Claude Desktop 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 Paste your launch notes and the prompt. Claude calls draft_post with networks set to instagram and shows the approval card with the caption and hashtag count.
- 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
Cables on the floor, chargers in a drawer, and a desk that never looks finished. The walnut organizer fixes that: - a channel that hides 3 cables - a slot for your phone while it charges - a tray for the small stuff $49, shipping Tuesday. Link in bio. #desksetup #workfromhome #walnut #minimaldesk #homeoffice [Image: overhead JPEG of the organizer on a clean desk, alt text: "Walnut desk organizer holding a phone, cables routed through a channel"]
Gotchas
- If you ask Claude to schedule the draft before the photo is attached, schedule_post is refused with a clear error. Draft first, attach the image, then schedule or approve.
- Instagram refuses text-only posts. A draft can be saved as text first, but approving or scheduling it is refused with a clear error until an image or video is attached.
- attach_media takes a public https link or small base64 data. For a photo that only lives on your laptop, attaching it in the inbox is usually quicker than pasting it into the chat.
- Images must be JPEG (up to 8 MB). A PNG screenshot is not accepted, so convert it before upload.
- 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
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.
Can Claude Desktop publish without me?
No. A new key is draft-only and can never approve its own drafts. You approve every post until you promote the key on the trust ladder.
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.