10,000 listeners in 30 days. AI hosts, real guests.Read the field note
DocsUpdated May 13, 2026

Episode lifecycle states

Understand the states an episode moves through, from first draft to distributed across platforms, and how script status, audio status, and lifecycle status work together.

9 min read
1664 words
lifecycle
status
publishing

Every Mato episode carries three separate status tracks that run in parallel. Understanding how they fit together helps you know what happened, what is happening, and what to do next. This article explains all three tracks, the transitions between states, and how each one surfaces in the UI.

The three status tracks

An episode does not have a single "status." It has three:

  1. Script status tracks the writing and approval workflow. It answers: is the script ready?
  2. Audio status tracks audio generation. It answers: does the episode have a playable file?
  3. Lifecycle status tracks publishing and distribution. It answers: can listeners find this episode?

Each track moves independently. A script can be approved while audio has not been generated yet. Audio can be rendered while the episode is still a draft. The lifecycle only advances to "distributed" after Mato Distribution finishes its upload pipeline.

The episode detail page shows all three at once: the lifecycle pill in the header, the audio state pill in the audio block, and the script status in the editor header.

Script status

The script status follows the editing and review workflow. Four values exist:

Pending is the default. Every new episode starts here. The script has not been generated yet, or a generation job is still running. In the UI, pending scripts do not get their own badge. The episode just shows its lifecycle status (usually "Draft").

Ready for review means the script has been generated and is waiting for you to review it. The episode header shows an "Awaiting approval" pill in yellow, and the side panel marks the Manual Review row as "Required" with a coral chip. This is the state where you open the script editor, read the dialogue, make edits, and decide whether to approve.

Approved means you clicked Approve in the script editor. Audio generation starts automatically after approval. Once approved, the script status does not block anything further.

Generating audio means the text-to-speech pipeline is running. The script editor becomes read-only during this phase. The episode header shows a yellow "Generating audio" pill.

Script status only moves forward through user actions (approving) or system events (generation completing). There is no way to manually set a script back to "pending" from the UI.

Audio status

The audio block on the episode detail page shows one of four states:

Not generated means no audio file exists and no generation job is active. This is the starting point for every new episode.

Generating means a generation job is running. The job status reads "pending" or "processing," or the script status is "generating_audio." The audio block shows a yellow pill with a pulsing dot.

Generated means an audio file exists and no job is actively running. The audio block shows a green pill and a playback player.

Failed means the most recent generation job ended in an error. The audio block shows a red pill. You can retry generation from the script editor.

The system tracks each audio generation job through pending, processing, completed, and failed stages internally. The progress details are not shown on the episode page.

Lifecycle status

Lifecycle status controls whether listeners can access the episode. It has three values:

Draft is the default. The episode is private. Only your team sees it inside the workspace. Draft episodes do not appear on the public show page, in the RSS feed, or on any directory.

Published means the episode is visible on your show's public page. This state is set when audio generation completes and auto-publish is enabled, or through the Mato Distribution pipeline. In practice, most episodes skip straight to "distributed" because publishing through Mato handles both the upload and the lifecycle flip in one step.

Distributed means the episode has been pushed through Mato Distribution. The audio file lives on Mato's CDN, the RSS feed includes the episode, and listeners can play it on any platform that reads the feed (Apple Podcasts, Spotify, YouTube Music, and others). This is the terminal state for a live episode.

In the UI, Draft shows a gray pill, Published shows a green pill, and Distributed shows a green pill. The difference between Published and Distributed matters at the infrastructure level (CDN audio, RSS inclusion), but from a user perspective both mean "live."

When you unpublish an episode, the lifecycle resets to Draft. Mato also propagates the unpublish to the distribution platform and regenerates the RSS feed to remove the episode.

How the three tracks interact

The episode detail page combines all three tracks into a single resolved badge. The resolution logic follows a priority order:

  1. If the script is Ready for review, the badge reads "Awaiting approval" (yellow). This takes priority because it is the most urgent user action.
  2. If the script is Generating audio, the badge reads "Generating audio" (yellow). Audio generation blocks everything downstream.
  3. If a Mato publish job is in flight, the badge reads "Publishing" (yellow).
  4. If the lifecycle is Distributed and the episode is live on Mato's CDN, the badge reads "Distributed" (green).
  5. If the lifecycle is Published, the badge reads "Published" (green).
  6. Otherwise, the badge reads "Draft" (gray).

This means the badge temporarily overrides the lifecycle status to surface script and audio events. A distributed episode whose script is regenerated and pending review will show "Awaiting approval" until you approve the new script, even though the previous version is still live.

Mato Distribution states

When you click Publish Episode, a background job manages the publishing pipeline. The episode goes through four stages:

  1. Pending is set when you click Publish. Mato has accepted the request and queued the job.
  2. Uploading is set when the background worker picks up the job. It streams the audio file to Mato's CDN via a presigned upload URL.
  3. Published is set after the audio upload completes, the episode is published on Mato, and the RSS feed is regenerated. The lifecycle flips to "distributed" at the same time.
  4. Failed is set if any step in the pipeline errors out after all retries. The error message is stored alongside the status.

The pipeline runs these steps in order: fetch episode data, sync the podcast show to Mato (if not already synced), upload the audio, publish the episode record, and regenerate the RSS feed. Each step is durable and retried up to three times. If the entire process fails, the status moves to "failed" with an error message.

A background monitor runs periodically to catch jobs stuck in "pending" or "uploading" for too long. If a job has been idle for over an hour and has not exceeded the attempt cap, the monitor re-queues it.

How the lifecycle pill resolves for Mato states

