Skip to main content
Markifact supports two ways to connect a TikTok account for organic publishing and reporting: using the built-in Markifact app (Quick Connect) or connecting through your own TikTok app (Custom App). With a custom app, the account holder authorizes your app, and every request Markifact makes runs under it, so your clients never see Markifact in their connected apps.
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

  1. Go to the TikTok for Developers portal and create an app
  2. Add the Login Kit and Content Posting API products, and request the scopes listed above
  3. 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
  4. 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

  1. Open the following URL in a browser, replacing the client key, redirect URI, and challenge:
  1. Sign in as the TikTok account you want to connect and click Authorize
  2. 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

  1. In Markifact, go to the Connections page
  2. Click Connect on TikTok
  3. Select the Custom App (White-label) tab
  4. Enter a Connection Name (for example “Acme Agency TikTok”)
  5. Paste your Client Key, Client Secret, and Refresh Token
  6. Click Verify & Connect
Markifact refreshes the token once with your client key and secret. Nothing is saved unless TikTok accepts all three values; the rotated refresh token TikTok returns is what gets stored.

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

Check both values on your app’s page in the TikTok for Developers portal. Resetting the secret invalidates the old one.
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
Run the authorization again and paste the new refresh token.
The token was issued without the user.info.basic scope. Include it when authorizing and exchange a new code.
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


White-label Connections

Overview of custom app connections across channels

Publish Post

Publish videos and photos to a TikTok account