Tutorials

Turn Clips Into Reels With an OpenAI dots Plugin for Instagram Posting

Taras Shynkarenko
Taras Shynkarenko
•Updated: •6 min read
How to use an OpenAI dots plugin for Instagram postingHow to use an OpenAI dots plugin for Instagram posting

TL;DR, Quick Answer

6 min read

OpenAI launched dots on 29 September 2026 with an example dot that turns a transcript into clips and drafts social posts for approval. For Instagram, that workflow runs through the AdaptlyPost MCP server added in ChatGPT developer mode. The dot must set postType to FEED, REEL or STORY, send media as public HTTPS URLs, and keep the uploaded publicUrl. Publishing needs a Business or Enterprise workspace.

Turning a clip into a scheduled Reel is the job an OpenAI dots plugin for Instagram posting fits best, and it sits close to the example OpenAI used to launch dots on 29 September 2026. The dot drafts, you approve, and AdaptlyPost publishes. Instagram adds one field the dot has to get right every time, postType, and a media step where a dot's memory works against you.

The short version: add the AdaptlyPost MCP server using the pillar setup, then tell your dot to name the postType before every Instagram post, to pass media as public HTTPS URLs, and to save each post as a draft for your approval.

What does OpenAI's launch example mean for Instagram?

OpenAI's launch post describes a dot at work: "When a new interview transcript arrives, it identifies moments for clips, prepares show notes, and drafts social posts for your approval." OpenAI's docs add that you "refine the title or tone... before publishing." For Instagram, that is a Reel caption waiting in a queue for your yes.

The dot works on its own cloud computer, where OpenAI says it can "browse, analyze information, create files, and run tools." AdaptlyPost takes media as public HTTPS URLs. Its upload_media tool accepts URLs or base64 data, and get_upload_urls returns presigned URLs for a direct upload. As of 29 September 2026 OpenAI has not documented whether a dot's computer can push a file to a presigned URL, and workspace admins control cloud network access. The dependable path is a clip already at a public URL, passed to upload_media.

Event triggers work "when a connected service supports event monitoring", per OpenAI. If the service holding your clips supports it, "a new clip arrived" can start the dot. If not, a recurring task that checks the folder each morning does the same job.

From clip to published Reel
Clip at a public URL
upload_media
Dot names postType
Saved as draft
You approve
AdaptlyPost publishes
Anything that publishes passes two gates, the saved draft and your approval.

Can a dot on ChatGPT Pro publish to Instagram?

A dot on ChatGPT Pro cannot publish or schedule Instagram posts through a custom MCP server, going by OpenAI's August 2026 help article, which limits Pro to "read/fetch permissions in developer mode." Business and Enterprise workspaces get full MCP. The plan table and the read-only test are in the pillar guide.

A Pro dot still reads. It lists your Instagram accounts, shows what is scheduled, and pulls per-post numbers from list_post_analytics, which is how you judge a week of Reels without opening the app.

A creator films a vertical video clip on a smartphone, the kind of footage that becomes an Instagram Reel.

What does postType control on Instagram?

postType decides whether an Instagram post lands in the Feed, as a Reel or as a Story, and the AdaptlyPost spec ties each value to a content type. It lives in instagramConfigs next to the connectionId. The spec states it plainly: FEED works with every content type, REEL needs contentType: VIDEO, STORY needs IMAGE or VIDEO, and "any other combination is rejected with a 400."

Instagram postType and what each value needs
FEED
  • Any content type, carousels included
  • The caption goes in text
REEL
  • contentType: VIDEO only
  • thumbnailUrl or thumbnailTimestampMs sets the cover
STORY
  • IMAGE or VIDEO, no carousel
  • The drafted caption never renders
Check this table first when AdaptlyPost returns a 400 on an Instagram post.

"Post this to Instagram" names no postType, so make the dot say which value it chose and why before it drafts. With Custom Rules set to "Ask before taking action", that read-back lands in the approval you already see.

For a Reel, thumbnailUrl sets a custom cover and thumbnailTimestampMs picks a frame from the video instead. A dot that chose the clip already knows which moment it liked, so ask it for that timestamp. Facebook uses the same FEED, REEL and STORY values in facebookConfigs, keyed by pageId, so one call puts the Reel on both networks with postType set twice.

Can a dot post an Instagram trial Reel?

A dot posts a trial Reel by adding trialGraduation to instagramConfigs, which the AdaptlyPost spec defines with two values. MANUAL keeps the Reel with non-followers until you share it to followers in the Instagram app. SS_PERFORMANCE lets Instagram share it to followers if it performs well.

The field needs contentType: VIDEO and a postType of REEL, FEED or none. Images, carousels and Stories are rejected with a 400. Instagram decides which professional accounts can post trial Reels and caps how many go out through the API, and a refused trial fails that platform with an error saying so. This suits a dot: it drafts two hooks for the same clip, you approve one as a trial, and a weekly read of list_post_analytics tells you which to post properly.

A hand swipes through a row of photos on a phone, matching how readers move through a carousel slide by slide.

A dot schedules a carousel as contentType: CAROUSEL with postType: FEED and the images in mediaUrls in the order a reader swipes them. The spec sets no per-slide options, so array order carries the sequence. mediaAltTexts follows the same order and goes to Instagram, so ask the dot to write alt text for every slide.

AdaptlyPost
AdaptlyPost

