Beta 19.0.0.2.0
AI Social Publisher
Plan, generate, approve, schedule, publish and measure social content from one Odoo 19 Community app.
Beta release
Automated installation, security, portal, migration and mocked connector tests are included. Run a live smoke test with your approved Google, Meta and TikTok applications before production use. The version remains below 1.0 until that release gate is complete.
Multi-brand control
Company, brand/client, members and multiple YouTube, Facebook Page and TikTok accounts with role-based internal and portal access.
Task-specific AI
Select a provider, model and reusable versioned skills for analysis, platform copy, thumbnail prompts and landscape or portrait images.
Reliable publishing
Approval, UTC scheduling with brand timezones, idempotency, retries, audit logs, metadata conflict handling and normalized analytics.
One content brief, three outputs
Start with a structured brief: topic, objective, audience, message, hook, outline/script, tone, language, CTA and keywords. Generate separate titles, captions, hashtags and thumbnail directions for each platform.
- Preview AI output before applying it. Invalid JSON or schema output cannot be applied.
- User-edited or locked fields are preserved when AI runs again.
- Company defaults can be overridden per brand, with token/cost records and an optional monthly budget.
Content workspace
Search, filter and follow approval status from the secure customer portal.
AI variants and publishing
Review platform copy, thumbnail prompts, assets, schedules, publishing state and approval history on one record.
Official connector capabilities
| Platform | Publishing | Sync and analytics |
|---|---|---|
| YouTube | One video with an optional thumbnail, resumable upload, privacy and native scheduling. | Metadata push/pull, comments, replies and analytics within quota. |
| Facebook Page | One photo, a 2-10 photo set, one feed video or one Reel. Multiple videos are split into separate targets. | Metadata pull, comments, replies and metrics subject to approved Page permissions. Metadata push is disabled in this release. |
| TikTok | One video through Direct Post, with Upload Draft fallback. Odoo releases scheduled jobs at the due time. | Profile, video list, status and basic metrics. Comment inbox and replies are not provided. |
Publish calendar
Social analytics
Engagement detail
Reusable AI skills
Native Odoo backend
Portal collaboration and security
- Owner/Manager, Editor, Approver, Publisher and Analyst roles are scoped to brand membership.
- Portal users can create and edit briefs, upload media, run AI, approve, schedule/publish and view analytics according to their role.
- OAuth apps, provider configuration, tokens, API keys and raw API payloads are never exposed to the portal.
- CSRF, attachment ownership, MIME/signature and file size checks, AI/publish rate limits and external action audit trails are included.
Credentials, costs and data flow
This is a BYO-credentials product. Customers provide their own AI provider keys and Google, Meta and TikTok developer applications. AI usage, platform charges, hosting, storage and media processing are not included in the module purchase price.
A content brief and selected assets are sent only to the customer-configured provider when a user explicitly runs AI or publishes/synchronizes a target. OAuth tokens and AI keys are encrypted at rest and are not sent to the module vendor. There is no vendor activation or proxy service.
Compatibility and platform approval
- Odoo 19 Community only.
- YouTube Data API v3, Meta Graph API v25.0 and TikTok Content Posting/Display API v2 are pinned for this beta release.
- Google projects may require consent verification, enabled APIs, approved scopes and quota. Uploads from unaudited projects may be restricted to private visibility.
- Meta functionality depends on Business Verification, App Review, Page permissions and approved features.
- TikTok Direct Post requires an audited customer application; unaudited clients are restricted by TikTok and can use the supported Upload Draft fallback where available.
Explicit limitations
No transcript extraction, Instagram connector, TikTok comment inbox/reply, portal comment reply, or replacement of already-published remote media. Publish replacement media as a new target. Metadata updates are available only where the pinned official connector capability permits them.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Community Apps Dependencies | Show |
| Lines of code | 11802 |
| Technical Name |
ucat_ai_social_publisher |
| License | OPL-1 |
| Website | https://unclecatvn.com |
AI Social Publisher
AI Social Publisher is a single Odoo 19 Community application for managing brands, social accounts, content briefs, AI variants, approvals, media, scheduling, publishing, engagement, and analytics. The product entry module installs private technical dependencies for YouTube, Facebook Pages, TikTok, and the shared AI and media layers.
Release status
Version 19.0.0.2.0 is a beta release. Automated fresh-install, upgrade, security, connector, queue, migration, and portal tests are included. A live smoke test with the customer's approved Google, Meta, and TikTok applications is still required before production use. The launch price is USD 15 per Odoo Apps purchase.
Requirements and external costs
The module supports Odoo 19 Community only. Customers bring their own AI provider keys and their own Google, Meta, and TikTok developer applications. The purchase price does not include AI usage, platform quota, storage, hosting, App Review, developer verification, or other third-party charges.
Install and upgrade
For a new database, add this repository to the Odoo addons path, update the Apps list, and install AI Social Publisher. Do not install the hidden technical modules individually.
Before every upgrade:
- Stop scheduled publishing and take a PostgreSQL database backup.
- Back up the Odoo filestore for the same database.
- Preserve the encryption key used for OAuth and AI secrets.
- Test the upgrade on a copy of the database first.
- Upgrade the entry app and allow all dependency migrations to finish.
- Run one sandbox publish and synchronization per enabled platform.
The 19.0.1.2.0 media migration converts legacy ucat.social.video records into content briefs, variants, assets, and publish targets. It reuses existing ir.attachment rows without copying binaries, preserves remote IDs and idempotency keys, records an idempotent migration marker, and can resume after a failed upgrade. Compatibility fields remain available for one stable release.
Initial configuration
- Create or select an Odoo company.
- Create one brand or client and set its timezone and approval policy.
- Add brand members with Owner, Editor, Approver, Publisher, or Analyst role.
- Configure AI providers, models, agents, task profiles, and monthly budget.
- Create the customer-owned platform developer applications.
- Add the OAuth applications in Odoo and connect the platform accounts.
- Create a content brief, generate or edit platform variants, upload media, approve the content, and schedule one or more publish targets.
AI configuration
Each AI task resolves a brand-specific task profile first and then falls back to the company profile. Supported tasks include content analysis; YouTube, Facebook, and TikTok copy; thumbnail art direction; landscape image generation; and portrait image generation.
Prompts are assembled in this fixed order:
- System safety contract.
- Task profile.
- Company skills.
- Brand skills.
- Content data.
- JSON output schema.
AI output must pass the task JSON schema before it can be applied. A preview does not overwrite human-edited or locked variant fields. Every apply action stores the model, prompt version, skill versions, token and cost estimate, and an audit entry. Skills are declarative instructions and examples; they do not execute Python code.
Portal workflow
Portal users see only brands where their partner has an active membership. The portal supports content search and filtering, brief creation and editing, media upload, AI preview and apply, approval actions, brand-timezone scheduling, publish status, a calendar, published posts, comments, and analytics.
Portal routes use Odoo CSRF protection, membership-based record rules, role service checks, a 200 MB upload limit, MIME and file-signature validation, AI and publish rate limits, and safe attachment download routes. Portal users cannot read OAuth applications, API keys, access tokens, refresh tokens, provider configuration, raw AI output, raw API payloads, or credential-bearing upload URLs. Portal comment replies are intentionally outside version 1.
Platform compatibility matrix
YouTube
- YouTube Data API v3 and YouTube Analytics API v2.
- One video and an optional thumbnail per publish target.
- Resumable upload, privacy, native scheduling, title and description push and pull, comments and replies, statistics, made-for-kids disclosure, and synthetic-media disclosure.
- OAuth scopes: youtube.readonly, youtube.upload, youtube.force-ssl, and yt-analytics.readonly.
- Uploads from unverified API projects created after July 28, 2020 can be restricted to private visibility until Google completes an audit.
Official references: YouTube video resource and videos.insert.
Facebook Pages
- Meta Graph API v25.0, pinned for this release.
- One photo, one multi-photo post, one feed video, or one Reel per target.
- Multiple selected videos become separate publish targets. Images and videos are not mixed in one target.
- Resumable video and Reel uploads, Page-authored post pull, comments, reactions, shares, and normalized metrics.
- OAuth permissions: pages_show_list, pages_manage_posts, publish_video, and pages_read_engagement.
- Read synchronization depends on Meta App Review and Page access. Publishing remains available when the optional read permission is not approved.
- Published Facebook media is never replaced or deleted automatically. Metadata push is disabled until a tested endpoint contract is available for every supported media shape.
Official reference: Meta Facebook API workspace.
TikTok
- Official Content Posting API v2 and Display API v2.
- Exactly one video per publish target in version 1.
- Creator information and current privacy and interaction options are queried before consent. Direct Post is used when allowed; Upload Draft is the supported fallback.
- Scheduling is performed by Odoo at the selected brand-local time.
- OAuth scopes: user.info.basic, video.publish, video.upload, and video.list.
- Unaudited clients are restricted to private visibility. Basic video metrics require Display API access and video.list.
- TikTok comment inbox, comment synchronization, and comment replies are not advertised or implemented in version 1.
Official references: Content Posting API, Direct Post, and Display API.
Scheduling and reliability
Scheduled datetimes are stored in UTC and entered in the brand timezone. Nonexistent daylight-saving times are rejected and ambiguous times use the first occurrence deterministically. YouTube uses native scheduling where the tested endpoint supports it. TikTok is called by Odoo at the scheduled time. Facebook behavior follows the capability matrix for the selected format.
The native Odoo queue uses bounded batches, PostgreSQL row locking, stale-job recovery, exponential backoff, a unique idempotency key, and a remote-ID guard to prevent duplicate publishing. External actions write audit records. Credentials, authorization headers, and secret-bearing upload URLs are redacted from errors and logs.
Metadata synchronization
Remote metadata is applied automatically only when there is no unsynchronized local edit. When local and remote metadata both changed, the post enters a conflict state. A publisher or manager chooses Push Local or Pull Remote. The system never replaces or deletes published media automatically. Create a new publish target when replacement media is required.
Privacy and data handling
OAuth and AI secrets are encrypted by the shared technical layer. Keep the database, filestore, and encryption key together in backups. Grant platform permissions only to the required customer application, rotate compromised credentials immediately, and review provider data-retention terms before sending content to an AI model.
Troubleshooting
- No connected account appears
- Confirm the callback URL, developer-app mode, OAuth scopes, Page or channel ownership, and brand assignment. Reconnect after adding a new scope.
- YouTube upload remains private
- Complete Google verification and the YouTube API audit for the customer project. The module cannot override Google's project restriction.
- Facebook engagement does not synchronize
- Request pages_read_engagement through App Review, confirm Page access, and reconnect the account. Publishing can continue without this read scope.
- TikTok Direct Post remains private
- Complete the TikTok Content Posting API audit and enable the audited-client option only after approval. Use Upload Draft while approval is pending.
- A publish target failed
- Read the redacted error, verify token state and platform review, fix the input, and queue the failed target again. Do not create a second target if the first target already has a remote media ID.
Support
Email nguyenhoain123@gmail.com with the Odoo version, module versions, platform, redacted error message, and reproducible steps. Never send API keys, access tokens, refresh tokens, client secrets, or database backups by email.
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