SmartERP Documentation An Ashewa Technology Solutions Platform

AI Growth Workforce overview

The governance layer for AI-driven publishing, what it adds, and what it deliberately leaves alone.

SmartERP AI Growth Workforce (social_media_ai_workforce) adds governance for AI-driven social media publishing, on top of Ashewa's social_media_integration.

The gap it fills#

The base module already publishes well to Telegram, Facebook, Instagram and X. It locks rows before publishing, keeps the IDs of deliveries that succeeded when a later platform fails, and refuses to save placeholder text.

What it has no concept of is who decided to post this. Its state field has two values, draft and posted, and its scheduled_date field has nothing acting on it.

This module adds the missing half without editing a line of the base module, so the base module can keep being updated independently.

What it adds#

FeatureIn one line
Agent registryEach AI agent is a record with a role, responsibilities, limits and an autonomy level. You can pause one.
Enforced autonomyAn agent's level is checked in code before anything is published, not just displayed on a dashboard.
Approval workflowDraft → Pending Approval → Approved → Scheduled → Posted, with manager-only approval.
Publishing gatePublishing is refused, and logged, unless a human or an eligible agent cleared the post.
Scheduled publishingA scheduled action every five minutes makes the base module's scheduled_date real.
Activity logEvery agent decision is recorded, including refusals. Nobody can edit it.
WebhooksThree routes so n8n can fetch due posts, deliver drafted copy and report results.
RolesUser and Manager groups, with platform credentials restricted to Managers.

Where to find it#

Social Media → AI Workforce, with three entries:

MenuOpens
AI AgentsThe registry of agents.
Approval QueuePosts in Pending Approval, waiting for a Manager.
AI Activity LogThe read-only audit trail.

The approval buttons and the AI Workforce & Governance panel appear on the base module's post form, and extra columns on its list.

Fixes it carries for the base module#

Installing this module also corrects three problems in social_media_integration:

  • Views port to Odoo 17. The base module claims 17.0.1.0.0 but uses attrs in 91 places, so it does not install on 17 at all. The install scripts port it with deploy/migrate_base_to_17.py. See Choose a module.
  • A working view-sync scheduled action. The base module ships one in data/ir_cron_data.xml that is missing from its manifest, so it never loads, and its code calls action_update_views() on a whole recordset while that method starts with ensure_one(). This module replaces it with a per-record version, Social: Update Telegram Post Views, shipped inactive.
  • Tighter access rights. The base module grants every internal user full create, write and delete on every model, including the ones holding bot tokens and page access tokens. This module limits credentials to Managers. See Roles and permissions.

What was verified#

The repository includes a smoke test with 23 assertions covering the approval states, the publish gate, agent guardrails, scheduling and audit-trail immutability. See Testing.

Note

Internally the base module names its post model telegram.post for historical reasons, although it posts to four platforms. This documentation says post; the Reference uses the technical names.

Last updated: 2026-10-16