How completion points work
Course completed fires when a student completes a course in Alva Courses: every lesson, any required quizzes, and a passing evaluation when the course needs one. Its customer is the student, so your loyalty app's action adds the points to that customer's balance.
The trigger also carries the course's ID, title and link, when it was completed and, for evaluated courses, the Grade and Final score. Conditions on these let you pay different amounts per course or per result. The triggers reference lists every field.
Build the workflow
1. Create a workflow
In your Shopify admin, open Apps → Flow and click Create workflow. Then click Select a trigger.
2. Choose Course completed
Choose Alva Courses, then Course completed. Flow passes the student who finished to every later step.
3. Add your loyalty app's points action
Add an action, search for your loyalty app and choose its points action. In Smile.io, choose Adjust points balance, which needs no setup in Smile; Send Smile activity needs an earning rule created in Smile first.
4. Award 100 points
Enter 100 points, enough to notice without denting your margin, and check that the action's customer is the trigger's customer. If the action has a note or reason field, enter Completed a course so the student can see where the points came from.
5. Name it and turn it on
Name the workflow Award loyalty points for completing a course and click Turn on workflow. Only completions from now on earn points; students who finished earlier aren't paid retrospectively.
6. Test it with a one-lesson course
Create a test course with a single lesson and enrol a customer with your own email address. Sign in as them on your storefront and complete the lesson, then open that customer in your loyalty app: the 100 points should appear once.
7. Check the run
Open the workflow's recent runs in Flow to see the points step and any error your loyalty app returned. On the Shopify Flow settings page in Alva Courses, Flow activity → Triggers sent lists each Course completed event.
Points are paid once per completion
Course completed fires once, when a student's completion is first recorded. Reopening the course, rewatching lessons or retaking a quiz afterwards doesn't fire it again, so a student can't earn the same course's points twice by revisiting it.
The one exception is a progress reset. If you reset a student's progress, from their member page or with the Reset course progress action in the actions reference, and they finish again, Course completed fires again.
Stop a second award after a reset
To pay each student once per course even after a reset, tag them when you pay and check the tag first. Build one workflow per course, starting with a condition that Course ID is equal to the course's Flow ID, such as 42.
Then add a condition that at least one of the customer's Tags is equal to points-paid-42. Leave its Then branch empty. On its Otherwise branch, add the points action, followed by Add customer tags with points-paid-42.
Reward more for better results
Because the trigger carries the course and the result, one workflow can pay different amounts for different achievements.
- A bonus for top marks. Add a condition that
Final scoreis greater than or equal to90, and award 200 points on Then and 100 on Otherwise.Final scoreis 0 on courses without an evaluation, so use this on evaluated courses. - Points for one course. Add a condition that
Course IDis equal to the course's Flow ID, listed under Settings → Integrations → Shopify Flow in Alva Courses. - Points per lesson. Use
Course lesson completedinstead, with a condition thatRepeat completionis false, so a lesson completed again after a progress reset earns nothing.
Frequently asked questions
Any loyalty app that adds a Shopify Flow action for giving a customer points. Smile.io, for example, adds Adjust points balance and Send Smile activity. Alva Courses supplies the Course completed trigger; the loyalty app supplies the points.
Not by revisiting it. Course completed fires once, when completion is first recorded. It fires again only if you reset the student's progress and they finish again, and a tag check in the workflow stops a second award.
When you pass the student's coursework. For a course that requires evaluation, Course completed fires at that moment, not when the student finishes the last lesson, and it carries the grade and final score.
No. Alva Courses sends Course completed only for completions that happen while a turned-on workflow uses it. Award earlier graduates by hand in your loyalty app.
See also
Was this helpful?
Last updated 2026-10-01