# How Orbitwrite works

> Workspaces, channels, posts, posting slots and statuses, and how they fit together.

## Workspaces

Everything in Orbitwrite lives in a **workspace**: its channels, posts, schedule, inbox, analytics, members and
billing. A workspace has its own address (`orbitwrite.com/<workspace>`) and its own plan.

Most people need one. Agencies and people running several brands usually keep a workspace per brand or client, so
each one's channels, team and numbers stay apart. Switch between them from the workspace picker at the top of the
sidebar.

## Channels

A **channel** is one account on one network that the workspace can publish to: an X account, a LinkedIn page, an
Instagram Business account, a Discord channel. You [connect](https://orbitwrite.com/docs/guides/channels/connect) a channel by signing in to the
network and granting Orbitwrite permission to post. Your plan sets how many channels a workspace can connect, and how
many per network.

One channel is the workspace's **primary**. It leads in lists and in the composer, and the other channels in a post
copy its text by default.

## Posts

A **post** is one idea going to one or more channels at one time. In the composer you pick the channels, write once,
and each channel gets its own copy, shaped for its network.

- **Synced channels** share the primary channel's text and media. Edit the primary and they follow.
- **Unsynced channels** keep their own words. Break a channel off when it needs something different, like a longer
  LinkedIn version of an X thread. See [Cross-posting](https://orbitwrite.com/docs/guides/composer/cross-posting).

A post can be a **thread** (several posts chained together) on the networks that support it, and each channel can
carry its own settings, such as an X poll, an Instagram Reel or a TikTok privacy level.

## Posting slots and the queue

**Posting slots** are the times of the week a channel posts at, like "weekdays at 9:00 and 15:00". They don't stop
you posting at any other time. What they give you is a **queue**: choose **Next slot** and the post takes the
earliest free slot on every channel it's going to. See [Posting schedule](https://orbitwrite.com/docs/guides/channels/posting-schedule).

Two timezones are in play:

- **Yours.** The app shows every time in the timezone set under **Settings → Profile**, so a teammate in another
  country sees the same post at their own local time.
- **The schedule's.** Posting slots are kept in the timezone you set with the posting schedule, so "9:00" stays 9:00
  where your audience is. A channel with its own schedule can have its own timezone. The CLI and AI agents read a
  time like "tomorrow 9am" in the workspace's timezone.

## Post statuses

A post moves through these stages. The schedule and the planner show the same stage for the same post.

| Stage              | What it means                                                                                       |
| ------------------ | --------------------------------------------------------------------------------------------------- |
| **Draft**          | Being written. Nothing publishes.                                                                   |
| **Needs approval** | Waiting on a reviewer. See [Approvals](https://orbitwrite.com/docs/guides/collaboration/approvals). |
| **Needs revision** | A reviewer sent it back with changes to make.                                                       |
| **Approved**       | Signed off, not yet scheduled.                                                                      |
| **Planned**        | Holding a slot on the calendar, but it won't publish until someone schedules it.                    |
| **Scheduled**      | Will publish at its time. One marked **Won't be posted** has an issue to fix before then.           |
| **Posted**         | Live on the network, with a link to it.                                                             |

If a network refuses a post, it comes back to **Draft** with the network's reason on it, so nothing is lost. See
[When a post fails](https://orbitwrite.com/docs/guides/troubleshooting/publishing-failures).

## Roles and permissions

Every member has a role: **Owner**, **Admin**, **Manager** or **Member**. Each role can do everything the one below it
can, plus more. Members draft and schedule, managers also publish and approve, admins also manage people and
integrations, and owners also delete the workspace. See [Team and roles](https://orbitwrite.com/docs/guides/collaboration/team-and-roles).

## Doing it all from somewhere else

Everything you can do in the app can also be done over the [API](https://orbitwrite.com/docs/developers), the [CLI](https://orbitwrite.com/docs/developers/cli), the
[SDK](https://orbitwrite.com/docs/developers/sdk), or by an AI agent connected over [MCP](https://orbitwrite.com/docs/developers/mcp). They all apply the same rules: the
same permissions, the same platform limits and the same approvals.
