Tutorials

Why You Still Need a Meta Muse Connector for Instagram Posting

Taras Shynkarenko
Taras Shynkarenko
Updated: 7 min read
How to build a Meta Muse connector for Instagram postingHow to build a Meta Muse connector for Instagram posting

TL;DR, Quick Answer

7 min read

Meta documents that Instagram connects to Muse automatically through Accounts Centre, and documents no publishing action through that link. A custom connector built from the AdaptlyPost OpenAPI spec gives Muse the part Meta leaves undocumented: postType control over Feed, Reel and Story, carousels, scheduled times with a timezone, and a per-platform result you can retry.

Meta already links your Instagram account to its agent, which makes a Meta Muse connector for Instagram posting sound redundant until you read what Meta actually documents about that link. The connection is documented. The publishing is not. Instagram is where the gap bites hardest, because Feed, Reel and Story are three different posts and nothing in the built-in link picks between them.

The short version: Meta's help centre says Facebook, Instagram and Threads connect to Muse automatically when the accounts share an Accounts Centre, and stops there. A custom connector built from a public OpenAPI spec is what gives Muse postType, carousels, a scheduled time and a retry when Instagram rejects a post.

Why build a connector for a network Muse already connects to?

A custom connector earns its place because the automatic Accounts Centre link is documented as a connection and never as a publishing action. The pillar post sets out what Meta does and does not document about that link. The Instagram consequence is what matters here: nothing in the built-in link selects Feed, Reel or Story, sets a publish time, or carries a carousel, so "post this to Instagram" has no way to say which of Instagram's three surfaces it means.

So the honest framing is a documentation gap rather than a missing feature. You can link Instagram to Muse today and take the publishing on trust, or you can hand Muse an API whose entire contract is a document you can open. The pillar covers the shared setup for all nine networks. This page is the Instagram half.

How do I build the Instagram connector?

The Instagram build is the shared connector build plus one changed line in the paste. The pillar post carries the full paste, the credential rule and the reachability constraint. The Instagram delta is the closing instruction, which names the network you want read back.

Do not publish anything yet. Call GET /social-accounts first and show me which
Instagram accounts are connected, with the connectionId for each.

An empty list at this point is an account-type problem rather than a connector problem, and the account-type check below says why.

What does postType control on Instagram?

postType decides which of Instagram's three publishing surfaces the post lands on, and each value demands different media. It lives in instagramConfigs[] alongside the connectionId, and it is the single field an agent gets wrong, because "post it to Instagram" does not say which kind of post.

What to make Muse read back before it publishes
"Post this to Instagram"
  • The sentence names no postType
  • Muse has to choose a value with nothing to go on
  • Make it name the value first
"Post this as a Reel"
  • Muse sets postType: REEL
  • Make it confirm the media is video before it sends
  • Make it confirm the media is video
"Post this as a Story"
  • Muse sets postType: STORY
  • The caption it drafted never renders
  • Make it say so before you approve
Muse saves a working integration as a reusable skill that persists across conversations, and the skill is the saved instruction, so put the read-back in it.

Tell Muse to read the value back to you before the first publish. A vague request produces a question, not a guess, and the read-only-first instruction in the paste above is what trains that habit.

Printed photos laid out in a row on a desk, showing the slide order a carousel needs before it is scheduled.

A carousel goes out as contentType: CAROUSEL with two to ten media URLs in the order a reader will swipe them. There is no separate carousel flag and no per-slide configuration, so the array order is the only thing carrying your sequence. The ordering rules are the same ones that apply outside an agent.

You:  Schedule a carousel for Thursday 10am Kyiv time with these five product
      shots, caption: "Five ways teams use AdaptlyPost this month."
 
Muse: POST /upload-urls  -> 5 presigned URLs
      PUT  each image
      POST /social-posts
        platforms: [INSTAGRAM]
        contentType: CAROUSEL
        text: "Five ways teams use AdaptlyPost this month."
        instagramConfigs: [{ connectionId: "...", postType: "FEED" }]
        mediaUrls: [ ...5 publicUrl values, in order... ]
        scheduledAt: "2026-09-24T10:00:00"
        timezone: "Europe/Kyiv"

Two fields decide whether that call matches what you asked for. text carries the caption, so a Muse call without it publishes five images and no words. And POST /social-posts does not accept raw bytes, so the presigned-URL step has to come first. Both belong in the instruction Muse saves as a skill, because the skill is what it replays the next time you ask.

The connector adds five things Meta documents nowhere for the built-in Instagram link: a scheduled time with a timezone, explicit postType control, carousels, a caption written for Instagram alone, and a result you can read per platform and retry.

Two routes from Muse to your Instagram grid
The Accounts Centre link alone
  • Meta documents the connection, not the publishing
  • No documented scheduling queue
  • No documented post type selection
  • Documented only for Facebook, Instagram and Threads
A custom connector over the API
  • Published OpenAPI 3.0.3 contract you can read first
  • scheduledAt plus timezone books the post
  • postType picks Feed, Reel or Story
  • platformTexts gives Instagram its own caption
  • Per-platform results, and a retry that only re-sends failures
