Skip to content

Lepsto Content

Prepare social posts, approve versions, schedule automatic or reminder publishing, and read captured results.

Use Content to prepare social posts, review their versions, approve them, and schedule publication. You or your agent writes the text. Content publishes through a connected account on supported networks, or reminds a person to publish and confirm it.

Channels cover LinkedIn, X, YouTube, Instagram, Reddit, Facebook, TikTok, Threads, Pinterest, Bluesky and Telegram. Content also stores metrics snapshots where the network supports them.

Four things to keep apart

A post holds your Markdown text, shared media, target networks and each network’s variant. It also records the author, status and version. Edits add versions, preserving what was reviewed. See Posts.

A channel represents an account on a network. Its settings describe the account type, delivery mode, accepted content and publishing rates. A bound connector identifies the connection used by automatic delivery. Content never holds a social credential itself: a token is resolved per call and discarded. See Channels.

A publication schedules one approved post variant for one channel and time. It stores the rendered text, post type, fields, state, attempts and idempotency key. Once confirmed, it also records the network’s id and URL when supplied. Schedule a separate publication for each channel. See Publications.

Metrics record how a publication or channel performs at each capture time. Use the latest snapshot for the most recently captured figures, or the series to compare them over time. See Metrics.

Edit and approve the post before scheduling. Track delivery, attempts, cost and post metrics through its publications.

Publishing is a state, not a call

Scheduling returns a queued publication. Read its state or wait for its settled event to learn the outcome: the network may reject a request or change an account limit, and a reminder still needs a person to publish.

Check the channel descriptor and validation result before scheduling. For example, Content’s default X rates are $0.015 for a plain post and $0.20 for a post containing a link. These values price the publication; account limits and explicit channel overrides can change what validation reports.

Publications use channel identity and idempotency keys to guard against sending to the wrong account or queueing a duplicate.

Two ways a post gets out

Not every account can be published to over an API — a personal Instagram profile cannot be reached at all. So a channel says how a post leaves:

  • reminder — Content prepares the post and notifies a person at the scheduled time. They publish it by hand and confirm afterwards. No connector and no network integration are needed.
  • auto — Content publishes through the platform connector the channel is bound to. Automatic posting supports LinkedIn member profiles and YouTube. X and Reddit have adapter code but no registered OAuth app yet, so they stay reminder-only until that lands.

Every channel starts in reminder mode. For automatic posting, bind a supported channel to a platform connector and set its delivery mode to auto. Approve the post, then schedule one publication for each channel and time. Content queues the approved variant and sends it on the scheduler tick. A past time runs on the next tick. See Channels and Publications.

The states, events and metering are the same on both paths, with one substitution: in reminder mode publishing means the reminder was sent, and a person moves the publication to published by confirming it.

Approval is a person’s act

Approval covers a specific version, including its target networks, variant text, fields and media. Finish those edits before requesting approval. A later edit revokes approval and returns the post to pending_approval.

A workflow can draft, submit and schedule posts, but content_posts_approve is not a workflow step. A person must approve the version. The content/post.approved event lets the workflow continue afterward.

Events

Event
When
content/post.created
A post was drafted
content/post.updated
A post was edited, producing a new version
content/post.submitted
A post was submitted for approval
content/post.approved
A person approved a specific version
content/post.approval-revoked
An edit took a standing approval away
content/publication.scheduled
A publication was queued for a slot
content/publication.reminder-due
A person was asked to publish by hand
content/publication.published
A publication landed on the network
content/publication.failed
A publication was given up on
content/publication.cancelled
A publication was called off
content/publication.settled
A publication reached any terminal outcome
content/channel.paused
A channel’s connection stopped working

Wait on content/publication.settled when you want the outcome of a publication you started. It arrives on every ending, and its status field — published, failed or cancelled — is what to branch on. The other three stay available as triggers in their own right.

How you reach it

Use the Workspace app at app.lepsto.com for the composer, calendar, queue, approvals and post metrics. Agents use MCP tools named content_{entity}_{action}. The same operations have REST routes at https://api.lepsto.com/content/….

The published @lepsto/sdk 1.2.0 has no generated Content client. Use the REST routes from your code. See Tools and REST API.

What Content does not do

  • Write the post. Something else composes the text; Content moves it through its life.
  • Shorten links or attribute them. That is Tracking.
  • Send email. A campaign is not “content in the email channel” — see Send one message to a list.
  • Model replies. Comments and direct messages are not here.

Next steps

  • Publish your first post: the whole path, end to end, on a reminder channel.
  • Posts: versions, the lifecycle, and what an edit costs you.
  • Channels: delivery modes, binding, pauses and per-network limits.
Was this page helpful?
Esc

Start typing to search the docs.

↑↓navigate↵select