The two TikTok OAuth grants and the capabilities each one unlocks

The TikTok Business Messaging API: Two Grants, Not One

Most integration problems on TikTok are not bugs. They are a permission model that looks like one connection and is really two, failing quietly in the half nobody checked.

An account authorises once and starts replying to comments within minutes, which feels like success. The direct-message half needs a second, separate grant, and until it is completed every DM step in every flow does nothing at all – no error surfaced to the person who commented, no obvious failure in the dashboard, just a branch that never fires.

This page is the layer underneath the rest of the cluster: which grant carries which scope, what actually arrives on a webhook, how to tell a half-connected account from a working one, and which limits belong to TikTok rather than to any tool. The non-technical version of the same story is in our guide to TikTok auto replies, and the build itself is in TikTok comment to DM.

Key Takeaways

Key Takeaways
Two OAuth steps, not one. Login Kit carries the comment scopes; a separate Business Messaging grant carries the message.* scopes.
Comments work before messaging does – which is exactly why the gap goes unnoticed until a DM step silently never runs.
Comment automation is webhook-driven, not polled. TikTok posts the event and signs it.
Four capability booleans tell you what a connected account can really do. Read them rather than trusting the word “connected”.
The caps are TikTok’s, not the tool’s: a 48-hour window, ten consecutive outbound messages, three public reply steps, and a text length TikTok enforces.

Two Grants, and Why That Matters

The single most useful thing to understand before integrating anything.

Login Kit Comes First

The first authorisation is Login Kit. It carries the comment scopes – comment.list and comment.list.manage – along with profile and video access. With that alone an integration can read the comments under your posts and reply to them publicly.

For a lot of accounts this is already the useful half. Comment automation is the mechanic that works best on TikTok anyway, so a connection that stops here still does real work – which layer of tool you actually need is the subject of our TikTok DM automation guide.

Business Messaging Is Separate

Direct messages need a second grant entirely: a Business Messaging authorisation carrying the message.* scopes. Receiving a message and sending one are distinct capabilities behind it.

Nothing about completing the first step implies the second. They are separate consent screens, granted at different times, and an account can sit indefinitely with one and not the other.

The Failure Is Silent

This is the part worth designing around. A flow whose trigger is a comment and whose action is a DM will fire the trigger, match the keyword, and then do nothing – because the send has no permission behind it. The commenter sees no error. The campaign looks active.

If comment replies work and DMs never arrive, check the second grant before checking anything else. It is the first thing to suspect and it is almost always the answer.

The two TikTok OAuth grants and which capabilities each one unlocks
Comments work after the first grant. DMs need the second, and nothing says so.

Reading a Connection Honestly

Four booleans, and they are worth more than the word “connected”.

The Capability Snapshot

A properly built integration exposes what an account can actually do rather than whether a token exists. Four flags carry it: whether public comment replies are available, whether direct messages can be received, whether they can be sent, and whether comment-to-message is available.

Those four answer every “why is this not working” question on this platform, and they answer it before anybody reads a log.

Status Is Not Capability

An account also carries a lifecycle status – active, inactive, disconnected or deleted – and only an active one runs campaigns. That is a different question from what the active account is permitted to do.

Both need checking. An active account missing the messaging grant and a disconnected account look identical from the outside: nothing happens.

Tokens Expire, Quietly

TikTok tokens are refreshed on a schedule ahead of expiry rather than when a call fails. Where that refresh is missing or has stopped, the symptom is the same silent nothing – which is the recurring theme of this platform and the reason monitoring matters more here than on channels that return a loud error. TikTok’s own account and privacy controls, which sit upstream of all of this, are documented in its help centre.

Which Grant Carries What

The map most integration guides leave out.

CapabilityNeedsWorks without the second grant?
Read comments on your postsLogin KitYes
Reply publicly to a commentLogin KitYes
Receive a direct messageBusiness MessagingNo
Send a direct messageBusiness MessagingNo
Comment-to-DMBothNo – the comment half fires, the DM does not
Send a TikTok post or Q&A cardBusiness MessagingNo
Row five is the one that produces the silent failure, because half of it works.

