Platform
X scheduler, disabled until review
X publishing is not live yet. X uses a separate, isolated direct writer instead of Composio, and production publishing stays disabled until a terms review and the owner's risk acceptance are complete. This page describes what the X lane is built to do once it is enabled, and what it will not do.
X lane, once enabled
What the X writer is built to do.
Currently disabled
While the gate is closed, every X publish returns a disabled result. Nothing is queued to X behind the scenes and nothing is simulated as published.
Text posts up to 280 characters
Each post, and each part of a thread, is checked against 280 characters before anything is sent.
Images, GIFs, and video
Up to 4 images (JPEG, PNG, WebP, or GIF) or MP4 video, uploaded in order and checked for processing before the post is created. Alt text is supported.
Threads as one ordered package
A thread is approved and published as a unit. If the response for a later part is lost, the parts already published are recorded and the attempt is held for reconciliation instead of re-sending the thread.
One writer, isolated sessions
X has exactly one writer, an internal service. Session material is kept in Key Vault and that service's memory, never in the app, logs, or prompts.
Session problems hold the destination
An expired session or a login challenge holds the destination until the session is repaired. Rate limits are retried with backoff rather than in a loop.
Formats and limits
X formats and limits, for when the lane is enabled.
These limits are in the X lane's capability record and are enforced by the same validation as the other lanes. None of them can be published today.
Text
Up to 280 characters per post.
Links
Supported as part of the approved text.
Images
Up to 4 per post. JPEG, PNG, WebP, or GIF.
Video
MP4, checked for processing before the post is created.
Threads
Ordered replies, each part within 280 characters, each tweet ID stored.
Not in scope
Polls, X's own native scheduling, and long-form posts are not supported.
Scheduling, approval, receipt
How a X post goes from draft to receipt.
Every scheduled post moves through the same publication ledger. Each step is a stored record, so the calendar shows what actually happened rather than what was planned.
Content version
The copy, media order, and destination options are frozen into a numbered content version. Editing the post creates a new version, and approvals for the old one no longer count.
Destination approval
An approver signs off on that exact version for this X destination, optionally inside a time window. Scheduling outside the window needs reapproval.
Delivery intent
Scheduling creates a delivery intent. It is refused if there is no current approval, the destination's identity is not verified, or the destination is held.
Publish attempt
A worker claims the intent, validates the payload against the lane's capability record, prepares media in the documented order, and records each attempt and its events.
Verified receipt
When enabled, a post is marked published only when the writer returns the tweet ID. The receipt stores the ID and the status URL. An uncertain write is never handed to a second writer.
Uncertain writes are reconciled
If a request times out after dispatch, the attempt is marked uncertain and reconciled by looking the post up. It is never blindly retried, and a manual retry is refused while any attempt is unresolved.
Pause per destination
Publishing can be paused for one destination, a campaign, a tenant, or everything. Resuming requires an admin and a recorded reason.
Connection
How an X account will be connected.
X is not a Composio lane. The account is attached through an owner-accepted session for that exact account, and SignalDeck reads the account back from the writer to confirm identity before any post is scheduled. A different account than the one on record holds the destination.
Lane status
X is disabled until its gate passes.
Available today
Nothing publishes to X. You can plan and approve posts for the lanes that are live.
Gated
All X publishing, pending an evaluation of the direct writer, a terms review, and the owner's acceptance of the risk.
Not supported
Polls, native X scheduling, long-form posts, and any second write path to X.
When it is enabled
Who the X lane is designed for.
Campaign teams
Approve a launch thread as one package and see exactly which parts went out if something fails mid-way.
Agencies
Keep client X accounts behind the same approval and receipt rules as every other lane.
Teams wary of duplicate posts
A timeout after sending is reconciled by looking the tweet up, not by sending it again.
FAQ
Frequently asked
Can I publish to X with SignalDeck today?
No. The X writer is disabled in production until its gate passes: an evaluation of the direct writer, a terms review, and owner acceptance of the risk.
Why doesn't X go through Composio like other platforms?
X is the one exception to the Composio rule. It uses a single direct writer so there is only one path that can post to an X account.
What will the limits be?
280 characters per post, up to 4 images or one MP4 video, and threads made of ordered replies.
What happens if a thread fails partway?
The parts that published are recorded with their tweet IDs, and the attempt is held for reconciliation rather than re-sending the thread.
Are polls or long-form posts supported?
No. Polls, X's native scheduling, and long-form posts are out of scope.
X
Plan now, publish to X when the gate opens.
Start with the live lanes today. X publishing turns on only after its review is complete.