poddub docs

An example

Release notes to a published episode, step by step.

You work in Claude Code in a product's repository, with poddub connected through your own key, capped at member. You ask: "turn the 2.4 release notes into a ten-minute dialogue for the Engineering team". This is what happens.

1. Find the team and the allowance

The agent calls list_teams and finds Engineering among your teams. It calls get_allowance and tells you how many minutes and script generations are left this period.

2. Paste the release notes

It calls create_text_source with the Engineering team, a title such as "Release 2.4", the language and the section of the changelog. The source appears in the team's inbox in the app, as if you had pasted it. If the inbox is full for the plan, the agent is told so, with the cap and the count, and stops.

3. Start the episode

It calls create_episode with the source, ten minutes and the dialogue format. poddub answers at once: the episode is being written.

If you never accepted the provider list

The call is refused with consent_required. poddub works with a list of providers, and you accept it once, in the app. The agent cannot accept it for you: it tells you, you open the app and accept, and it tries again.

4. Wait for the script

The agent calls get_episode every 20 to 30 seconds until the episode is in review. Nothing is held open while it waits.

5. Read and shape the script

It calls get_script and checks names, versions and flags against the repository. Then:

  • edit_turn fixes a wrong flag name in one line, by hand. The first line of every episode, the disclosure, cannot be changed, so the agent edits the lines after it.
  • regenerate_turn has poddub write a line that rambles again. That spends one of the episode's rewrites.

Every change names the version of the script it read. If someone else changed the script in the meantime, the agent is told the latest version and reads it again.

6. You approve

The script is ready, and the agent says so. You open the episode in the app, read the script with the agent's changes, and approve it. Approving spends the organization's minutes and starts the audio. If an owner has allowed agents to approve in your organization, the agent can approve instead; otherwise this step is always yours.

7. Wait for the audio

The agent calls get_episode again until the episode is ready. If making the audio failed, it can call retry_episode.

8. Publish to the team

It calls publish_episode with no audience, which publishes to the team. The episode reaches everyone in Engineering, in the app and in their private feeds.

Publishing to the whole organization

With a key capped at member, asking for the whole organization is refused with episode_visibility_forbidden. The agent publishes to the team and tells you that an owner or admin can widen the audience in the app.

A last get_episode carries a link to listen. The agent can post it in the pull request or the chat, saying it stops working after a while. The team hears the episode in their feeds anyway.

The public show is never touched: putting an episode there is a person's step, in the app.

The same job without an agent, from the paste to the published episode, is release notes as a podcast episode.

On this page