> For the complete documentation index, see [llms.txt](https://docs.podigee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.podigee.com/documentation/start-here/ai-agents/mcp-prompts/publish-episode.md).

# publish\_episode

Reference for the \`publish\_episode\` MCP prompt.

Draft, schedule, or publish an episode through the durable workflow.

## Contract

| Property         | Value             |
| ---------------- | ----------------- |
| Prompt name      | `publish_episode` |
| Arguments        | None              |
| Executes changes | No                |

## Example request

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "prompts/get",
  "params": {
    "name": "publish_episode",
    "arguments": {}
  }
}
```

## Result shape

```json
{
  "type": "object",
  "required": [
    "description",
    "messages"
  ],
  "additionalProperties": false,
  "properties": {
    "description": {
      "type": "string"
    },
    "messages": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": [
          "role",
          "content"
        ],
        "additionalProperties": false,
        "properties": {
          "role": {
            "const": "user"
          },
          "content": {
            "type": "object",
            "required": [
              "type",
              "text"
            ],
            "additionalProperties": false,
            "properties": {
              "type": {
                "const": "text"
              },
              "text": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}
```

The returned description is: Publish, schedule, or replace episode media.

The result contains one user-role text message. The prompt supplies operating guidance to the client. It does not call a tool, grant a scope, or confirm an action.

## Guidance supplied to the client

Preview publish\_episode first, show the user the plan, then repeat the same request with a stable idempotency\_key and the exact confirm value. New media always comes from a completed upload: this server never fetches media from a URL, and a chat client cannot move the bytes either, so point the user at the pdg CLI, which uploads the file and returns the upload\_id that goes in as media source "upload". Own this limitation openly instead of trying to work around it. Publication mode is draft, now, or scheduled, and a scheduled published\_at must be in the future, so resolve the user's timezone before sending it. Keep the returned operation\_id and poll get\_operation with it until the operation is terminal, reporting what it says rather than assuming success; resume only an operation in failed\_retryable, and stop after a second identical failure. This tool does not carry artwork, chapters, or a transcript: set those with update\_episode afterwards, remembering that chapters and transcripts replace the whole collection rather than appending.

The client must still inspect tool results and follow the normal preview, confirmation, idempotency, and durable-operation contracts.

## Related tools

* [`publish_episode`](/documentation/start-here/ai-agents/mcp-tools/publish-episode.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.podigee.com/documentation/start-here/ai-agents/mcp-prompts/publish-episode.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
