Publishing, drafts & scheduling
Three modes
- Draft — stage content on the platform without publishing. The safe default, and the only mode on the free tier.
- Publish — attempt a real post. Works only on platforms that support automatic publishing; on manual platforms it falls back to a draft (see below).
- Schedule — save a content snapshot plus the resolved target list, and publish automatically at a set time.
What happens to each target
When you publish, OmniPost runs every target through the same ordered checks and returns a structured result. A skipped target is not written to your records and does not affect safety counters. The order:
- Content type — a target that can't take your content type (e.g. a video on a text-only platform) →
UNSUPPORTED_TYPE. - Length — over the soft limit only adds a
CONTENT_LENGTH_WARNING; it never blocks. - Policy — your safety rules (below) may skip it:
BLACKOUT,CIRCUIT_OPEN,DAILY_LIMIT, orDEDUP. - Licensing —
PLATFORM_NOT_LICENSED(platform needs Pro),FEATURE_NOT_AVAILABLE(free tier can only draft), orQUOTA_EXCEEDED(monthly quota used up). - Validation — for a real publish, missing required fields →
VALIDATION_FAILEDwith the list of what's missing. - Login — not logged in →
NEED_LOGIN. - Publish — the adapter runs; success is recorded, and a draft copy is kept so you can promote it later.
The result you get back
Every target returns something like: platform, account, success, stage (draft or published), published (true/false), a post or editor URL, a record id, and — when relevant — a code, error, missing fields, or a length warning.
The key promise: stage is published only when a real automatic publish succeeded. Otherwise it's draft. Choosing "Publish" on a manual platform returns published: false with MANUAL_PUBLISH and an editor URL — never a false "done".
Result codes
UNSUPPORTED_TYPE— the platform doesn't accept this content type.CONTENT_LENGTH_WARNING— over the soft length estimate (not blocked).BLACKOUT/CIRCUIT_OPEN/DAILY_LIMIT/DEDUP— skipped by your policy.PLATFORM_NOT_LICENSED/FEATURE_NOT_AVAILABLE/QUOTA_EXCEEDED— a plan limit.VALIDATION_FAILED— a real publish is missing required fields.NEED_LOGIN— no valid session for this account.MANUAL_PUBLISH— drafted on a manual platform; publish it by hand.MANUAL_ONLY/DRAFT_NOT_FOUND— returned by promote-draft in edge cases.
Two-step publishing
Some workflows draft first and publish later. Create drafts, review them, then promote a specific draft to a real post by its record id. Manual-only platforms decline the promote step with MANUAL_ONLY.
Multiple accounts and groups
Address targets by platforms (all logged-in accounts on a platform), targets (a specific account like csdn:a2), or groups (a saved, named set of accounts) — combined and de-duplicated. Creating and editing account groups is a Pro feature; using them to publish is not restricted.
Safety policy
A per-account, optionally per-platform policy governs risky automation:
- Daily limit per account (default off).
- De-duplicate the same title on the same account within N hours (default 24h, on).
- Circuit breaker — after N consecutive failures, pause that platform (default 5 failures, 30-minute cooldown).
- Blackout hours — never publish during set hours.
Blocked posts are only reported, never recorded — so they don't pollute your history or trip the breaker.
Scheduling
A scheduled task locks its target accounts and a content snapshot at creation time (later group edits don't change it). A background runner checks every 30 seconds; tasks missed while the app was closed run on the next launch. You can view, run now, reschedule, edit, or cancel pending tasks. Scheduling is a Pro feature.
Plans
- Free — the 8 core developer platforms, up to 3 accounts, 30 posts/month, drafts only.
- Pro — all platforms, up to 20 accounts, 1000 posts/month, real publishing, agent automation, scheduling, and account groups.
Pricing is being finalized — request access.