Custom app connections are available on the Team plan. See White-label Connections for the overview.
Quick Connect vs Custom App
What You Need
Three values from your own TikTok app:
TikTok access tokens last 24 hours, so Markifact refreshes them with your client key and secret on every run. Refresh tokens last 365 days and rotate on every refresh: Markifact stores the newest one automatically, so once connected you do not have to touch the connection again.
Already have your own authorization flow? If your systems already hold a Login Kit refresh token issued by your app, skip to Connect to Markifact. Paste the latest refresh token you hold: an older, already-rotated one is rejected.
Scopes
Request all of these when the account holder authorizes. Missing scopes surface later as TikTok permission errors on the node.Setting Up Your Custom TikTok App
1
Create the App
- Go to the TikTok for Developers portal and create an app
- Add the Login Kit and Content Posting API products, and request the scopes listed above
- Under Login Kit, add a Redirect URI you control (for example
https://www.youragency.com/tiktok-callback). TikTok appends the auth code to this URL after authorization; the page does not need to do anything - Submit the app for review and wait for TikTok to approve the scopes. Agencies that already run their own integrations will have this in place
2
Get the Client Key and Secret
Open your app’s page in the portal and copy the Client key and Client secret.
3
Generate a PKCE Pair
TikTok requires PKCE, and unlike most providers it expects the challenge as the hex encoding of the SHA-256 hash. Run this in a terminal and keep both values:
4
Authorize and Get the Auth Code
- Open the following URL in a browser, replacing the client key, redirect URI, and challenge:
- Sign in as the TikTok account you want to connect and click Authorize
- TikTok redirects to your URL with
code=...in the query string. Copy the value. Auth codes expire quickly and can be exchanged once, so do the next step right away
5
Exchange the Auth Code for Tokens
Run this request, replacing the values (the redirect URI must match the one used above exactly):The response contains
refresh_token. Copy it.Important: Keep this token secure. Anyone holding it, together with your client key and secret, can post to and read the connected TikTok account.
6
Connect to Markifact
- In Markifact, go to the Connections page
- Click Connect on TikTok
- Select the Custom App (White-label) tab
- Enter a Connection Name (for example “Acme Agency TikTok”)
- Paste your Client Key, Client Secret, and Refresh Token
- Click Verify & Connect
Selecting Your Connection
Custom app connections appear under the name you chose, with a Custom app badge on the Connections page. Select them in TikTok nodes, agents, and MCP exactly like any other TikTok connection. The connection name is also the account name shown in report rows.Rotating or Replacing the Token
Add the connection again with the same connection name and the new values. Markifact replaces the stored credentials in place, so workflows and agents bound to the connection keep working.Troubleshooting
TikTok rejected the client key or client secret (invalid_client)
TikTok rejected the client key or client secret (invalid_client)
Check both values on your app’s page in the TikTok for Developers portal. Resetting the secret invalidates the old one.
TikTok rejected the refresh token (invalid_grant)
TikTok rejected the refresh token (invalid_grant)
The most common causes:
- The token was issued by a different app than the one whose client key you pasted
- The token has already been rotated: refresh tokens are single-use, so paste the newest one your system holds
- The token expired (365 days) or the account holder revoked the app under TikTok Settings > Security > Connected apps
TikTok returned no open_id for this token
TikTok returned no open_id for this token
The token was issued without the
user.info.basic scope. Include it when authorizing and exchange a new code.A node fails with a permission error after connecting
A node fails with a permission error after connecting
The token is missing one of the scopes in the table above, or TikTok has not approved that scope for your app yet. Check the scopes and the review status in the portal, then authorize again and paste the new refresh token.
Summary
Related
White-label Connections
Overview of custom app connections across channels
Publish Post
Publish videos and photos to a TikTok account

