Content module
The Content module manages campaigns, the publishing calendar, and multi-network social posting. It's the production side of the "create content that drives pipeline" loop — the consumption side shows up in CRM's content-attribution cards.
Entities
| Entity | What it represents |
|---|---|
| Campaign | A themed publishing initiative. Has start/end, goals, target audience, owner. |
| Post | An individual piece of content. Belongs to a campaign, targets one or more networks, has draft → approved → scheduled → published lifecycle. |
| Calendar slot | A scheduled time + network slot. Holds a post once scheduled. |
| Engagement | A post's measured outcomes — impressions, clicks, replies, shares — fetched from each network. |
| Network | LinkedIn, X, Instagram, Facebook, TikTok, etc. — abstracted via Ayrshare. |
The calendar view
The default Content dashboard surface is a 14-day calendar grid. Rows are networks, columns are days. Each cell shows scheduled posts or empty slots.
- Click an empty cell → quick-add a post for that network + day.
- Click a scheduled post → drawer with full content, target audiences, edit/reschedule/cancel.
- Drag posts between cells to reschedule.
The agent surfaces a calendar gap card on Today if there are days with no scheduled content per the tenant's cadence target.
The post lifecycle
draft → review → approved → scheduled → published → engaged
↘ canceled
↘ failed
| State | Meaning |
|---|---|
draft | Being written. Not visible outside the author. |
review | Submitted for approval (multi-author tenants). |
approved | Ready to schedule. |
scheduled | Has a calendar slot. |
published | Sent to network(s). |
engaged | Has measured outcomes. |
canceled | Author or admin canceled before publish. |
failed | Publish attempt failed (network down, content rejected, etc.). |
State transitions go through the TASKS namespace — agent-proposed posts land as planned actions, you confirm, they advance.
Agent-drafted posts
Drafting is one of the most-leveraged agent flows:
- You ask the orchestrator: "draft a LinkedIn post about our Q3 pricing update."
- The orchestrator delegates to a
draft_postsubagent. - The subagent pulls relevant context (the pricing page, recent posts on similar topics, your brand voice from semantic memory).
- Returns a draft with rationale + suggested networks + suggested time.
- The proposal lands in your Inbox.
- You edit or confirm; on confirm it moves to
scheduled.
The brand voice piece is the differentiator. Because tenant- authored skills + promoted memory both feed the SKILLS + MEMORY namespaces, the agent learns "we don't use exclamation marks", "we quote customer logos by initials only", "our posts open with a question" — and applies them consistently.
Multi-network publishing
Ayrshare is the abstraction layer; one API call publishes the same post (or per-network variant) to multiple networks. See Social integration for setup.
Networks have different constraints (character limits, image requirements, hashtag etiquette). The Content module knows them and surfaces per-network previews + warnings before scheduling.
Engagement tracking
After a post publishes, the platform polls Ayrshare's metrics
endpoint at increasing intervals (5 min → 1 h → 6 h → 24 h → 7 d).
Each poll updates the post's Engagement entity. The Today surface's
social_engagement_anomaly card watches for posts performing far
above/below the tenant's baseline.
Engagement data feeds back into:
- Pipeline-to-content attribution — when a deal closes, the agent walks back to see which posts that deal's contacts engaged with during the cycle.
- Brand voice tuning — high-engagement posts become reference exemplars; the agent learns the patterns.
Campaigns
A Campaign groups posts thematically over a time window. Each Campaign has:
- Goal (awareness, demand, retention, etc.)
- Target audience description
- Owner
- Posts (many-to-one)
The Campaign view shows posts + cumulative engagement + estimated attribution. Useful for "did the Q4 launch campaign actually move pipeline" retrospectives.
Approvals (cloud Scale tier and up)
For tenants with multiple content authors, post drafts go through a
review queue. Designated reviewers see an "Awaiting review" Inbox
filter; approving advances to approved state. Required-reviewer
counts are tenant-configurable.
Starter tier and self-host treat all members as auto-approvers.
Content × CRM × Analytics
The same cross-module overlap as CRM, from the other side:
- Content × CRM: which posts touched the deals that closed?
- Content × Analytics: engagement by topic over time.
- Content × Memory: posts referencing customer wins that we later promoted into semantic memory.
Read next
- Social integration — Ayrshare setup + network-specific notes.
- CRM module — the consumption side of pipeline attribution.