# Compose and schedule posts

How the composer, calendar, publishing queue, per-target results, and approval flow work.

[العربية](/publishing)

## [Write once, adapt for each destination](#write-once-adapt-for-each-destination)

The composer supports Arabic right-to-left writing and preview, while code, handles, and URLs retain their readable direction. Choose the target accounts, write a shared version, then customize a network-specific version when character limits, format, crop, or audience context differs.

Review the final destination, copy, media, link, time, and time zone together. A reusable draft is not approval for every later edit or every account.

## [Post types and provider limits](#post-types-and-provider-limits)

- **Single post** for one independent item.
- **Series or thread** for destinations that support sequential replies.
- **Batch** for several separately scheduled items.

Media, first comments, polls, links, locations, tags, and other options are only available where the selected provider and account support them. The destination preview and validation state should be checked before scheduling. A feature available on one network is not automatically portable to another.

## [Readiness checks](#readiness-checks)

Naasher checks the target-specific text and media contract before accepting the schedule where the provider rules are known. Include localized alt text when supported, inspect mobile crops, and keep provider-reachable media available through the publish window. Early validation reduces late failures but cannot guarantee provider acceptance.

## [Schedule or use a queue](#schedule-or-use-a-queue)

### [Choose an explicit slot](#choose-an-explicit-slot)

Enter the intended local date, time, and named time zone. Confirm the stored UTC instant before a campaign handoff. Suggested times are hypotheses based on available audience data, not a promise of reach.

### [Or define recurring slots](#or-define-recurring-slots)

A recurring queue can fill approved weekly slots for an account. Keep one accountable owner and pause the queue during migrations or incidents so two schedulers do not publish the same source item.

### [Monitor the calendar and remote result](#monitor-the-calendar-and-remote-result)

The calendar separates drafts, scheduled work, and provider outcomes. At the slot, inspect each target result and open the remote post when a permalink or identifier is available.

## [What happens at publish time](#what-happens-at-publish-time)

1. A worker claims the due job.
2. The connection is refreshed when the provider supports refresh and the grant is eligible.
3. Each target is attempted independently.
4. The provider response and returned identifier are recorded for that target.
5. A signed webhook and in-product alert can report the resulting state.

Partial success is a real state

If three targets succeed and one fails, the successful remote posts stay live. Investigate and retry only the failed target after confirming it is not already live. Do not replay the entire batch.

Timeouts and late provider responses are uncertain, not definitive failures. Check the native account and retained provider identifier before retrying. A moderation action after initial success can also remove or limit a post later; preserve both the original success evidence and the later remote state.

## [Approval and automation boundary](#approval-and-automation-boundary)

Teams and Agency workspaces can route posts through approval before scheduling. Bind approval to the exact version, targets, media, links, time, and time zone. A material edit should reopen review. API and MCP clients must use the smallest scopes they need and should create drafts before a human authorizes an external action.

For incident handling, use the [publishing incident runbook](https://naasher.com/en/guides/publishing-incidents). For credentials and account eligibility, return to [Connecting accounts](/en/channels).

[Connect social accountsHow to connect nine social networks and understand the requirements and current availability of each one.](/en/channels)[Unified inbox and analyticsHandle supported conversations from one queue and report provider-supplied performance without inventing missing data.](/en/inbox-analytics)

---

Canonical URL: https://docs.naasher.com/en/publishing
