CollectSmart Invites

Send invites automatically from Teachable

Connect Teachable's webhooks to Smart Invites so each student is asked for a testimonial when they finish a course, reach halfway, or some days after they buy.

Teachable can tell ReTestimonial when a student finishes a course, completes a lecture or buys, and Smart Invites then emails that student a request for a testimonial. You create a webhook in ReTestimonial, then add its URL in Teachable. Smart Invites are on Premium and Business, and Teachable sends webhooks on its own Growth plan and up.

Pick when to ask

Follow Send invites automatically with a webhook and, under Where do you teach?, pick one of three tiles. Each fills in the fields for one Teachable event:

TileAsksTeachable eventOnly invite when (optional)
TeachableWhen a student finishes a courseEnrollment.completedtype equals Enrollment.completed
Teachable halfwayWhen a student is halfway through a courseLectureProgress.createdobject.percent_complete >= 50
Teachable purchasesSome days after a student buysSale.createdtype equals Sale.created

All three read the student from Email path object.user.email and Name path object.user.name. Teachable purchases starts Wait before the first email at 14 days, so students have had time to begin; set it to suit your course.

Choose the form and the emails, click Create webhook, then click Copy next to Your webhook URL.

Add the webhook in Teachable

In Teachable, open Settings > Webhooks and click Add Webhook. Teachable's webhooks guide shows each field.

  1. Paste your URL as the Webhook URL.
  2. Leave the setting that sends the data as a JSON array off. ReTestimonial takes one event at a time, and turns down a list.
  3. Under the events, choose Custom and pick the event from your tile's row above.
  4. Save the webhook.

Wait for the first student

Teachable has no button that sends a test event. The first student to reach your event is the first one invited, and the page shows Event received — it works. To see one sooner, enroll yourself in a short course and complete a lecture or the course.

Halfway, once per student

Teachable sends LectureProgress.created every time a student completes a lecture, with how much of the course they've done. The first event at 50% or more invites the student. The later ones arrive within the webhook's Re-invite cooldown (days) and show as Skipped with "Customer was already invited within the cooldown window", so each student is asked once. The same keeps a student who finishes later from being asked again by a second webhook for Enrollment.completed, as long as both webhooks are in the same project.

What ReTestimonial reads

  • Bundles: Teachable counts a bundle as one sale, and as one enrollment for each course in it. With Teachable or Teachable halfway, a student is asked for the first course they reach the point in.
  • Different courses, different forms: on Business, add a Conditional routing rule on the object.course.name field to send each course's students to their own form.

Keep the URL private

Teachable doesn't sign its webhooks, so there's no signing secret to add. The webhook URL itself is the only protection: it ends in a secret, and requests with a wrong one are refused. Anyone who has the whole URL can add contacts to your project and send them your invite emails. If it gets out, delete the webhook, create a new one and paste its URL into Teachable.

Was this page helpful?

On this page