Skip to content

GuestBooking

The GuestBooking entity tracks podcast guests through the complete booking pipeline from initial outreach to published episode.

Overview

Custom Views

Guest Detail Page

A custom detail view provides a comprehensive guest profile:

  • Header Section: Avatar, name, recurring guest badge, stage indicator
  • Two-Column Layout: Main info on left, sidebar on right
  • Episode History: List of all episodes featuring this guest
  • Social Links: Quick access to guest's social profiles
  • Booking Notes: Internal notes and preparation materials
  • Details Panel: Contact info, timezone, topics, bio

Guest List View

Enhanced list view with visual elements:

  • Avatar + Name Column: Colored avatars with guest names
  • Stage Pills: Visual indicators for pipeline stage
  • Category Tags: Topic/category badges
  • Inline Filter Bar: Quick filtering by stage, category, or search
  • Custom Field Renderers: Specialized display for list cells

Guest Selector Component

Reusable dropdown component for selecting guests:

  • Colored Avatars: Visual identification
  • Stage Indicators: Show current pipeline stage
  • Search & Filter: Quick guest lookup
  • Overflow Fix: Uses CSS :has() to escape scroll-clipped modals
  • Used in: Episode creation, Ideas board, Project assignments

Fields

FieldTypeDescription
namevarcharGuest's full name
emailemailContact email
stageenumPipeline stage
scheduledDatedatetimeRecording date/time
topicstextDiscussion topics
socialHandlestextSocial media handles
biotextGuest biography
notestextInternal notes
timezonevarcharGuest's timezone

Pipeline Stages

StageDescriptionActions
OutreachInitial contact sentWait for response
RespondedGuest repliedNegotiate appearance
ConfirmedAgreed to appearSchedule recording
ScheduledDate/time setPrepare for recording
RecordedRecording completeEdit episode
PublishedEpisode is liveNotify guest

Workflow Automation

Each stage transition triggers n8n workflows:

Automated Actions by Stage

Triggern8n Actions
guest-confirmedSlack notify, Send confirmation email
guest-scheduledCreate calendar event, Send prep materials
guest-recordedSend thank you email, Notify editing team
guest-publishedSend episode link, Request social share

Relationship with Content

When a guest booking leads to content:

Kanban Board

GuestBookings are best viewed in a Kanban board in EspoCRM:

┌─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────┐
│  Outreach   │  Responded  │  Confirmed  │  Scheduled  │  Recorded   │  Published  │
├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
│             │             │             │             │             │             │
│ ┌─────────┐ │ ┌─────────┐ │ ┌─────────┐ │ ┌─────────┐ │ ┌─────────┐ │ ┌─────────┐ │
│ │ Jane D. │ │ │ Bob S.  │ │ │ Mike T. │ │ │ Lisa R. │ │ │ Tom W.  │ │ │ John S. │ │
│ │ @jane   │ │ │ @bob    │ │ │ @mike   │ │ │ Feb 10  │ │ │ Ready   │ │ │ Ep 42   │ │
│ └─────────┘ │ └─────────┘ │ └─────────┘ │ └─────────┘ │ └─────────┘ │ └─────────┘ │
│             │             │             │             │             │             │
│ ┌─────────┐ │             │             │             │             │             │
│ │ Sam K.  │ │             │             │             │             │             │
│ │ @sam    │ │             │             │             │             │             │
│ └─────────┘ │             │             │             │             │             │
│             │             │             │             │             │             │
└─────────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────────┘

Email Templates

Outreach Template

Subject: Invitation to appear on {show}

Hi {name},

I'm reaching out because I'd love to have you on {show} 
to discuss {topic}.

{show} reaches {audience_size} listeners who are passionate 
about {subject}. I think your expertise would be incredibly 
valuable to our audience.

Would you be interested in a {duration} conversation?

Best,
{host}

Confirmation Template

Subject: Confirmed: Your {show} appearance

Hi {name},

Great news! You're confirmed for {show}.

📅 Date: {date}
🕐 Time: {time} ({timezone})
📍 Platform: {platform}

Prep materials attached.

See you soon!
{host}

Thank You Template

Subject: Thank you for appearing on {show}!

Hi {name},

Thank you so much for joining us on {show}. 
The conversation was fantastic!

Your episode will be published on {publish_date}.

I'll send you the links once it's live.

Best,
{host}

API Operations

Create GuestBooking

http
POST /api/v1/GuestBooking
Content-Type: application/json

{
  "name": "John Smith",
  "email": "john@example.com",
  "stage": "Outreach",
  "topics": "AI trends, Future of work",
  "socialHandles": "@johnsmith",
  "bio": "CEO of TechCorp, AI researcher...",
  "timezone": "America/New_York"
}

Update Stage

http
PUT /api/v1/GuestBooking/{id}
Content-Type: application/json

{
  "stage": "Confirmed"
}

Schedule Recording

http
PUT /api/v1/GuestBooking/{id}
Content-Type: application/json

{
  "stage": "Scheduled",
  "scheduledDate": "2026-02-10T14:00:00.000Z"
}
http
PUT /api/v1/GuestBooking/{id}
Content-Type: application/json

{
  "contentProductionId": "content-id-here"
}

Best Practices

Track Everything

Use the notes field to track all communication and decisions about the booking.

Timezone Awareness

Always record the guest's timezone. Scheduling mishaps are the #1 cause of no-shows.

Prep Materials

Send prep materials (topic list, tech requirements, etc.) at least 48 hours before recording.

Follow Up

Set reminders to follow up with guests who haven't responded within 1 week.

Post-Publication

Always send guests their episode link and ask them to share. This extends your reach.

Metrics to Track

MetricFormulaTarget
Response RateResponded / Outreach>30%
Confirmation RateConfirmed / Responded>70%
Show RateRecorded / Scheduled>95%
Time to PublishPublished - Recorded<7 days

MediaMagic CRM Documentation