Tutorials

Twelve Fields to Fill in a Meta Muse Connector for TikTok Posting

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

TL;DR, Quick Answer

7 min read

I found no TikTok connector in any Muse connector roster I could check on 20 September 2026, so the route is a custom connector against a public API spec. TikTok carries the richest config in the AdaptlyPost API: twelve keys, a required privacy level with no default, and three disclosure flags an agent has no business guessing. Run week one on sendAsDraft.

As of 20 September 2026 no TikTok connector appears in any Muse connector roster I can check, so a Meta Muse connector for TikTok posting is one you ask the agent to build for itself. That part is a paste. The part worth your attention is what comes after, because TikTok carries twelve config keys where LinkedIn carries none, one of them is a choice you must make with no default to fall back on, and three of them are disclosure flags with consequences outside the API.

The short version: point Muse at the public AdaptlyPost spec, then pin down privacyLevel, aiGenerated and sendAsDraft before you let it publish. Everything else in tiktokConfigs has a sane omission. Those three do not.

Why is there no TikTok connector in Muse?

I found no TikTok connector in any Muse connector roster I could check on 20 September 2026. Meta's connectors help page publishes no list of available connectors. The roster in circulation comes from Parallel's hands-on write-up of 14 September 2026, which names Gmail, Google Calendar and Workspace, Ticketmaster, OpenTable, Spotify, Apple Health, Function Health, Peloton and Plaid, plus Facebook, Instagram and Threads through Accounts Centre. Alexandr Wang's post of 8 September 2026 adds Outlook, Google Docs, Withings, Tailscale and Messenger, and ends with "and more", so it is not a closed list. TikTok appears in neither, and Meta has published no roster of its own to check against.

That leaves two routes, and they are not equivalent. Meta documents the first: "If you want to connect to a service not yet available in the Connector list, you can ask Muse to create a Custom Connector." Parallel's hands-on test of 14 September 2026 is what puts that client code on Muse's own cloud virtual machine; Meta says only that the VM has enough storage, CPU and memory to compile code the agent writes. The full build, credential flow, no-review warning and revocation path live in the pillar guide. The second route is Muse's browser sub-agent driving tiktok.com with your login, which the pillar guide costs out against a scoped token.

What do I paste into Muse for TikTok?

The paste is the public spec URL plus an explicit instruction to stop before publishing. TikTok and YouTube are the two networks whose configs let a first run go out privately, so say so in the paste rather than hoping the agent infers it.

Build a custom connector for AdaptlyPost against the OpenAPI spec at
https://post.adaptlypost.com/post/api/v1/openapi.json. Auth is a Bearer
token, handled the way the pillar guide's paste sets out.
 
Do not publish anything yet. Call GET /social-accounts, then read me back the
TikTokPostConfig schema field by field and ask me for privacyLevel,
aiGenerated and sendAsDraft before you build a payload.

The second paragraph of that paste is the whole post. In Parallel's test Muse read a spec, listed the operations and called each one end to end in under a minute. What it has no way to know is whether your video was generated, who the brand partner is, or whether you meant this one to be public.

Which fields does a TikTok post actually carry?

TikTokPostConfig carries twelve keys, one of which is the connection ID, leaving eleven real choices per post. Group them and the shape is obvious.

TikTokPostConfig, grouped by who decides
Copy and routing, safe for the agent
  • connectionId
  • title
  • caption
Required, no default
  • privacyLevel
Interaction, ask once then reuse
  • allowComments
  • allowDuet
  • allowStitch
  • autoAddMusic
Disclosure, never guess
  • aiGenerated
  • brandedContent
  • brandedContentOwnBrand
sendAsDraft is the twelfth and sits outside all four groups. It is the escape hatch, covered further down. connectionId is required too, but the agent reads it from GET /social-accounts rather than guessing it.

TikTok is the only network in the API carrying both title and caption, separate from the post's shared text field. The spec caps title at 90 characters and caption at 2200, so a caption written into the title slot fails validation rather than publishing wrong. Read the first payload back before it goes anywhere.

A closed padlock on a wooden gate, standing for a private-only setting that someone has to choose on purpose.

Why can Muse not guess privacyLevel?

privacyLevel takes PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR or SELF_ONLY, it is required on every TikTok post, and nothing in the spec says which one you meant. There is no default to fall back on. AdaptlyPost rejects the payload before it reaches TikTok: privacyLevel sits in the required array on TikTokPostConfig, so POST /social-posts returns a 400 validation error and no post is created.

Two ways to handle the required field
Let Muse pick
  • It picks PUBLIC_TO_EVERYONE, because it is the first value in the enum and the spec carries no example to steer it
  • Your test video lands on the For You page
  • Nothing in the payload looks wrong, so nothing flags it for you
  • Deleting it afterwards is your job, not the agent's
Make Muse ask
  • One question per post, answered in a word
  • First runs go out on SELF_ONLY
  • You see the real caption, title and thumbnail
  • Switch to public once three posts read right
Meta says some agent actions cannot be undone and puts the fixing on you. A public test post is the cheap version of that lesson.

When should the agent set aiGenerated or brandedContent?

aiGenerated is the boolean the spec exposes; what it obliges you to disclose is TikTok's rule, not AdaptlyPost's. Read TikTok's current AI-generated content policy before you pick a default, and have Muse ask on every post rather than infer.

