- Create a TikTok Developer Account.
- Register an app in the TikTok Developer Portal.
- Apply for Business Messaging API access.
- Configure app permissions and redirect URLs.
- Configure Chatwoot with the
App IDandApp Secretobtained from TikTok. - Set up the webhook for incoming messages.
- Connect a TikTok Business Account from the Chatwoot dashboard.
Prerequisites
- A self-hosted Chatwoot instance accessible via a public HTTPS URL
- A TikTok Business Account registered in an eligible region
- Your TikTok Business Account must be set to accept direct messages from everyone. Otherwise, you will need to manually accept messages in the TikTok app. Learn how to update your message settings.
- A TikTok Developer Account at developers.tiktok.com
- Access to the TikTok Business Messaging API (requires special permissions and approval)
- Super Admin access to your Chatwoot instance
Step 1: Create a TikTok Developer Account
- Go to developers.tiktok.com and sign up
- Verify your email address
- Accept the Terms of Service
Step 2: Register Your App

- Go to business-api.tiktok.com/portal/apps and create a new app
- Fill in the required fields:
- App Name: e.g., “Your Company - Chatwoot”
- App Description: Brief description of your messaging use case
- App Icon: Upload your company logo
- Terms of Service URL: Your company’s ToS URL
- Privacy Policy URL: Your company’s privacy policy URL
- Once created, note down your
App ID(client key) andApp Secret(client secret)
Step 3: Apply for Business Messaging API Access
You need to grant your app access to the Business Messaging API. For detailed instructions, refer to the TikTok Business Messaging API access guide.- Open your app in the TikTok Developer Portal
- Navigate to the Business Messaging API product
- Submit an application with:
- Your use case (e.g., customer support via Chatwoot)
- How you will handle user data
- Your organization details
- Wait for TikTok’s review and approval
Approval typically takes a few days but can take longer for specialized access. You cannot proceed with the integration until your application is approved.
Step 4: Configure App Permissions and URLs
Once approved, configure the following in the TikTok Developer Portal.Required Permissions
After your app is approved, ensure the TikTok Accounts permission is enabled under Scope of permission in your app settings.
Authorization Redirect URL
Set the authorization redirect URL to:{Chatwoot installation url}/tiktok/callback
Step 5: Configure Chatwoot
Super Admin Configuration
- Log in to your Chatwoot instance as a Super Admin
- Navigate to
{Chatwoot installation url}/super_admin/app_config?config=tiktok - Enter your
TikTok App IDandTikTok App Secret - Click Submit
Enable TikTok Feature
- In Super Admin, navigate to Accounts
- Select the account where you want to enable TikTok
- Under Features, enable the TikTok channel
- Save the changes
TikTok will only show up in the inbox channel options once you have configured the App ID and App Secret and enabled the feature for the account.
Step 6: Configure Webhook
Set up the TikTok webhook to receive incoming messages. Open a Rails console on your Chatwoot server:{Chatwoot installation url}/webhooks/tiktok.
You can verify the webhook configuration by running:
Step 7: Connect Chatwoot with Your TikTok Account
Follow the TikTok channel user guide to complete the TikTok integration.Troubleshooting
TikTok channel not appearing in inbox options
- Verify the TikTok feature is enabled for the account in Super Admin
- Confirm
TIKTOK_APP_IDandTIKTOK_APP_SECRETare set correctly - Restart the Chatwoot server after configuration changes
OAuth authorization fails
- Ensure the redirect URL in the TikTok Developer Portal exactly matches
{Chatwoot installation url}/tiktok/callback - Verify your TikTok app has all required scopes enabled
- Check that your TikTok app is approved for the Business Messaging API
Not receiving incoming messages
- Verify the webhook is configured by running
Tiktok::AuthClient.webhook_callbackin Rails console - Ensure the webhook URL is publicly accessible over HTTPS
- Check that your TikTok Business Account is in an eligible region
- Review Sidekiq logs for
Webhooks::TiktokEventsJoberrors
Messages failing to send
- Check if the 48-hour reply window has expired
- Verify the access token is valid -Chatwoot automatically refreshes tokens, but if the refresh token expires (30 days), the channel will need reauthorization
- Ensure you are sending a supported message type (text only, or a single image)
- Check Sidekiq logs for
SendReplyJoberrors
Channel shows “Reauthorization Required”
This happens when both the access token (around 24 hours) and refresh token (around 30 days) have expired, typically due to inactivity.- Go to Settings → Inboxes → select the TikTok inbox
- Click Reauthorize
- Complete the TikTok OAuth flow again
Webhook signature verification fails
- Ensure
TIKTOK_APP_SECRETmatches the secret in your TikTok Developer Portal - Check server clock synchronization -TikTok’s signature verification requires timestamps within 5 seconds

