Key Features
Guest Directory
View all guests with sortable columns, multi-filter search, and status tracking across the production pipeline.
Brand Kit Sharing
Generate secure share links to deliver personalized brand kits with episode assets, career timelines, and promotional content.
LinkedIn Integration
Scrape LinkedIn profiles to auto-populate guest details and generate professional career timeline infographics.
Status Progression
Track guests through stages: Booked → Recorded → In Production → Complete
Guest Directory
The main guest directory (/guests) displays all podcast guests in a sortable, filterable table:
Data Columns:
- Episode number (supports multi-episode guests)
- Name with transcript indicator
- Position, company, and LinkedIn link
- Contact info (email, phone, address)
- Production status with visual badges
- Episode release date
- Brand kit share link
- Circle membership status
- LinkedIn follower count
- Search by name, company, or position
- Filter by production status
- Filter by Circle membership
- Select multiple guests for batch deletion
- Clear all guests with double confirmation
The table displays 25 guests per page with URL-based pagination (
?page=2) for bookmarkable navigation.Guest Profile
Each guest has a detailed profile page (/guests/:id) with:
Contact Information Card
- Click-to-copy buttons
- Direct action links (mailto:, tel:)
- LinkedIn profile link with external icon
Status Progression
Visual stepper showing the guest’s journey:
Click any status bubble to update the guest’s current stage.
Promotional Targeting
LinkedIn Followers: Display follower count for targeting paid promotion strategies Circle Membership: Toggle to mark high-value guests for recurring engagementEpisode Associations
Guests can appear on multiple episodes. The profile shows:- Number of linked episodes
- Episode numbers and titles
- Release dates
- Link to episode detail pages
If a guest was imported from CSV with an episode number but hasn’t been linked to a Sanity episode yet, the profile shows the imported episode number with a “not yet linked” notice.
CSV Import
Bulk import guests from spreadsheets: Supported Fields:- Name (required)
- Episode number
- Position, company
- Email, phone
- LinkedIn URL
- Notes
- Click “Import CSV” button
- Select CSV file
- Map columns to guest fields
- Review and confirm
- System creates guest records and reports results
Guest Actions
Create Guest
Click “Add Guest” or navigate to/guests/new:
- Enter basic info (name required)
- Add contact details
- Include LinkedIn URL
- Save to create record
Edit Guest
From the guest profile:- Click “Edit” button
- Update any field in the modal editor
- Changes save immediately to Sanity
Delete Guest
Delete individual guests or use bulk actions:- Single delete requires confirmation
- Bulk delete shows count and requires confirmation
- “Clear All” requires double confirmation with explicit OK prompt
Create Episode
From a guest profile, click “Create Episode” to:- Generate a new episode linked to this guest
- Navigate to episode editor
- Pre-populate guest details
Share Links
Guests can have multiple brand kit share links (one per episode):- Shows most recent share link
- Displays episode number (e.g., “EP348”)
- Click-to-copy button
- “+X more” indicator for multi-episode guests
- Lists all share links by episode
- Full URL visible
- Individual copy buttons
Status Badges
Production status appears throughout the UI with color-coded badges:- Booked: Gray calendar icon
- Recorded: Blue microphone icon
- In Production: Orange gear icon
- Complete: Green checkmark icon
- Current status label
- Associated episode number (if linked)
- Hoverable tooltip with release date
Search and Filtering
The guest directory supports advanced filtering: Text Search: Searches across:- Guest name
- Company name
- Position/title
- All statuses (default)
- Booked
- Recorded
- In Production
- Complete
- All (default)
- In Circle
- Not In Circle
Filters automatically reset pagination to page 1. Clear all filters with one click.
Related Features
Brand Kit Sharing
Learn how to generate and share guest brand kits
LinkedIn Integration
Scrape profiles and generate career timelines
Technical Details
Data Source: Sanity CMS (Episodes bucket) Schema: Guest documents with references to Episode documents API Routes:GET /api/sanity/guests- List with filters, sorting, paginationGET /api/sanity/guests/:id- Single guest detailPOST /api/sanity/guests- Create new guestPATCH /api/sanity/guests/:id- Update guestDELETE /api/sanity/guests/:id- Delete single guestDELETE /api/sanity/guests- Clear all guests (requires confirmation)
GuestsPage.tsx- Main directory with tableGuestDetailPage.tsx- Full profile viewGuestSidePanel- Quick-view panelCSVImportModal- Bulk import interfaceStatusBadgePopover- Interactive status badges