Marketing Autopilot
Marketing Autopilot is an optional add-on parented on Marketing. It creates Marketing posts on a cadence, optionally renders HTML/CSS creatives to images, and can react to external events that carry a public URL — without importing Blog domain models.
Cadence runs use the plan’s topic as a short social caption theme (not a
full LLM article writer). Event runs use the event title/excerpt and
absolute link_url from the payload. When research is enabled on the plan,
the pipeline searches the web first and adds hooks and facts into copy while
keeping the event title and excerpt when promoting a link.
How it works
Section titled “How it works”- A content plan sets a visual schedule (repeat + run hours in a timezone), target channels, default publish mode, autonomy level, and optional research settings.
- The scheduler claims due plans and starts a short pipeline per channel: research → brief → copy → creative → gate.
- Research (optional) runs only when the plan has research enabled. It uses the same Tavily/Brave search provider keys as Blog Autopilot settings, then synthesizes hooks and facts into the pipeline context. When research is off, the step is skipped and Blog Autopilot code is not loaded.
- Creative can call Media Studio’s HTML/CSS renderer (
social_square) when the publish mode needs an image. If rendering fails, the pipeline fails — it does not publish a placeholder image. - Gate creates a Marketing post according to autonomy (see below).
Scheduled posts are published by Marketing’s
publish_scheduled_postsworker. - Event intake (optional) listens by string event name — for example
blog.article.published— when that name is allowlisted in Autopilot settings and on the plan. The payload must includecompany_idand an absolutehttp(s)link_url/public_url. Promoting a blog URL is an event payload contract, not a Blog model import.
For LinkedIn, select the channel for the intended personal profile or company page on each plan. Connecting a company page does not replace the personal channel already selected by a plan or an existing post. Update those targets explicitly before scheduling more content. See LinkedIn account types.
Autonomy levels
Section titled “Autonomy levels”| Level | Gate outcome |
|---|---|
| Draft only | Creates a draft post for staff to edit |
| Submit for review | Creates a post in pending review |
| Gated publish | Runs brand guardrails, then schedules the post a few minutes ahead via Marketing’s schedule path |
Publish modes
Section titled “Publish modes”| Mode | Behavior |
|---|---|
| Image + link in comment | Image post; URL posted as a first comment afterward (Facebook, LinkedIn, and X implement this; Instagram has no comment path) |
| Image only | Image/caption, no link |
| Text with link in body | Copy includes or sets link_url |
| Text only | Copy with no link |
Instagram still requires an image — text-only modes on IG channels fail at publish with a media-required error.
Entitlement
Section titled “Entitlement”Requires marketing.autopilot plus the channel packs you publish to
(marketing.channel.meta, marketing.channel.linkedin,
marketing.channel.x).
Schedule
Section titled “Schedule”Plans use the same schedule picker pattern as Blog Autopilot: pick a
timezone, choose every day or specific weekdays, and select one or more
run hours. The admin stores an RRULE under the hood; the plans table shows
a human-readable cadence (for example 3×/day).
Research
Section titled “Research”| Setting | Behavior |
|---|---|
| Research before drafting | When on, every pipeline run starts with a web research pass |
| Research focus | Extra search terms; blank falls back to the topic prompt or event title |
| Search results per pass | How many search results to fetch (1–20, default 6) |
Configure Tavily or Brave under Blog → Autopilot settings (shared search credentials). Enabling research requires that search stack to be available. Without a key, an enabled research stage fails the run. If no source page can be fetched, the research step fails visibly and no post is created.
On event-driven runs, research keeps the event’s title and excerpt and adds hooks/facts for copy. On cadence runs without an event, research may set title and excerpt from the synthesized brief.
Marketing → Autopilot: plans, pipelines, and Autopilot settings (weekly cap, event-source allowlist). The weekly cap applies to both cadence runs and event-driven promotions.