Manual — you / an admin do it
Automated — runs hands-off
Customer touchpoint (rounded bubble) — sits in the system that drives it
⇄ chip = cross-system handoff
HUBSPOT — system of record (you author here)
WORDPRESS — removable adapter (plugin + admin)
①Create the Course recordcohort_code · name · program_code · dates · venue · capacity · has_tiers · trainers · status = Scheduled
① ⇒ the Course creates the draft event in WordPress
②Plugin renders the TEC event as a DRAFTpoll ~15 min → create tribe_events (not public) · title · dates · venue · category → writes external_event_id back
③Plugin auto-creates the tickets4 tiers or single (has_tiers) · unlimited seats · prices cloned from prior cohort · AR fieldset replicated · hidden from shop
Exception only — review / adjust cloned prices for the first cohort of a program, or if prices drifted
④Event auto-PUBLISHESgoes live the moment tickets exist — no manual step; buying happens only on WordPress
⑤Prospect registers & pays on hue.life
⑥MakeWebBetter syncContact (marketable) + Deal + Line items → HubSpot
⑥ ⇒ ⑦ the registrant is synced back to HubSpot
⑦Course-Sync plugin stamps the registrationassociate Contact ↔ Course (860) · line item: cohort_code · program_code · tier · AR fields
You're registered + logistics
⑧Confirm go / no-gois_confirmed = Confirmed (go)
It's confirmed / running
T-7 reminder — hotel, parking
T-1 reminder — final details / join link
⑨ ⇄ ⑩ a Course date/venue change updates the live event
⑨Logistics change? edit the Course→ last_logistics_change
⑩Plugin updates / cancels the TEC eventFlow C
⑪ ⇒ ⑫ check-in feeds attendance back to HubSpot
⑪Day of: check in attendeesEvent Tickets roster
⑫Status = Completed + attendanceAttended / No-show
Feedback survey
Certificate / thank-you
⑬Report: revenue & headcountroll up by cohort / program / tier
Who does what
The same flow as three lists — every manual touch, every hands-off step, every customer email.
Manual — you / an admin
- HubSpot: create the Course record — logistics,
has_tiers, status = Scheduled ①
- HubSpot: confirm go / no-go once enrollment is met ⑧
- HubSpot: edit the Course if a date/venue changes ⑨
- WordPress: check in attendees on the day ⑪
- HubSpot: mark Completed + attendance after ⑫
Exception only: review the auto-cloned ticket prices for the first-ever cohort of a program, or if prices have drifted.
Automated — hands-off
- Plugin renders the TEC event as a draft & writes
external_event_id back ②
- Plugin auto-creates the tickets — 4 tiers or single, unlimited seats, prices cloned from the prior cohort, AR fieldset replicated ③
- Event auto-publishes the moment tickets exist ④
- MakeWebBetter syncs the registrant → marketable Contact + Deal + Line items ⑥
- Course-Sync plugin associates Contact ↔ Course + stamps the line item (cohort / program / tier / AR) ⑦
- Plugin updates / cancels the event on any Course change ⑩
- Reporting rolls up revenue & headcount by cohort / program / tier ⑬
Customer — Workflow emails
- You're registered + logistics
- It's confirmed / running
- T-7 reminder — hotel, parking
- T-1 reminder — final details / join link
- Details updated (fires only on a change)
- Feedback survey
- Certificate / thank-you
Exception — cancellation. You set course_status = Cancelled (+ cancellation_reason) in HubSpot → a Workflow sends the cancellation notice to all associated attendees → the plugin cancels the TEC event (Flow C). On a refund, MakeWebBetter moves the deal stage; the contact↔Course association is kept and flagged, never deleted, so the deal stage handles revenue exclusion while the attendance history stays intact.