Six states and the legal moves between them, what activation actually starts, one run per producer per week, and where a campaign tells you it has stopped.
Jump to module
| State | Meaning |
|---|---|
| Draft | Saved, not armed. Never dispatches. |
| Scheduled | Armed, but its window has not opened. |
| Active | Running. The only state that may generate. |
| Paused | Stopped by you or by the system. Resumable. |
| Completed | Ran its course. Reporting reads it; nothing new attaches. |
| Archived | Terminal. |
The legal moves are narrower than you might expect, and two restrictions are deliberate:
Scheduled campaigns do not generate. A campaign whose window has not opened must not produce content for a window you have not reached yet. Only active campaigns dispatch.
Completed never returns to active. A finished campaign you want to run again is a new campaign with a new window, not a resurrection. Resurrecting one would silently attribute new runs to a result you have already read and reported. Use Duplicate.
Archived is terminal. Nothing leaves it. An archived campaign is restored by cloning, not by re-arming a window and a CTA that have both gone stale.
There is a second vocabulary, and conflating the two causes confusion.
Lifecycle status answers "what has the customer done to this campaign". You set it.
Phase answers "what is it doing right now". Nobody sets it; everybody reads it:
Note that "scheduled" appears in both vocabularies meaning different things — lifecycle scheduled is "armed, not started", phase scheduled is "the next generation is on the books". That is exactly why they are separate.
Activating a campaign does one specific thing: it puts a date on the calendar for when this campaign's content should next be written.
From then on, Bolta checks for campaigns whose date has come round and starts them — using exactly the same path that the "Generate again" button uses. There is no separate automatic route and no separate kind of run, which is why there is only ever one answer to "did this run?"
A campaign with no date owes no content. That is the normal state for a draft, a paused campaign, a finished one, or one that has no start date yet.
You cannot accidentally get a double week. Bolta remembers which week it last produced, so a second attempt at the same week finds the work already done and stops.
Two useful behaviours:
A campaign week is not necessarily one run.
The week's plan is grouped by which producer makes each format, and each group becomes its own run with its own objective, its own cap and its own accounts:
This is why blog posts are producible at all. The social producer explicitly denies the article and site-publishing tools, and that denial is the safety argument for what a social run is allowed to do. Widening it would have produced "articles" that skipped the entire long-form pipeline. Dispatching the right producer was the correct answer instead.
Two consequences on your screen:
A campaign that has stopped generating says so, on the campaign, with a reason.
The last generation error is recorded on every refused or failed attempt and cleared by the next successful one. It carries when it happened, a plain message, which producer was involved, and which week it was trying to produce. The campaign page shows that message as written.
So if a campaign has gone quiet, the answer is on the campaign page. You should not need to guess, and you should not need to ask support.
The most common reasons, in the order you should check them:
1. No usable accounts. The campaign names no account, or none of the ones it names still holds a valid connection. The phase says "needs accounts" and the interface asks you to connect one. Fix the connection; the campaign proceeds.
2. Nothing left to generate. The window has closed, or every week has already been produced. This is not an error.
3. The campaign is paused or a draft. No cursor, no generation.
4. A producer failed. The message names it. A run that dispatched and then failed is still a run, and it is shown as one — a failed run is not the same as no run, and the campaign page distinguishes them.
Generated drafts land in your Approve queue — the Hub. They are not published on generation, and approving them is where they pick up a real schedule. A campaign generating perfectly and publishing nothing is almost always a campaign whose drafts nobody read, which is why "awaiting approval" outranks "posting" as a phase and why it is the single most common empty reason in Module 12.
What actually happens across one campaign week, in order:
1. The date comes round. Bolta finds a campaign owing content for a week that has not been produced.
2. Preflight. The campaign must be active, have a start date, and have at least one usable account. Failing any of these records a reason on the campaign and stops — it does not fail silently.
3. The agent is resolved. A content-creator agent in your workspace is found or hired. A paused one stops the run cleanly (Module 2).
4. The plan is grouped by producer. Social rows, blog rows and email rows go their separate ways — one run each, each with its own accounts and its own cap.
5. Each run writes drafts. The angle's instruction, your context notes, your ready sources, the chosen voice and the per-format plan all reach the writer.
6. Companion media. Images, decks and video are generated per post, routed by the format tag stamped on each draft.
7. Drafts land in Approve. Always. Carrying the times their post prompts proposed.
8. You decide. Approving keeps an existing future time rather than reallocating one, so what you planned is what publishes.
9. Publishing. At the time on the post, per account.
10. The cursor advances. The week is recorded as produced, and the next date goes on the books.
Steps 2 and 8. Everything between them is machinery that mostly works; preflight and human decision are where campaigns actually stall — which is why those are the two things the campaign page puts in front of you.