Content Automation Pipeline
Two-stage system: Stage 1 scrapes and collects events into Airtable. Stage 2 formats approved events into PGM-voice articles and pushes them to the site. Total weekly time investment: ~15 minutes.
Create a new Airtable base called PGM Event Pipeline. Add one table: Event Inbox.
| Field Name | Field Type | Notes |
|---|---|---|
| Event Name | Single line text | Required |
| Date | Date | Include time. Format: YYYY-MM-DD HH:mm |
| End Date | Date | Optional — defaults to start + 3h on intake |
| Venue | Single line text | |
| Neighborhood | Single line text | Little Havana, Wynwood, Brickell, etc. |
| Category | Single select | Live / Love / Play |
| Description | Long text | Raw notes from scrape or press release |
| Ticket URL | URL | |
| Image URL | URL | Optional hero image from venue site |
| Source URL | URL | Where you found it — for reference only |
| Status | Single select | Review (default) / Approved / Rejected |
| Featured | Checkbox | Check to feature on homepage |
In Make.com, add an RSS module for each feed. Set it to check weekly (Monday 6 AM). Route output through an AI text-extraction step, then map fields to Airtable.
| Source | RSS / URL | Category |
|---|---|---|
| Eventbrite Miami | https://www.eventbrite.com/d/fl--miami/events/?format=rss | Mixed |
| New World Symphony | https://www.nws.edu/events/rss | Love |
| Adrienne Arsht Center | https://www.arshtcenter.org/events/rss | Love |
| Pérez Art Museum (PAMM) | https://www.pamm.org/events/rss | Love |
| Pinecrest Gardens | https://pinecrestgardens.org/events/rss | Play |
| Kaseya Center | https://www.kaseyacenter.com/events/rss | Play |
| Hard Rock Live Hollywood | https://www.hardrocklive.com/events/rss | Play |
| Gulfstream Park | https://www.gulfstreampark.com/events/rss | Play |
| Miami Design District | https://www.miamidesigndistrict.net/events/rss | Love |
| Wynwood Walls | https://www.thewynwoodwalls.com/events/rss | Love |
| r/Miami (Reddit) | https://www.reddit.com/r/miami/search.rss?q=event&sort=new | Mixed |
Note: Some venues don't publish RSS. Use Browse.ai for those (see Step 3).
Use Browse.ai (browse.ai) to monitor venue event pages that don't have RSS feeds. Set each robot to run weekly and export to Airtable via webhook or CSV.
| Venue | URL to Monitor | Fields to Extract |
|---|---|---|
| Kaseya Center | https://www.kaseyacenter.com/events | Event name, date, ticket URL |
| Hard Rock Live | https://www.hardrocklive.com/events | Event name, date, ticket URL |
| Hoy Como Ayer | https://www.hoycomoayer.us/events | Event name, date, description |
| Gulfstream Park | https://www.gulfstreampark.com/events | Event name, date, category |
| Pinecrest Gardens | https://pinecrestgardens.org/events | Event name, date, description |
| Lincoln Road BID | https://www.lincolnroad.org/events | Event name, date, venue |
| Coral Gables | https://www.coralgables.com/events | Event name, date, location |
| Moss Center | https://www.mosscenter.org/events | Event name, date, ticket URL |
Browse.ai AI extraction prompt: "Extract the event name, date and time, venue, neighborhood, and ticket URL from this page. Return as structured JSON."
Build one Make.com scenario that runs every Monday at 6 AM. It collects from all RSS feeds and Browse.ai webhooks, deduplicates by event name + date, and creates Airtable rows with Status = "Review".
- 1Open Airtable → Event Inbox. You'll see 30–60 new rows with Status = "Review".
- 2Skim the list. Change Status to "Approved" for your best 5–6 events.
- 3Change the rest to "Rejected" (or just leave them — Make.com ignores non-Approved rows).
- 4Done. The automation handles everything from here.
A second Make.com scenario watches for Airtable rows where Status changes to "Approved" and pushes them directly to the PGM events database via the webhook endpoint.
POST https://premierguidemiami.com/api/webhooks/event-intake Header: X-PGM-Signature: sha256=<hmac_sha256_of_body_using_WEBHOOK_SECRET> Header: Content-Type: application/json
{
"events": [
{
"Event Name": "Hoy Como Ayer — Salsa & Sip, Season 2",
"Date": "2026-10-04 21:00",
"End Date": "2026-10-05 02:00",
"Venue": "Hoy Como Ayer",
"Neighborhood": "Little Havana",
"Category": "Play",
"Description": "Season 2 opener. Live salsa band, open bar packages.",
"Ticket URL": "https://www.hoycomoayer.us",
"Featured": false
}
]
}curl -X POST https://premierguidemiami.com/api/webhooks/event-intake \
-H "Content-Type: application/json" \
-H "X-PGM-Signature: sha256=<hmac_of_body_using_WEBHOOK_SECRET>" \
-d '{
"events": [
{
"Event Name": "Hoy Como Ayer — Salsa & Sip, Season 2",
"Date": "2026-10-04 21:00",
"End Date": "2026-10-05 02:00",
"Venue": "Hoy Como Ayer",
"Neighborhood": "Little Havana",
"Category": "Play",
"Description": "Season 2 opener. Live salsa band, open bar packages.",
"Ticket URL": "https://www.hoycomoayer.us",
"Featured": false
}
]
}'For weekend roundup articles (not just calendar events), use the PGM Editorial AI at /editorial. Paste your approved Airtable rows and get back a fully formatted guide draft + Instagram caption.
Alternatively, use the master prompt below in ChatGPT Team or Claude Projects with your style guide uploaded as a reference document.
You are the Lead Editor for Premier Guide Miami. Your voice is sharp, confident, sophisticated, and sounds like a highly knowledgeable local friend giving unsponsored advice. I will give you a list of raw event details. Format them into our standard weekend guide layout using the following strict rules: 1. STRUCTURE: Organize chronologically by day. 2. HEADINGS: Format event titles using markdown bold, followed by a line break, then small italicized metadata (Neighborhood | Venue | Time). 3. COPYWRITING: Write a snappy, engaging 2-3 sentence description for each event. Do not use generic filler words like "nestled," "boasts," "testament," or "vibrant." Keep it grounded, punchy, and exclusive. 4. PILLAR: Tag each event with its pillar — Live Miami™ (lifestyle, wellness, real estate), Love Miami™ (arts, dining, culture), or Play Miami™ (nightlife, music, sports, festivals). 5. METRICS & LINKS: If any internal article or price details are provided, format them as clean hyperlinks or callout text. 6. INSTAGRAM BONUS: At the very end, generate a minimalist, one-slide text layout for a carousel post summarizing the days. Here are the raw event details for this week: [PASTE YOUR APPROVED AIRTABLE ROWS HERE]
PGM Editorial AI: /editorial · Webhook endpoint:
/api/webhooks/event-intake