.env; until then the lane is live-but-unauthenticated and waits for you to connect it (set PENDPOST_MODE=mock to exercise it through the mock driver).
Beta lane. TikTok is built but not yet live-verified end to end, so treat it as a preview and do not rely on it for guaranteed delivery. The lane loses this badge once it is live-verified.
Unaudited apps post privately. Until your app passes TikTok’s content-posting audit, every post is forced to
SELF_ONLY, visible only to the posting account. Submit the app for audit to publish publicly.Setup ceremony
The app uses theuser.info.basic, video.upload, and video.publish scopes. The auth command runs a local loopback server to receive the authorization code.
- Create a developer app. Open the TikTok developer portal and create an app. Add the Login Kit and Content Posting API products. Copy the client key and client secret from the app credentials.
- Record the client secret. Copy the client secret and store it. It is used on the token exchange and refresh calls.
- Add the redirect uri. In the app settings, register the redirect uri exactly:
http://127.0.0.1:8088/oauth/tiktok/callback. The auth command runs a local loopback server there.
Environment variables
A lane publishes only once its credential is present. If the TikTok variables are blank, the TikTok lane is live-but-unauthenticated and waits for you to connect it. Set
PENDPOST_MODE=mock to exercise it through the mock driver.Validate the lane
A present credential is not the same as a working one. After setup, validate the TikTok lane in the Setup tab, or run a live probe with thehealth_recheck tool, to confirm the credential is live and not just configured. The lane is ready when it reports live.
Over MCP. Setup and rotation are an interactive human ceremony; secrets are never written through MCP. An agent can still check status (
account_status), run a live liveness probe (health_recheck), and read non-secret config (config_get) over MCP without touching credentials.