Start 7-Day FREE Trial

All-platform analytics

Social Inbox

AI-powered assistant

{
  "platforms": ["INSTAGRAM"],
  "contentType": "CAROUSEL",
  "text": "Five ways teams use AdaptlyPost this month.",
  "instagramConfigs": [{ "connectionId": "<id from list_accounts>", "postType": "FEED" }],
  "mediaUrls": ["<publicUrl 1>", "<publicUrl 2>", "<publicUrl 3>"],
  "mediaAltTexts": ["Slide 1 alt text", "Slide 2 alt text", "Slide 3 alt text"],
  "scheduledAt": "2026-10-02T10:00:00",
  "timezone": "Europe/Kyiv",
  "saveAsDraft": true
}

The spec sets no slide count, and Instagram enforces its own. The carousel guide covers those rules. text carries the caption, and platformTexts gives Instagram its own caption when the same call also goes to other networks.

What breaks on Instagram with a dot?

Three things break Instagram posts from a dot, and one of them comes from the dot's memory. The first is account type. Instagram's publishing API accepts Business and Creator accounts only, so a personal profile never appears as a target. That is a scope and account-type question, and it is the first check when list_accounts shows no Instagram.

The second is stale media links. The spec warns that after publishing, a post's mediaUrls "may hold expiring platform CDN links", and says to reuse the publicUrl you uploaded, not a URL read back from a published post. A dot forms its own memories, and you cannot view or edit them. Tell it in every task to keep the publicUrl and never reuse a link read from a published post.

The third is Stories. A Story shows no caption, so text the dot drafted for it disappears, and Instagram's 24-hour clock starts at publish time. Check list_post_results after anything goes out, and retry_failed_platforms re-sends only what failed.

Frequently Asked Questions

Can a dot post to Instagram without AdaptlyPost?

OpenAI names no Instagram plugin in its dots material as of 29 September 2026. A dot can drive the Instagram website in its own browser, which gives you no schedule, no postType control and no per-platform retry. A plugin against a published API is the better trade for anything timed.

Does the dot ask before posting to Instagram?

A dot set to "Ask before taking action" for AdaptlyPost asks before it acts there. OpenAI's launch example is a dot that "drafts social posts for your approval", and saveAsDraft: true keeps each Instagram post in AdaptlyPost until you publish it. Keep both gates for the first few weeks.

Can the dot schedule a month of Reels at once?

bulk_schedule_posts books 1 to 100 posts in one call, so a month of daily Reels fits in one request. Each entry needs contentType: VIDEO and postType: REEL in its instagramConfigs. Bulk posts cannot be drafts, so approve the whole batch before the call.

Can a dot repeat the same Instagram post every week?

AdaptlyPost's recurrence field repeats a post DAILY, WEEKLY or MONTHLY from a future scheduledAt, with no dot involved after the first call. Recurrence cannot be combined with drafts. Use a dot recurring task instead when each week needs new content.

Why does my dot see no Instagram account?

An empty Instagram list in list_accounts points to a personal profile, because Instagram's publishing API accepts Business and Creator accounts only. Convert the account in the Instagram app, then reconnect it in AdaptlyPost. An account marked unauthorized needs reconnecting before it posts.

How is this different from the Muse and Grok routes?

Meta's Muse links Instagram through Accounts Centre and builds a custom connector from the OpenAPI spec for publishing, covered in the Meta Muse connector guide for Instagram. The Grok bot template for Instagram installs from a share link. A dot calls the hosted MCP server and signs in with OAuth.

Can a dot post an Instagram Story?

A dot posts a Story with postType: STORY and a contentType of IMAGE or VIDEO. Carousels are not allowed. A Story shows no caption, so any text the dot drafted disappears, and Instagram's 24-hour clock starts at publish time.

What happens if the dot picks the wrong postType?

AdaptlyPost rejects any combination the spec does not allow with a 400. REEL needs contentType: VIDEO, and STORY needs IMAGE or VIDEO. FEED works with every content type.

How does a dot choose a Reel cover?

Set thumbnailUrl for a custom cover image, or thumbnailTimestampMs to pick a frame from the video. A dot that chose the clip already knows which moment it liked, so ask it for that timestamp in the draft.

How do I check that a dot's Instagram post went out?

Ask the dot to call list_post_results after anything goes out. If one platform failed, retry_failed_platforms re-sends only what failed.

Start a 7-day AdaptlyPost trial, connect Instagram, and follow the dots setup guide. The Instagram scheduling tool runs the same queue without an agent, on Creator at $19 a month, Pro at $39 or Enterprise at $89.

AdaptlyPost
AdaptlyPost

Start 7-Day FREE Trial

All-platform analytics

Social Inbox

AI-powered assistant

Sources: OpenAI's dots launch post, dots safety post, dots user docs, admin guide, the MCP help article (updated August 2026), AdaptlyPost's agent setup docs and the AdaptlyPost OpenAPI spec. Checked 29 September 2026.

Was This Article Helpful?

Let us know what you think!

See us more often in Google

One click marks AdaptlyPost as a preferred source, so our articles sit higher in your Top Stories, AI Mode, and AI Overviews.

Before you go...

AdaptlyPost

AdaptlyPost

Schedule your content across all platforms

Manage all your social media accounts in one place with AdaptlyPost.

All-platform analytics

Social Inbox

AI-powered assistant

Related Articles