The episode detail page does not show "pending" or "uploading" as separate labels. Instead, it maps them to user-facing badges:

  • When Mato is uploading or queued, the badge shows Publishing (yellow, pulsing dot).
  • When Mato finishes and the episode is live on the CDN, the badge shows Distributed (green).
  • When publishing fails, the badge stays at whatever lifecycle state it had before. The failure details appear in the distribution panel in the sidebar.

The full episode timeline

Here is the typical sequence of states for an episode that goes from creation to distribution:

  1. Episode is created. Script: Pending. Audio: not generated. Lifecycle: Draft.
  2. Script generation runs. Script stays at Pending during the job. Audio: not generated. Lifecycle: Draft.
  3. Script generation completes. Script: Ready for review. Audio: not generated. Lifecycle: Draft. Badge: "Awaiting approval."
  4. You review and approve the script. Script: Approved, then Generating audio. Audio: generating. Lifecycle: Draft. Badge: "Generating audio."
  5. Audio generation completes. Audio: generated. Lifecycle: Draft. Badge: "Draft."
  6. You click Publish. Mato begins uploading. Audio: generated. Badge: "Publishing."
  7. Mato Distribution finishes. Lifecycle: Distributed. Badge: "Distributed."

For podcasts with auto-publish enabled, steps 6 and 7 happen automatically after step 5. The lifecycle flips from Draft to Distributed without any manual action.

If manual review is off, the script skips "Ready for review" entirely. It goes straight from Pending to Approved, and audio generation starts without waiting for your review.

Where each state appears in the UI

Episode list page. Each episode card and table row shows the lifecycle badge (Draft, Published, or Distributed). You can filter the episode list by lifecycle status using the toolbar.

Episode detail header. The resolved status pill combines script, audio, and lifecycle into a single badge. The header also shows a CTA button that changes based on state: "Review & approve" when the script needs review, "Publish Episode" when audio is ready, "Publishing" during upload, and a link to the public page when distributed.

Audio block. Shows its own pill: Not generated, Generating, Generated, or Failed. This is independent of the lifecycle pill.

Script editor header. Shows the script-specific status: Draft, Ready for Review, Approved, Generating Audio, or Completed.

Side panel, Episode section. The Status row shows the same resolved pill as the header. The Manual Review row shows "Required" (coral chip) when the script is waiting for approval, or "Not required" otherwise.

Side panel, Distribution section. Shows per-platform status for Mato and Buzzsprout. Each platform row indicates Live, Pending, Failed, or Inactive.

Recovering from failed states

If audio generation fails, the audio block shows a red "Failed" pill. Open the script editor and click Generate audio to retry.

If Mato Distribution fails, the distribution panel in the sidebar shows the error. Click Publish again to re-trigger the pipeline. Mato also monitors long-running publish jobs and automatically retries them when possible.

If an episode is stuck in "Publishing" for more than an hour, Mato will either re-queue the job or mark it as failed so you can retry manually.

Still need help?

If the doc didn't solve it, open Intercom and ask us directly. Include the page you're on and what you expected to happen.

Related guides

Getting started

Create your Mato account, set up your workspace, and get ready to produce your first podcast.

Configure podcast settings

Adjust your podcast's name, schedule, AI behavior, audio, branding, publishing connections, and more from a single settings page.

Create a custom host

Add a new AI host to your workspace by building one from scratch or forking from a template.

Set up an interview

Create a live AI interview, invite a guest, and prepare questions.

Manage your team

Add teammates, assign roles, and control who can do what in your Mato workspace.

Subscribe to RSS feeds

Follow Mato's changelog and blog through RSS. Add the feeds to your preferred reader and get updates as they publish.

Create social clips

Turn your podcast episodes into short-form video clips for TikTok, Instagram Reels, and YouTube Shorts.

Episodes

Generate, edit, and refine podcast episodes inside Mato.

Customize branding and cover art

Set up your podcast's visual identity with AI-generated covers, custom uploads, color schemes, and brand profiles.

Configure voice and delivery

Set a voice, accent, speed, and delivery style on a talent profile so episodes sound exactly how you want.

Guest recording guide

What to expect when you join a Mato interview as a guest.

Invite members to your workspace

Add teammates to your Mato workspace by sending email invitations, choosing roles, and managing pending invites.

Customize clip templates and styles

Choose a visual template for your social clips, adjust caption styling, override colors and fonts, and preview changes before rendering.

Distribution

Connect Mato to your website and podcast apps so episodes can go live with less manual work.

Review interview segments

Score, filter, and select the best interview segments for your episode.

Plans and pricing

A complete reference for Mato's pricing tiers, feature availability, usage limits, and billing management.

Connect social accounts

Link your YouTube, TikTok, Instagram, and LinkedIn accounts so you can publish clips straight from Mato.

Talent profile reference

Field-by-field reference for every section of a talent profile page in Mato.

Turn an interview into an episode

Generate a full podcast episode from your best interview segments.

Set up a schedule

Configure automated episode generation on a recurring schedule.

Email preferences

Control which emails Mato sends you, turn off individual categories, or unsubscribe from everything.

Publish clips to social media

Post your rendered social clips to LinkedIn, TikTok, Instagram, and YouTube directly from Mato.

Record with video

Enable video capture during interviews to pair visual context with your audio recording.

Use the schedule calendar

View, manage, and rearrange upcoming episodes on the schedule calendar.

Manage episode suggestions

Review, accept, and use AI-generated topic suggestions to create episodes.

Set up Listener Q&A

Enable Listener Q&A so your audience can submit questions through web forms, SMS, voice, or WhatsApp, then configure channels, moderation rules, and notifications.

Manage listener questions

Review incoming listener questions, approve or reject them, feature questions for episodes, and track Q&A performance.

© 2026 Mato. All rights reserved. English · Multiple languages available