Skip to main content
Instagram · LinkedIn · X

Social publishing with receipt-backed delivery state.

Create brand-aware drafts, optionally request revision-bound approval, publish now or on a schedule, and store delivery receipts. Metrics and engagement can be synchronized on demand where supported.

Example state model

1Draft
2Approval pending
3Scheduled
4Publishing
5Published + receipt

Workflow

From draft to provider reconciliation.

01

Draft

Generate platform-specific copy and optional image assets using the workspace Brand Kit.

02

Review

Optionally request approval. Once requested, only that exact approved revision can be scheduled or published.

03

Schedule

Choose an explicit publish time. Editing an approval-controlled post supersedes approval and cancels its old schedule.

04

Publish

Deliver through Instagram, LinkedIn, or X using a durable idempotency reservation.

05

Reconcile

Store delivery receipts and synchronize metrics or engagement on demand where supported.

Delivery controls

No simulated publishing success.

OAuth connections are encrypted at rest and revocable
Missing connections block delivery visibly
Approval-controlled posts deliver only the exact approved revision
Idempotency reservations reduce duplicate risk; ambiguous outcomes require reconciliation
Media is uploaded using each provider's supported flow
Replies require a reviewed draft and explicit confirmation
Provider failures remain failed or reconciliation-required

Social Studio questions

Which social channels can publish directly?

Instagram image posts, LinkedIn posts, and X posts are supported through their configured OAuth connections. Delivery receipts are stored, and provider metrics or engagement can be synchronized on demand where supported.

Does content publish automatically?

A permitted user can publish explicitly or configure a schedule. When social approval was requested, the exact current revision must be approved first; approval never triggers publishing by itself.

Can I manage multiple brands?

Secondary brand records can be managed, but supported generation flows use the workspace's active/default Brand Kit context rather than guaranteeing per-request selection. Use separate tenant-isolated workspaces when identities require a hard boundary.

What happens when a provider fails?

The action remains failed, pending, or reconciliation-required; the UI never reports an unconfirmed external action as successful. Retrying uses durable idempotency controls.