Social TikTok
Publish and monitor TikTok videos from Odoo Social Marketing
Connect your TikTok Business account with OAuth 2.0, publish video posts with full TikTok privacy, duet, stitch and comment controls, and follow views, likes, comments and shares — all inside the same Social Marketing workspace you already use for Facebook, Instagram, LinkedIn, X and YouTube. This module uses your own TikTok developer credentials (not Odoo IAP), so you stay in full control of the connection.
Key Features
Account Connection
Link TikTok accounts with OAuth 2.0 using your own TikTok developer app credentials. The TikTok card sits right next to the other networks on the Social Media dashboard.
Video Publishing
Publish videos from Social posts with TikTok privacy level, and per-post Stitch, Duet, Comments and Branded Content controls. Send now or schedule for later.
Streams & Metrics
Monitor your TikTok videos in social streams and refresh views, likes, comments and shares directly from the Feed — no need to switch to the TikTok app.
Part 1 — Create your TikTok developer app
Set up the app once at developers.tiktok.com, then reuse it forever
Social TikTok connects through a TikTok for Business app that you own. The steps below walk through creating that app, collecting its credentials, and enabling the products and scopes Odoo needs to publish and read videos.
Step 1 — Open the Developer Portal
Sign in at developers.tiktok.com and open the Developer Portal menu in the top-right corner. Choose Manage apps to see your applications, or create a new one.
Step 2 — Find your app and its App ID
On the Manage apps page you will see each app together with its App ID and ownership. Click the app (here Odooapp) to open its configuration. Use Connect an app if you have not created one yet.
Step 3 — Collect your credentials
Under App details → Credentials you will find the Client key and Client secret. These map to the TikTok App ID and TikTok Client Secret fields in Odoo. Keep the secret private — you will paste it into Odoo in Part 2.
Step 4 — Fill in the basic information
Complete the required Terms of Service URL, Privacy Policy URL and Web/Desktop URL, and tick Web under Platforms. If you run Odoo Online you can point these at your own site; the example uses Odoo’s public legal pages.
Step 5 — Add the required products
Click Add products and enable Login Kit (for OAuth sign-in) and the Content Posting API (to publish videos). These two are the minimum Social TikTok needs. Webhooks is optional.
Step 6 — Set the Redirect URI
Under Login Kit, add a Web Redirect URI that points at your Odoo instance:
https://your-domain/crowe_social_tiktok/callback
This is the address TikTok returns to after a user authorises the app. It must match the base URL Odoo uses (see the ngrok / Public URL field in Part 2). The example uses a Cloudflare tunnel for local testing.
Step 7 — Enable Direct Post
Inside Content Posting API, turn on Direct Post so videos
can be published straight to the authorised account. If you later want
pull_by_url media transfer, use Verify domains to verify your
hosting domain.
Step 8 — Request the scopes
Add the scopes Social TikTok relies on:
video.publish— post content directly to a profile.video.upload— upload content as a draft.user.info.profile&user.info.stats— read profile and statistics.video.list— read the user’s public videos for streams.
Click Apply changes to save the app.
Part 2 — Configure Odoo
Enter your credentials in Social Marketing settings
Step 9 — Enter your TikTok developer account
Open Settings → Social Marketing → Developer Accounts and tick
TikTok Developer Account. Paste your TikTok App ID (Client
key) and TikTok Client Secret. For local or self-hosted testing, set the
ngrok / Public URL to a public HTTPS address — TikTok does not accept
localhost callbacks. The reminder confirms the redirect URI to register:
/crowe_social_tiktok/callback.
Part 3 — Connect, publish and monitor
Day-to-day use, right alongside your other social networks
Step 10 — Link your TikTok account
Go to Social Marketing → Configuration → Social Accounts. The TikTok card appears next to Facebook, Instagram, LinkedIn, X and YouTube. Click Link account and complete the TikTok OAuth authorisation. When you return, the account is connected and ready to post.
Step 11 — Create a video post
Open Posts → New, select your TikTok account and attach a video. The TikTok Settings panel lets you set the Privacy Level and toggle Allow Stitch, Allow Duet, Allow Comments and Mark as Branded Content. Choose Send now or Schedule later, then click Post.
Step 12 — Track post status & metrics
Every post shows up under Posts with a live status (Draft → Scheduled → Posting → Posted), filtered by account in the left panel. Each card surfaces Clicks and Engagement so you can compare performance across networks at a glance.
Step 13 — Monitor your videos in the Feed
In Feed, use Add Stream to add a TikTok stream for your connected account. The left rail lists the stream with its views / likes / comments counters. In the screenshot the stream is newly added, so the main area is still empty — once the account has published videos they appear here, and Sync refreshes the metrics on demand.
Why Social TikTok
One workspace for every network
Manage TikTok exactly like the built-in networks — same Posts, same Feed, same Campaigns. No context switching, no separate dashboard to learn.
Your own credentials
Connect with your own TikTok developer app instead of a shared IAP service, so you own the rate limits, permissions and data flow end to end.
Full TikTok publishing controls
Set privacy level and toggle stitch, duet, comments and branded-content flags per post — the same options creators expect inside the TikTok app.
Engagement at a glance
Pull views, likes, comments and shares back into Odoo streams so social performance lives next to the rest of your marketing data.
Requirements & Compatibility
Version
Built for Odoo 19.0. Requires the Social Marketing app.
Dependencies
Depends on social. Requires the Python requests library on the server.
On TikTok’s side
- A TikTok developer app with Login Kit and Content Posting API.
- A TikTok for Business / creator account with API access.
- Scopes:
video.publish,video.upload,user.info.profile,user.info.stats,video.list.
Support
Brought to you by Exponent Pvt Ltd — a subsidiary of Crowe Maldives LLP
Author
Exponent Pvt Ltd
Website
crowe.mv
Licensed under OPL-1.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Social Marketing (social)
• Discuss (mail) |
| Lines of code | 3042 |
| Technical Name |
crowe_social_tiktok |
| License | OPL-1 |
| Website | https://crowe.mv |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module