poddub docs

publish_episode

Publish an episode

Puts a ready episode in its audience's private feeds: its team by default, or the whole organization. Any member can publish to the team, and only owners and admins can publish to the whole organization. It never puts an episode on the public show; that stays a person's step in the app.

What the server says

The description an agent is given, word for word. This tool makes changes.

Take a ready episode into its audience's private feeds: the team by default, or the whole organization for owners and admins (episode_visibility_forbidden otherwise). Releasing to the public show is a person's, in the app. publishedAt is optional, an ISO 8601 instant in UTC such as 2026-10-07T09:00:00Z and not later than now (published_at_in_future otherwise): name it when the episode belongs to an earlier date, since the feeds order the episode by it and the RSS gives it as the episode's date, and leave it out to publish now.

Input

FieldTypeRequiredWhat it takes
visibilitytextnoone of team, organization
publishedAttextnomatches ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$; The date the episode is published under, for an episode that belongs to an earlier day: an ISO 8601 instant in UTC ending in Z, not later than now. Left out, the episode is published now.
episodeIdtextyesnot empty; The episode's id, as list_episodes or create_episode answers it.

Refusals

A refusal comes back as the tool's result, marked as an error, with the code and what explains it.

CodeWhat it means
episode_not_foundNo such episode among the ones the person can see.
published_at_in_futureThe publish date is later than now. Name a date that has passed, or leave it out to publish now; nothing was published.
episode_visibility_forbiddenOnly owners and admins can publish to the whole organization. Publish to the team, and ask one of them to widen it in the app.
episode_state_conflictThe episode is not in a state that allows this: a script no longer in review, or a retry of an episode that has not failed. The refusal says the state it is in.

Every tool can also answer rate_limited and not_a_member: see Limits and Keys.

On this page