Turn Notion drafts into narrated blog audio and podcast episodes

Every hour, we grab ready-to-narrate Notion drafts, rewrite them for listening, and publish an mp3 to Google Drive with your brand voice.

Agentic Task
CartesiaNotionGoogle DriveMarketingContent Generation
PromptCreate

Every hour, on a cron trigger, turn publish-ready Notion drafts into narrated audio for our blog and podcast feed. The anchor here is Cartesia because the mp3 is the deliverable; Notion is the source and Google Drive is where the finished audio lives.

Start with Notion's Query a Database against our content database. Filter for pages where the Status property equals 'Ready for audio' and no audio URL has been written back yet, so we do not re-narrate the same piece. For each matching page, call Notion's Retrieve Page as Markdown to pull the full body.

Rewrite each article for the ear rather than the eye. Use shorter sentences, contractions, a spoken intro that names the piece and the author, and a short outro that thanks the listener. Add Cartesia SSML tags for pacing, breaths, and light emotion so the delivery feels natural. Convert URLs, footnote markers, and any visual-only elements (tables, image captions, code blocks) into spoken references or drop them; nothing should be read out that would sound awkward.

Before the first synthesis in a run, call Cartesia's List Voices once and pick our brand voice by name (or by a saved voice id if we have one). Then feed the rewritten script to Cartesia's Text to Speech (Bytes) using that voice id and request mp3 output. Keep each generated file under about six minutes of audio. If a rewritten script would run longer, split it into logical sections at natural breaks and generate one mp3 per section, named with the article slug plus a part number.

Upload each mp3 to Google Drive using Upload File (Multipart) with a descriptive filename (article slug, and part number if applicable). Then call Create Permission on the uploaded file with type 'anyone' and role 'reader' so anyone with the link can play it. Capture the webViewLink or webContentLink for each part.

Finally, call Notion's Update a Page to write the audio URL into the page's Audio property (or a comma-separated list of URLs for multi-part episodes) and flip Status to 'Narrated'. If any step fails for a given page, leave that page's Status alone and log the error so the next hourly run can retry it cleanly without producing duplicate mp3s.

What does this prompt do?

  • Checks your Notion content database every hour for pages marked 'Ready for audio'
  • Rewrites each article for the ear with shorter sentences, contractions, a spoken intro and outro, and natural pacing cues
  • Generates an mp3 with your Cartesia brand voice, saves it to Google Drive, and drops a shareable link back onto the page
  • Splits long drafts into parts so each audio file stays around six minutes

What do I need to use this?

  • A Notion workspace with a content database that has a Status field and a place to store the finished audio URL
  • A Cartesia account with a brand voice you want to narrate in
  • A Google Drive account for storing the finished mp3 files

How can I customize it?

  • Change how often we sweep for new drafts (every hour, every morning, twice a day)
  • Pick a different Cartesia voice, or swap it per author, show, or article type
  • Adjust the target length before we split a draft into multiple parts

FAQs

Do I need to write my articles in a special format?
No. As long as your Notion database has a Status field you can flip to 'Ready for audio' and somewhere to store the audio URL, you can keep writing the way you already do.
Will the audio actually sound natural?
Yes. Before it hits Cartesia, the article is rewritten for spoken delivery with shorter sentences, contractions, a friendly intro and outro, and pacing hints so the read feels like a person, not a robot.
What happens if a draft is too long for one episode?
The workflow splits the piece into logical sections and produces one mp3 per section, aiming for around six minutes each so listeners get bite-sized parts instead of one endless file.
Where does the finished audio actually live?
In your Google Drive. The file is shared anyone-with-link so you can embed or link it anywhere, and the link is written back onto the Notion page automatically.
Can I use different voices for different posts?
Yes. You can pick a different Cartesia voice per author, show, or article and the workflow will use it the next time it runs.

Related templates

Weekly voice-of-customer report from surveys and support

Every Monday, last week's survey answers and support conversations become one themed report in Notion, with the top five themes posted to Slack.

Typeform
Intercom
Notion
+2
Agentic Task
Turn 5 star Yotpo reviews into a weekly marketing content queue

Every Tuesday we pull your best new reviews, draft social captions, email testimonials and product page quotes, then stage them in Notion for approval.

Yotpo
Notion
Slack
Agentic Task
Draft incident postmortems from Statuspage every morning

Each weekday morning, turn yesterday's major incidents into ready-to-review postmortem drafts in Statuspage, Notion, and Jira.

Statuspage
Notion
Jira
Agentic Task
Plain-English security review of Tailscale access changes

Every time someone edits your Tailscale access rules, get a readable summary of what changed, who changed it, and whether it made you less safe.

Tailscale
Slack Bot
Notion
Agentic Task
Monthly Vimeo performance review in Notion and Slack

On the first of each month, your video library becomes a written review of what worked, what flopped, and three things to change next month.

Vimeo
Notion
Slack Bot
Agentic Task
Weekly license check for every employee and contractor

Every Monday we look up each person on your roster in the official licensing board, save dated proof, and flag only the ones you need to chase.

Steel
Google Sheets
Google Drive
+1
Agentic Task

Turn every draft into a listen-anywhere episode.

Stop copy-pasting scripts into voice tools. Publish the mp3 the moment your article is ready.