brandedContent and brandedContentOwnBrand are TikTok's paid-partnership disclosure, split by whether the brand is yours or a client's. An agent has no way to know which. Put both in the same bucket as privacyLevel: values you supply per post. The Grok bot template for TikTok posting ships a skill that asks these questions before publishing, worth copying into your Muse paste.

A creator films a short video on a phone mounted on a tripod, the kind of clip that goes to drafts for a final check before publishing.

Why start week one on sendAsDraft?

sendAsDraft: true pushes the video into your TikTok drafts instead of publishing it, which splits the work along the line an agent is good at. Muse handles the upload, the metadata and the schedule. You handle sounds, effects and the cover frame in the TikTok app.

A one-week ramp
1
Day one, read only. Muse calls GET /social-accounts and reads back your TikTok connection. No payload yet.
2
Day two, SELF_ONLY. One real publish, private. This exercises POST /upload-urls, the PUT and POST /social-posts end to end.
3
Day three onward, sendAsDraft: true. Muse fills the drafts folder. You finish and publish by hand.
4
Week two, scheduled publish. Keep approval on for writes and check GET /social-posts/{id}/results after each one.
Steps two and three cost nothing and catch the title and caption mix-up before anyone outside your team sees it.

What breaks on TikTok specifically?

A missing privacyLevel is the first failure, and AdaptlyPost catches it at request validation, so the 400 body names the missing field and nothing else. Image-only posts are the second: this path is built for video, and an agent that treats TikTok like Instagram sends the wrong contentType. The third is the one nobody sees coming: the agent writes the caption into title, where the 90-character cap fails validation before anything leaves AdaptlyPost.

AdaptlyPost
AdaptlyPost

Start 7-Day FREE Trial

All-platform analytics

Social Inbox

AI-powered assistant

Two more belong to Muse rather than to TikTok. The saved skill holds the endpoint shapes it read on the day it was built, and as of 20 September 2026 Meta publishes nothing about what happens when your API changes underneath it, or about 429 handling and timeouts. A local upload helper is not an option either, for the reason the pillar sets out.

The recovery path is the same one every multi-network post uses. GET /social-posts/{id}/results returns the outcome per platform, so a post that landed on Instagram and failed on TikTok says exactly that, and POST /social-posts/{id}/retry retries only TikTok.

A post that fails on TikTok only
POST /social-posts
Lands on Instagram, fails on TikTok
GET /social-posts/{id}/results
Outcome named per platform
POST /social-posts/{id}/retry
Only TikTok retried
A missing privacyLevel never reaches this path, because the 400 means no post ID exists.

Frequently Asked Questions

Does Muse have a TikTok connector?

I found no TikTok connector in any Muse connector roster I could check on 20 September 2026. Meta publishes no list of its own, and TikTok is absent from both Parallel's launch roster of 14 September 2026 and Alexandr Wang's post of 8 September 2026, which ends with "and more" rather than closing the list. The route in is a custom connector against a public API.

What happens if the agent omits privacyLevel?

AdaptlyPost rejects the request. privacyLevel is listed in required on TikTokPostConfig, so POST /social-posts returns a 400 validation error, no post ID exists and there is nothing to read results against. Supply the value and resend the create call.

Should Muse set aiGenerated on every post it writes?

Set aiGenerated when the video itself was generated or modified by AI. The flag is a plain boolean in the spec, and what it obliges you to disclose is TikTok's rule rather than AdaptlyPost's, so read TikTok's current AI-generated content policy before you pick a default. Tell Muse to ask rather than infer.

Can Muse post to TikTok through Instagram or Facebook instead?

No. Meta documents that Facebook, Instagram and Threads connect to Muse automatically through Accounts Centre, and never states what Muse does with them once connected. As of 20 September 2026 no verified publish through those connectors has been reported anywhere I can find, and none of them touches TikTok, which runs its own publishing API.

Is the browser route ever the right answer for TikTok?

Only when no API exists, which is not the case here. As of 20 September 2026 Meta documents that Muse's browser sub-agent sees an accessibility tree snapshot rather than the raw DOM and cannot run JavaScript in the page. The browser route also has no equivalent of GET /social-posts/{id}/results, so there is no per-platform outcome to read.

What do I paste into Muse to build a TikTok connector?

Paste the public spec URL, https://post.adaptlypost.com/post/api/v1/openapi.json, and say that auth is a Bearer token. Add an instruction not to publish yet. Tell Muse to read back the TikTokPostConfig schema and ask you for privacyLevel, aiGenerated and sendAsDraft before it builds a payload.

Which privacyLevel values does a TikTok post accept?

The four values are PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR and SELF_ONLY. The field is required and has no default. Run first posts on SELF_ONLY and switch to public once three posts read right.

What is the difference between title and caption on a TikTok post?

TikTok is the only network in the API with both fields, separate from the shared text field. The spec caps title at 90 characters and caption at 2200. A caption written into title fails validation rather than publishing wrong.

What does sendAsDraft do on a TikTok post?

With sendAsDraft set to true, the video goes into your TikTok drafts instead of publishing. Muse handles the upload, the metadata and the schedule. You add sounds, effects and the cover frame in the TikTok app.

How do I retry a TikTok post that failed?

Call GET /social-posts/{id}/results to see the outcome per platform. If the post landed on Instagram and failed on TikTok, that call says so. POST /social-posts/{id}/retry then retries only TikTok, as long as you pass that platform's platformId from the results call in the required platformIds array.

Create an AdaptlyPost API token and hand Muse the spec, or read the pillar guide first if you have not built a custom connector before.

Sources: Meta's Muse connectors help article, 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