Migrate/consolidate existing podcast guest intake into DataOps (not greenfield)

Abierto
#251 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
javascript
Área
backend, tooling

Línea de trabajo

Start with the existing dataops podcast doc templates and the listed podcast SOPs, then trace the guest intake and CalendarHold flow in DataOps. Map each stated gap onto those existing steps, keeping the topic at invite time, the guest form optional, and research/run-sheet work after date confirmation. Done means the intake and remaining steps are consolidated or explicitly deferred, and the Valeriia end-to-end test case is completed.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

design enhancement migration P2 podcast portal

Context

Alexey correction (2026-10-21): Orin wrongly filed this as greenfield backlog. Podcast guest intake already exists in DataOps portal docs — migrate/consolidate that surface, do not invent a new form from scratch.

Valeriia feedback (Telegram): Grace-era flow was many separate emails (pick time → bio/links → topic/doc answers → post-episode share links). She wants one self-serve pack similar in spirit to the sponsor content form. She already saw something for podcasts in Ops — that is the existing guest materials / episode-brief portal docs.

Alexey refinements for the Valeriia test + process (same day):

  1. Run the new intake end-to-end as the test (thank-you for feedback + invite as guest + topic set up front + optional form).
  2. Topic is set in DataOps at invite/propose time (not left blank). Invites often already have a theme — make recording that intended topic in DataOps obvious.
  3. Guest form is optional — guest may reply in ~two sentences instead of filling every field.
  4. Do not run guest research until the date is confirmed; research starts after confirm.
  5. Day/slot still proposed as today; form goes with/after the invite as usual.

What already exists (do not rebuild)

Guest-facing portal docs (dataops podcast doc)

Shareable URL pattern: https://ops.dtcdev.click/sponsor-docs/<doc-id> (+ access code from dataops podcast doc show / email / create … --email).

Template key Link slot Role
podcast (default) Sponsorship document Guest-facing materials — bio, links, topic/prep Q&A
podcast-episode-brief Episode brief Planning brief (replaces Google Doc brief)
podcast-guest-research Guest research Staff-only research (after date confirm)
podcast-run-sheet Host run sheet Staff-only live sheet (after date confirm)

podcast (Materials from the Guest) fields today:

  • guestName, introduction (bio), currentFocus, topicsToCover, topicsToAvoid
  • linkedinUrl, twitterUrl, githubUrl, websiteUrl
  • hookAndPainPoint, keyInsightsAndMilestones, actionableTakeaway
  • sponsorNotes

Field types are text / textarea only — no photo/file upload type in portal docs yet.

Calendar / slotting (separate from the form)
  • dataops calendar slots|day|propose|confirm-hold|release-hold
  • Podcast = 60 min (not workshop 90); evening preferred; midday only if guest asks — see reference.events.calendar.select-event-calendar-slots, sop.media.podcast.select-and-propose-a-date-for-events
  • Guest does not self-pick a synced slot inside the portal doc today; ops still proposes day/slot by email + CalendarHold
Emails / SOPs still used separately (Grace-era chain)
  • First contact + propose date: template.media.podcast.podcast-process-first-contact-email-starting-the-process
  • Share brief / ask bio: template.media.podcast.podcast-adding-johanna-and-sending-the-podcast-link-to-the-speaker + sop.media.podcast.create-podcast-document
  • Add bio into brief: sop.media.podcast.add-a-guest-bio-to-the-podcast-document
  • Post-episode links ask: template.media.podcast.podcast-links-after-the-event-is-over
  • Speaker profile / photo: website _people via dataops speakers / sop.events.planning.create-speaker-profiles-via-airtable-form (not in guest materials form)
  • Workflow map: task-template.tasks.podcast (guest-intake → prep-document phases)

Goal (retargeted)

Migrate and consolidate the existing podcast portal-doc intake + calendar holds + remaining email steps into one guest UX wired to DataOps — not a greenfield form. Preserve: topic-at-invite, optional form, research-only-after-confirm.

Gaps only (build these; reuse the rest)

Feature Status Notes
Bio + links + prep/topic answers in guest-facing portal doc Have podcast template
Episode brief + staff research/run-sheet templates Have research/run-sheet must stay post-confirm
Shareable link + access code + submit/reopen Have
Intended topic recorded in DataOps at invite/propose time Partial / missing Episode/card often created later; title/topic left TBA. Make topic-at-invite a first-class field/step
Guest form treated as optional (short reply OK) Partial / missing SOPs/emails still push “fill the document”; no explicit optional path
Research gated until date confirmed Partial SOP order implies research with prep docs; process must forbid research before confirm
Calendar sync / guest self-serve slot pick in the form Missing ops proposes via CalendarHold + email
Photo upload in intake Missing speakers photo is separate; portal fields text/textarea only
Post-episode links in same intake (or linked later step) Partial separate email template
One-form UX collapsing date + materials + photo + post links Partial / missing materials form exists; date/photo/post-links still separate
Auto meeting link from intake Partial guest invite after confirm-hold; not auto from form submit
Collapse Grace-era multi-email chain Missing SOPs still call separate emails

Related SOPs / refs

  • sop.media.podcast.create-podcast-document
  • template.media.podcast.podcast-adding-johanna-and-sending-the-podcast-link-to-the-speaker
  • template.media.podcast.podcast-process-first-contact-email-starting-the-process
  • sop.media.podcast.select-and-propose-a-date-for-events
  • reference.events.calendar.select-event-calendar-slots
  • sop.events.calendar.creating-tentative-event-on-google-calendar
  • sop.media.podcast.prepare-ai-research-and-host-run-sheet (after confirm only)
  • template.media.podcast.podcast-links-after-the-event-is-over
  • task-template.tasks.podcast
  • Sponsor content form (UX pattern to mirror, not a blank slate)

Non-goals

  • Replacing human guest outreach entirely
  • Greenfield redesign that abandons dataops podcast doc templates
  • Using workshop 90-min slot rules for podcasts
  • Running guest research before date confirm
  • Requiring guests to fill the full form

Test case

Invite Valeriia ([email protected]) as podcast guest (not content-team Telegram handoff) using the new flow end-to-end:

  • Thank her for the intake feedback
  • Invite as guest with topic set up front in DataOps (e.g. “Content management with AI at DataTalks.Club”)
  • Propose day/slot as today (CalendarHold path)
  • Attach optional guest materials form (podcast template); allow a short email reply instead
  • Research/run-sheet only after she confirms the date

Do not close this issue as complete until gaps above are closed or explicitly deferred.

Source

Valeriia → Alexey Telegram, 2026-10-21. Orin filed greenfield; Alexey retargeted to migrate/consolidate + process refinements (audit 2026-10-21).

Lenguaje dominante
JavaScript
Estrellas
3
Forks
0
Merge medio
1 h 4 min
PR fusionados (30 d)
1

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de DataTalksClub/dataops

Todos los issues de DataTalksClub/dataops

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.