The capability differences across the other channels we support are set out in our comparison of DM apps.

What Arrives, and How

Events, not polling – which changes how you think about reliability.

Comment Events Are Pushed

Comment automation runs on TikTok’s COMMENT webhooks: TikTok posts the event to a callback URL you register, and the integration acts on it. There is no polling loop and no interval to tune.

The practical consequence is that your callback has to be reachable and fast. An endpoint that is slow or intermittently down does not queue politely – it loses events, and a lost comment event is an automation that simply did not happen.

Signed, and Worth Verifying

Inbound webhooks carry a signature header, and verifying it is not optional. An unverified public endpoint that triggers outbound messages is an invitation to have your account send whatever a stranger posts to it – the same exposure that makes unsolicited mass DM a bad idea, arriving from the other direction.

Any integration worth connecting verifies the signature before acting. If you are building rather than buying, this is the first thing to get right and the easiest to skip.

Three Values You Register

An app id, an app secret and the webhook callback URL, registered on TikTok’s developer portal. That is the whole configuration surface, and it is worth noting how small it is: almost everything else that varies between integrations is a product decision rather than a platform one.

The four TikTok messaging ceilings that no integration can raise
These belong to TikTok. No subscription and no amount of code moves them.

Ceilings That Belong to TikTok

Worth knowing before you design around a number that cannot move.

Four Hard Limits

A forty-eight hour window to reply to someone who messaged. A maximum of ten consecutive outbound messages. A maximum of three public reply steps in one campaign. And a message length TikTok enforces rather than suggests.

All four are platform limits. A tool can surface them, warn you before you hit them, or hide them until you do – but none can raise them, and a vendor implying otherwise is describing something they cannot deliver.

What the API Does Not Expose at All

There is no product catalogue on this channel, so a send that works on WhatsApp or Instagram has no TikTok equivalent. There is no follower gate. And TikTok Shop and TikTok Live are separate surfaces that comment and DM automation does not reach.

None of those are gaps in a particular tool. They are the shape of what TikTok exposes, and the honest version of a comparison table says so. The catalogue sends that do exist elsewhere are covered in our WhatsApp automation guide, and the comparable per-channel ceilings in our guide to Instagram DM limits.

Build or Buy

A fair question, and the answer depends on one thing more than the rest.

What You Would Be Building

Two OAuth flows and their refresh cycles, a signature-verified public endpoint, retry and idempotency for events that arrive twice, keyword matching with sensible modes, per-recipient throttling so you do not walk into the consecutive-message cap, and a view of the four capability flags so support can answer “why is nothing happening”.

None of it is hard. All of it is maintenance, and the platform changes underneath it.

The Question That Decides It

Whether TikTok is the only channel you will ever automate. If it is, building is defensible. If Instagram, WhatsApp or Messenger are coming, you are not building a TikTok integration – you are starting a multi-channel one, and each channel has its own permission model, its own windows and its own silent failures.

That is the point at which most teams stop building. The comparison of what differs per channel is in our DM marketing guide.

Connecting It Properly

Six steps. The second is the one that gets skipped and causes the rest.

1

Complete Login Kit first

Comment scopes plus profile and video. Comment replies will start working, which is encouraging and incomplete.

2

Complete the Business Messaging grant

A separate consent screen for the message scopes. Until this is done every DM step is a no-op that reports nothing.

3

Read the capability flags, not the word ‘connected’

Comment reply, receive DM, send DM, comment-to-DM. All four should be true before you build a flow that depends on them.

4

Register and verify the webhook

Signature verification before any action. An unverified endpoint that sends messages is a liability, not a shortcut.

5

Test the DM half deliberately

Comment on your own video from a second account and confirm the message arrives. Testing only the public reply is how the gap survives to production.

6

Monitor for silence, not for errors

This platform fails quietly. Alert on ‘no events for N hours’ rather than waiting for an exception that will not come.

Symptom to Cause

The four things that actually go wrong, and where to look first.

