All agents

Speaker curation · pre/post-event playbooks

SpeakerOps

The single reference for which speakers we feature on the home page, how we promote them before each event, and how we follow up with them after. Owns the curated featured-speaker list and every speaker-facing outreach playbook (pre-launch, on-site, post-event amplification, sponsor cross-promotion, re-invite).

ActiveUpdated 2026-05-21

Data assets

Source files this agent will draw from. Not indexed by search engines — internal working data only until the relevant pages ship.

  • XLSX

    Featured speakers — enriched roster

    Hand-curated list of the biggest-name SaaStock speakers (founders, AI operators, investors, media), enriched from the canonical speaker registry. Columns: category, name, LinkedIn, event, title, firm, talk title, YouTube link, speaker page. Source of truth for the home page featured-speaker section and for every outreach motion in this playbook.

    Download (13 KB)

SaaStock — SpeakerOps Playbook

The single reference for which speakers we feature on saastock.com, how we promote them before each event, and how we follow up with them after. SpeakerOps owns the curated featured-speaker list shown on the home page and is the home for every speaker-facing playbook (pre-event launch, on-site, post-event amplification, sponsor cross-promotion, future-edition outreach).

This playbook extends SearchOps — SearchOps governs the whole site's SEO/AEO/GEO stack; SpeakerOps governs the human side of which speakers we put in front of buyers, and when.


1. Who we feature (the "biggest names" rule)

The home page "operators on the SaaStock stage" section is a curated list, not an auto-rank. The selection criteria, in order:

  1. Name recognition for B2B SaaS founders and operators. The reader's reaction should be "of course they spoke at SaaStock." Recognition is a stronger signal than appearance count — a one-time keynote from a $4B founder beats five repeat appearances from a mid-stage operator.
  2. Company they're most associated with. We feature the company the audience knows them for, even if their current title is different (e.g. Manny Medina shows Paid today, but the recognition is from Outreach). Where the registry's latestCompany is misleading, this playbook is the override.
  3. Spread across roles. The featured set must include all four lanes: Founders / CEOs, AI operators (founders building AI-native B2B SaaS), Investors, and Media. Don't over-index on any single lane.
  4. Living people, still active. No retired or off-the-circuit names.

The list is hand-maintained in apps/web/app/home/top-speakers.ts as a static array of slugs (FEATURED_SLUGS). The shape returned (name, company, title, appearances, etc.) is hydrated from the canonical apps/web/app/speakers/registry.ts. Update the slug list to add or remove a featured speaker.

If a name belongs on the list but the slug doesn't exist in the registry yet, add the speaker to the registry first (re-run scripts/generate_speaker_registry.py or hand-add) — never wire a slug that 404s.

The enriched master CSV (CEO name, LinkedIn, talk title, YouTube link, talk page) lives in the Data assets section below and is the source of truth for outreach.


2. Pre-event: get the speakers to market

For every confirmed speaker (≥ 90 days before the event), ship:

  1. Speaker page is live and complete. /speakers/<slug>/ must render with: photo (or initials avatar), bio, current title + firm, links to every past talk (with YouTube embed), and an "Upcoming appearance" block pointing at the new edition's page. Missing photos block the publish — chase one before announcing.
  2. Speaker appears on the event page. Their card is in /europe/<year> or /usa/<year> under the "Confirmed speakers" grid, with the same headshot.
  3. LinkedIn announcement asset. A 1200×630 share card (their photo + SaaStock pink "Speaking at SaaStock" lockup) lives at /speakers/<slug>/announce.png. Sent to them as a Slack/email DM with three things: (a) the LinkedIn post draft, (b) the share image, (c) the link to their /speakers/<slug>/ page they can quote-tweet/repost.
  4. Outreach for content. 60–90 days out, ask: "Do you have a recent talk / podcast / essay we can feature?" If yes, embed on the speaker page under "Recent work" and link from the event page card.
  5. Sponsor cross-promo (if applicable). If the speaker's company is also a sponsor, the event page's Sponsors section links to the same /speakers/<slug>/ page and vice-versa — the sponsor block carries a "Hear from <Name> on stage →" CTA.

3. On-site: capture the assets we need

Every featured speaker generates four assets during the event:

AssetCaptured byFiled underPromo job
Mainstage photoPhoto team/europe/<year>/gallery/photos/MediaOps
Full talk videoVideo teamYouTube, linked from registrySpeakerOps
Quote (90 char)Editorial/recordings/?event=<slug>SpeakerOps
LinkedIn clipSocial team/agents/speakerops/data/clips/SpeakerOps

The video team's deliverable is named <eventSlug>_<speaker-slug>.mp4. The slug must match speakers/registry.ts so the post-event automation can wire the YouTube ID to the right speaker without manual lookup.


4. Post-event: amplify and re-engage

Within 14 days of the event closing:

  1. YouTube uploads. Every featured-speaker talk uploaded to the SaaStock YouTube channel, then added to saastock-youtube-master.xlsx (SearchOps data asset). Re-run scripts/generate_speaker_registry.py so the YouTube ID flows into registry.ts → speaker page → /recordings/ hub automatically.
  2. Featured-recordings refresh. /recordings/?event=<slug> and the event page's "Featured recordings" block (top 6 by view count) update on the next build. No manual edit needed — driven by the master XLSX.
  3. Personal thank-you with their clip. Each featured speaker gets a Slack/email DM with: (a) their LinkedIn-ready 30–60s clip, (b) the YouTube link, (c) one-line stat ("Your talk has 240 attendees in the room and is the #3 most-replayed of the event"). They almost always repost. This is the highest-leverage outreach we do.
  4. Quote in the post-event recap. Pull one quote per featured speaker into the post-event blog (/blog/) and the event recap section on /europe/<year> or /usa/<year>.

After 30 days, run the re-invite pass: any featured speaker whose post performed well becomes a target for the next edition's pre-event outreach (Section 2). Performance signal: ≥ 200 YouTube views in 30 days OR ≥ 5,000 LinkedIn impressions on their clip.


5. Outreach playbooks (when, how, what to say)

TriggerPlaybookOwnerSLA
90 days pre-event, confirmedSection 2 — to marketSpeakerOpsWithin 7 days
Speaker page missing photoPhoto chaseEditorialBlock publish
14 days post-event, talk liveSection 4 — amplifySpeakerOpsWithin 14 days
30 days post-event, ≥ 200 viewsRe-invite for next ed.SpeakerOpsWithin 30 days
Sponsor speaker page mismatchCross-link auditSearchOpsOn change

Templates for each outreach motion (LinkedIn DM, email, Slack) live in the Data assets section below.


6. What this agent does NOT own

  • The speaker registry itself. That's generated from the YouTube master XLSX by scripts/generate_speaker_registry.py (owned by SearchOps). SpeakerOps reads from it.
  • Photo and video file naming, formats, and gallery schema. That's MediaOps.
  • Page-level SEO/AEO conventions on /speakers/<slug>/. That's SearchOps.

If you're editing the home page section, edit top-speakers.ts (the slug list). If you're editing speaker bios or YouTube IDs, edit the registry. If you're changing how the section renders, edit app/page.tsx and update this playbook.