The left column is what Meta documents as of 20 September 2026, not a claim about what the product cannot do.

The per-platform result is the one that changes daily work. GET /social-posts/{id}/results reports each network separately, so a launch that published on LinkedIn and failed on Instagram tells you exactly that, and POST /social-posts/{id}/retry re-sends only the failures. POST /social-posts/bulk books 1 to 100 posts in one call, which is how a month of Reels fits in a single message. If you want the same nine-network behaviour from a different agent, the Grok bot template for Instagram posting drives the identical endpoints.

A woman frowning at her smartphone, standing in for the moment an Instagram account turns out to be the wrong type or a saved skill has gone stale.

What breaks on Instagram specifically?

Two things break that the connector cannot fix: an account type Instagram's publishing API refuses, and a saved Muse skill holding endpoint shapes that have since changed.

AdaptlyPost
AdaptlyPost

Start 7-Day FREE Trial

All-platform analytics

Social Inbox

AI-powered assistant

Instagram's publishing API accepts Business and Creator accounts only, so a personal profile connects and then never appears as a publishable target in GET /social-accounts. That is a scope and account-type question, and it is the first thing to check when Muse reports an empty list. Instagram's own media rules bite every agent the same way, and the carousel guide covers them.

The second failure is the one Muse brings with it. Muse saves a working integration as a reusable skill that outlives the conversation, and that saved instruction holds the endpoint shapes it learned on the day it built the connector. As of 20 September 2026 Meta publishes no answer for what happens when your API changes underneath a saved skill, so re-run the read-only check after any API change rather than assuming the skill aged well.

Where to look when Instagram publishing stops
1
Read the list. Make Muse call GET /social-accounts and show which Instagram accounts it sees.
2
Check the account type. Instagram's publishing API accepts Business and Creator accounts only.
3
Check the scope. An account that connects but never appears is a scope and account-type question.
4
Re-run the read-only check. Do it after any API change, because the saved skill still holds the old endpoint shapes.
Meta publishes no answer for what happens to a saved skill when your API changes, as of 20 September 2026.

Frequently Asked Questions

Can Muse post to Instagram without a custom connector?

Meta documents the Accounts Centre link as a connection and never as a publishing action, so nothing Meta publishes says how a request routed through it would pick Feed, Reel or Story. Why Meta's documentation stops at the connection covers the evidence; the connector is what supplies postType, scheduledAt and a carousel.

Which Instagram account types can the connector publish to?

The connector publishes to Instagram Business and Creator accounts, because those are the only types Instagram's publishing API accepts. A personal profile converts in the Instagram app under Settings, Account type and tools, and then appears in GET /social-accounts like any other connection.

Can Muse schedule an Instagram Story?

Yes, once the connector supplies postType: STORY with a scheduledAt time and a timezone, which is the pairing the Accounts Centre link has no field for. Make Muse repeat both values before you approve, because an Instagram Story has no caption field, so any text Muse drafted will not appear on the published Story. Instagram's own 24-hour expiry runs from publish time, not from the moment Muse booked it.

Does Muse ask before it posts to Instagram?

Meta's stated default is that Muse will not take many important actions without approval, and as of 20 September 2026 the Connectors permission under Settings then Permissions offers "Ask for some actions" or "Always ask". Approval prompts appear in the client UI rather than inside the conversation. Keep per-post approval for the first week of posting.

How do I cut Muse off from my Instagram account?

Revoke the adaptly_ token at adaptlypost.com/api-tokens and every call the connector makes returns 401, which stops Muse creating or changing posts and leaves your social account connections untouched. As of 20 September 2026 Meta's connectors, approvals and privacy help pages document disconnecting listed connectors under Settings then Connectors, and none of them documents removing a custom connector Muse built.

A carousel takes two to ten media URLs, sent with contentType: CAROUSEL. There is no per-slide setting, so the order of the array is the order a reader swipes. Put the images in that order before Muse makes the call.

Can Muse write a different caption for Instagram than for other networks?

Yes, through platformTexts, which gives Instagram its own caption. The text field still carries the main caption, and a call without it publishes the images with no words. Ask Muse to read both back before you approve.

Can Muse schedule a month of Instagram Reels in one go?

POST /social-posts/bulk books 1 to 100 posts in one call, so a month of Reels fits in a single message. Each post still needs postType: REEL and video media, so have Muse confirm the media is video before it sends the call.

What happens if Instagram rejects a post Muse sent?

GET /social-posts/{id}/results reports each network separately, so you see that Instagram failed even if LinkedIn went through. Then POST /social-posts/{id}/retry re-sends only the failures. The posts that already published are left alone.

Why does Muse show no Instagram accounts?

An empty list from GET /social-accounts is usually an account-type problem. Instagram's publishing API accepts Business and Creator accounts only, so a personal profile connects and never appears as a target. Convert it in the Instagram app under Settings, Account type and tools.

Create an AdaptlyPost API token and hand Muse the spec, or read the full connector guide first.

Sources: Meta's Muse connectors help article, Meta's guidance and approval page, Parallel's custom integrations write-up (14 September 2026), and the AdaptlyPost OpenAPI spec. Checked 20 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