education
ops
hubspot, airtable, gmail, slack
Course enrollments land in one tracker
Enrollment forms filled up in HubSpot while the cohort tracker lived in an Airtable base, and two administrators retyped names between them every afternoon. Seat counts were wrong often enough that one course was oversold by nine places.
The problem
Enrollment forms filled up in HubSpot while the cohort tracker lived in an Airtable base, and two administrators retyped names between them every afternoon. Seat counts were wrong often enough that one course was oversold by nine places.
What they built
Every form submission becomes an Airtable row within a minute, with the cohort matched from the course code the student selected. Joining details email themselves, and the operations channel is warned as soon as a cohort passes its comfortable size.
The flow, step by step
What changed
<p>Harborline Academy runs short professional courses, about thirty cohorts a term across eleven subjects. Marketing owns the website and the enrollment forms, which sit in HubSpot alongside everything else they send. Operations owns delivery, and delivery has always been planned in an Airtable base where cohorts, tutors, rooms and seat limits are linked together.</p><p>Both choices were sensible on their own. Together they created a job that two administrators split every afternoon: open the form submissions, retype the students into the tracker, and hope nobody enrolled in the two hours since the last pass. In a busy September that was three hundred and forty entries a term with everything that implies about typos in email addresses.</p><p>The cost of the gap showed up in one specific failure. A course with a hard limit of thirty seats sold thirty nine, because the tracker said twenty two at the moment somebody looked and the form had been quietly filling all morning. Nine people had to be moved or refunded, and two of them did not come back.</p><p>The flow closed the gap in the least clever way available, which was the right call. It does not try to be a registration system. It copies one record into one row, links it to the cohort by the course code the student already selected, and leaves every rule about payment and eligibility in Airtable where the operations team can read it. Because Airtable is now current within a minute, the seat count in it became the number people quote.</p><p>The threshold alert was added a month later and is the part the team mentions first. Twenty four seats on a thirty seat course is the point where the academy can still open a second group and find a tutor without paying a premium, so the warning arrives while a decision is still cheap. Last term it fired eleven times and four of those became new cohorts.</p><p>One deliberate omission: the flow does not write anything back into HubSpot. Marketing asked for it, operations said no, and after a term of running they still agree. Two systems writing to each other in a loop is a good way to spend a Friday afternoon working out which one is right, and nothing in the process actually needs it.</p>