SymptomMost likely causeCheck
Comments reply, DMs never arriveBusiness Messaging grant missingThe send-DM capability flag
Nothing fires at allAccount not active, or webhook unreachableAccount status, then the callback
Worked, then stopped silentlyToken refresh lapsedToken expiry and refresh job
Fires on the wrong videoKeyword scoped account-wideTrigger scope
Fires for some comments onlyMatch mode stricter than intendedWord vs contains vs exact
Sequence stops partwayHit the consecutive-message capTen outbound maximum
Five of these six present identically from the outside: nothing happens.

Keyword match modes and trigger scope are covered properly in the comment-to-DM guide.

How DMpro Connects TikTok

DMpro walks both authorisations – Login Kit for the comment scopes, then the Business Messaging grant for the message scopes – and exposes what the account can actually do afterwards rather than a single connected badge. Comment events arrive on signature-verified webhooks, and tokens refresh ahead of expiry.

The ceilings are TikTok’s and are surfaced rather than worked around: the forty-eight hour window, ten consecutive outbound messages, three public reply steps, and the message length TikTok enforces.

DMpro Features
  • Both OAuth grants, with the second one prompted rather than assumed
  • Capability flags for comment reply, send DM, receive DM and comment-to-DM
  • Signature-verified comment webhooks
  • Scheduled token refresh ahead of expiry
  • Keyword match modes: word, contains, exact
  • Per-recipient cooldowns that keep you inside the consecutive cap
DMpro Pros
  • The half-connected state is visible instead of silent
  • Same builder across Instagram, WhatsApp, Messenger, Telegram and Discord
  • Platform ceilings are surfaced, not hidden behind a plan tier
DMpro Cons
  • No product catalogue on TikTok – the API does not expose one
  • No follower gate on this channel
  • TikTok Shop and TikTok Live are not reachable

Conclusion

The TikTok messaging API is small, and the one thing that catches everybody is that it is split. Login Kit gets you comments; a separate Business Messaging grant gets you direct messages; and the gap between them produces a flow that triggers correctly and then does nothing, with no error anywhere.

So read capabilities rather than connection state. Four booleans – comment reply, receive, send, comment-to-DM – answer almost every support question on this channel before anyone opens a log.

And treat the ceilings as fixed, because they are. Forty-eight hours, ten consecutive messages, three public reply steps, an enforced length, no catalogue and no follower gate. Designing inside them is quick. Designing around them is work that cannot succeed.

Connect Both Halves, Then Build

Official TikTok connection, both grants, and the capability flags surfaced rather than hidden.

Start free

Frequently Asked Questions

1. What is the TikTok business messaging API?
The interface that lets an authorised application receive and send direct messages for a TikTok business account. It is separate from the comment access granted by Login Kit, and needs its own authorisation carrying the message scopes.
2. Why do my comment replies work but my DMs never send?
Almost always because only the first authorisation was completed. Login Kit carries the comment scopes; direct messages need a separate Business Messaging grant, and until it exists every DM step silently does nothing.
3. Which scopes does each grant carry?
Login Kit carries the comment scopes – comment.list and comment.list.manage – plus profile and video access. The Business Messaging grant carries the message scopes that make receiving and sending direct messages possible.
4. Is TikTok comment automation polled or pushed?
Pushed. TikTok posts comment events to a callback URL you register, signed with a signature header that should be verified before the event is acted on. There is no polling interval to tune.
5. What limits does the API impose?
A 48-hour window to reply to someone who messaged you, a maximum of ten consecutive outbound messages, a maximum of three public reply steps per campaign, and a message length TikTok enforces. None of them can be raised by a tool.
6. Can the API send product cards or gate on a follow?
No. Product catalogue sends and the follower gate exist on other channels and are not exposed on TikTok. TikTok Shop and TikTok Live are separate surfaces that this API does not reach.
7. Should I build my own integration?
Only if TikTok is the one channel you will ever automate. Two OAuth flows, token refresh, a signed webhook endpoint, idempotency and throttling are all maintainable – until the second channel arrives with a different permission model.
[elementor-template id="24702"]