Managing scheduled posts is the queue, not the post button
list_social_posts lists and cancel_social_post pulls a row. post_to_social_media is a different job, and mixing them wastes credits and posts.
Check what's queued. Pull a post if you need to. That is the job. Manage my scheduled posts is one named agent capability. list_social_posts returns at most 20 rows (id, platforms, caption snippet, status). cancel_social_post takes a post_id from that list. Checking or cancelling does not use generation credits. Post or schedule to social media is post_to_social_media, and that one does charge — 2 credits per platform — and it can fire now or at scheduled_at. Using the queue job as a publisher, or the publisher as a "just show me what's up" button, is how you either generate a duplicate post or spend a generate trying to inspect a calendar.
This capability is the queue. The other one is the stamp.
What the queue job actually does
Ask what's scheduled or already published. The agent lists up to 20. Point at a specific row to cancel: a still-scheduled post is stopped before it goes out; an already-live post removes the Versely record and best-effort deletes it from the platform. Cancelling a live post is irreversible, so the agent should confirm first if it might already be live.
list_social_posts takes an optional status filter. It does not take a caption, a media URL, or a platform to send to. There is no generate inside this call. If you needed a new asset, make it on a create job, then schedule it on the post job, then come back here to see it sitting in the list.
Use the list before you lock a test, a variant round, or a launch. A leftover scheduled job sitting on top of variant A is how you cannibalise your own slate without meaning to.
What this job is not
The post button. post_to_social_media needs a caption and platforms. It posts immediately or schedules. If you tell the agent "put this on TikTok tomorrow" and it only lists the queue, nothing shipped. If you tell it "what do I have tomorrow" and it posts a new thing, you just spent 2 credits per platform and maybe a generate for media you did not ask to create.
A cron series. Recurring video and slideshow series are automate jobs with their own schedules. A one-off scheduled_at on a social post is an ISO-8601 timestamp, not a five-field cron. Run a recurring video series is not this list. Do not cancel a series by deleting one social row and assuming the workflow died.
Analytics. Check my social media performance is numbers. This list is status: scheduled, published, gone. Reading a queue as "what worked" is how a calendar becomes a strategy meeting.
A generate. Nothing in this capability makes a video. "Manage my posts — make sure I have something for Thursday" is a pipeline or a create job plus a schedule, not a list call. The list will happily show you that Thursday is empty. It will not fill Thursday.
Look first. Stamp second. Pull without regenerating.
The waste is regenerating a post you could have cancelled, or posting a second copy because you did not list first. Credits disappear on the create you ran to "replace" a scheduled row that cancel_social_post would have cleared for free.
Order:
- List. See the week.
- Cancel the row that should not ship.
- Only then generate and post or schedule if a hole is real.
Do not "fix" a scheduled caption by generating a whole new video and scheduling it beside the old one. Cancel, then replace. Two live posts at 9:00 is not a backup. It is two posts.
FAQ
Does listing my scheduled posts cost generation credits?
No. Checking or cancelling does not use generation credits. Creating media and posting still do, on their own jobs. Do not generate in order to inspect the calendar.
Can I edit a scheduled caption in this capability?
No. This job lists and cancels. An edit of a still-queued post is cancel-then-reschedule with the new caption. There is no patch-in-place tool on this row.
What if the post already went live?
cancel_social_post removes the Versely record and best-effort deletes it on the platform. Confirm first. Irreversible is the word in the tool description. Do not treat "cancel" as "archive."
Why not just post another copy if I am unsure what is queued?
Because the original will still fire. List, then cancel, then post. A duplicate at the same slot wastes the per-platform post charge and splits the audience. The queue exists so you do not have to guess.