See llms.txt for all machine-readable content.

Back to Templates

Manage podcast guest pipeline with Google Sheets, Gmail, Calendar, Telegram and DeepSeek

Guest outreach usually means an inbox of applications, a spreadsheet nobody updates, and invitations written from scratch. This workflow takes applications from a form, has an AI assistant score the fit against your show profile and draft the invitation, keeps the pipeline in Google Sheets, books interviews on Google Calendar, and chases unbooked guests with reminders.

Last updated: November 2026.

Quick Overview

This workflow runs two entry points. A guest application form posts to a webhook, details are validated, and an AI agent reads your show profile from Google Sheets to score the fit and write a personal invitation. Good fits are logged as Invited and emailed; weak fits are declined and logged. Every application is announced on Telegram. A second webhook handles bookings, creates the Google Calendar event, marks the guest Confirmed and emails the confirmation. A scheduled branch reminds guests who never booked and sends the host a digest.

How it works

  1. Receives a guest application through a POST webhook (podcast/guest-apply) with name, email, topic, bio, links and a preferred slot.
  2. Normalizes the payload into a guest ID, timestamp and clean fields, then validates that name, email and topic are present.
  3. Incomplete applications skip the AI step and raise a Telegram alert.
  4. The AI agent calls a Google Sheets tool that reads the HostProfile tab for show name, description, audience and invite note, so the copy sounds like the show.
  5. The agent returns JSON with a subject, a four to six sentence invitation that suggests two recording slots, and a fit score from 0 to 10.
  6. The reply is parsed with fallbacks, so a malformed answer still yields a subject and a score of 0.
  7. A fit score of 6 or more routes the guest to the pipeline: appended as Invited, emailed the invitation through Gmail, and announced on Telegram with score and topic.
  8. Below the threshold, the guest gets a decline email, is appended as Declined, and is logged on Telegram.
  9. A booking webhook (podcast/guest-book) normalizes email, name, topic and times, and requires an email and a start time.
  10. Valid bookings are looked up by email in GuestPipeline, turned into a calendar event, marked Confirmed, emailed to the guest and announced on Telegram.
  11. A schedule trigger reads the pipeline and counts guests by status: total, invited, confirmed, completed, declined, reminded, plus who is still waiting.
  12. When guests are still waiting, the reminder agent drafts a nudge, each guest is emailed and marked Reminded. The model also writes the digest for the host on Gmail and Telegram.
  13. When nobody is pending, the host gets an all clear by Gmail and Telegram with the totals instead of an empty digest.

Setup

  1. Publish the workflow so both webhook URLs are live, point your guest form at podcast/guest-apply and your booking page at podcast/guest-book.
  2. Create a spreadsheet with two tabs, GuestPipeline and HostProfile. The pipeline needs guest_id, guest_name, guest_email, topic, status, fit_score, booked_slot, and reminded_at columns.
  3. Fill HostProfile with your show name, description, audience, and the invite note the agent should respect.
  4. Connect Google Sheets, Gmail, Google Calendar and Telegram credentials, then set the spreadsheet on the Sheets nodes.
  5. Add OpenAI-compatible credentials for the DeepSeek models and replace the placeholder Telegram chat ID.
  6. Set the digest recipient on the host Gmail nodes, then apply and book once to check both paths.

Quick Answers

How is guest fit decided?
The AI agent scores applicants from 0 to 10 against the show profile in HostProfile. Six or above is invited, anything lower gets a decline.

Where does the invitation copy come from?
The agent writes the subject and body from your show name, description, audience and invite note in Google Sheets, then suggests two recording slots.

What happens when a guest books a slot?
The booking webhook looks the guest up in GuestPipeline, creates the Google Calendar event, marks the row Confirmed, emails the guest and posts on Telegram.

What if nobody books?
The scheduled branch finds guests still marked Invited, has the model draft a reminder, emails each one and marks it Reminded. The digest with totals goes to the host on Gmail and Telegram, or an all clear message when nobody is pending.

Additional info

Built with n8n. Need an assessment on your business? Feel free to reach out at https://khmuhtadin.com/consultation/