How Alva actions behave
Every Alva Courses action looks up the course in your own store only, by Flow ID or URL handle, including a handle the course had before you changed its URL. When a step can't do its job, it fails with a message that says why and what to change, and Flow doesn't retry it. When Alva Courses has a temporary problem, Flow retries the step automatically for up to 36 hours.
A step that finds nothing to do succeeds and says so, such as enrolling someone who is already enrolled. If Flow delivers the same run twice, Alva Courses recognises it and doesn't repeat the work. The one exception is rare: if Alva couldn't record a finished run and Flow never got the answer, Extend access by this many days or Resend course access email can apply twice.
Messages that more than one action can show:
Enrolment and access actions
These actions give, take away and adjust course access. Pair them with Shopify triggers, such as a customer tag being added or an order being paid, to run memberships, cohorts and promotions without touching each student by hand.
Enroll customer in course
Give a customer access to an Alva course.
| Field | Type | Required | Notes |
|---|---|---|---|
| Customer | Shopify customer | Required | Filled in by Flow from the trigger, or from an earlier step that provides a customer. |
Course ID or URL handle |
Text | Required | Find it in Alva Courses → Settings → Integrations → Shopify Flow. |
Access length in days |
Whole number | Optional | Leave blank to use the course's own access setting. |
Send the course access email |
Checkbox | Optional | — |
Enrols the customer in the course, adding them as a member in Alva Courses if they're new; they must already be a customer in your Shopify store. Leave Access length in days blank to use the course's own access setting, or enter 1 to 36,500 days. Free courses always get unlimited access. The new enrolment fires Course enrollment created with Enrollment source set to flow.
Tick Send the course access email to email the student their link. If the email can't be sent, the enrolment still stands and the step's message says the email wasn't sent. A student whose access was revoked is never re-enrolled by automation.
Revoke course access
Remove a customer's access to an Alva course. Their progress, quiz attempts and coursework are kept.
| Field | Type | Required | Notes |
|---|---|---|---|
| Customer | Shopify customer | Required | Filled in by Flow from the trigger, or from an earlier step that provides a customer. |
Course ID or URL handle |
Text | Required | Find it in Alva Courses → Settings → Integrations → Shopify Flow. |
Removes the customer's access without deleting anything: completed lessons, quiz attempts and coursework are kept. Alva Courses also removes the course's progress tags from the customer if you use them, and fires Course access removed with Reason revoked by flow. To give access back, use Restore access on the student's page in Members; see restore access that a workflow revoked.
Extend or set course access
Change when a customer's access to an Alva course expires. Fill in exactly one of the three options.
| Field | Type | Required | Notes |
|---|---|---|---|
| Customer | Shopify customer | Required | Filled in by Flow from the trigger, or from an earlier step that provides a customer. |
Course ID or URL handle |
Text | Required | Find it in Alva Courses → Settings → Integrations → Shopify Flow. |
Extend access by this many days |
Whole number | Optional | Added to the current expiry date, or to today if access has already expired. |
Set the expiry date |
Text | Optional | YYYY-MM-DD, in your store's time zone. Access ends at the end of that day. |
Give unlimited access |
Checkbox | Optional | — |
Changes when the customer's access ends. Fill in exactly one option. Extend access by this many days adds 1 to 36,500 days to the current expiry date, or to today if access has already run out. Set the expiry date ends access at the end of that day in your store's time zone. Give unlimited access removes the end date.
It never gives back revoked access. It also refuses an expiry date that Alva Courses wouldn't enforce: on free courses, and on access that comes from a membership tag. Extending unlimited access leaves it unlimited.
Email actions
These actions send Alva Courses' own emails, using your templates and sending domain. Use them to resend a lost course link, or to send a certificate on your schedule instead of the moment a course is completed.
Resend course access email
Email a customer the link to an Alva course they're enrolled in.
| Field | Type | Required | Notes |
|---|---|---|---|
| Customer | Shopify customer | Required | Filled in by Flow from the trigger, or from an earlier step that provides a customer. |
Course ID or URL handle |
Text | Required | Find it in Alva Courses → Settings → Integrations → Shopify Flow. |
Emails the customer the link to a course they're enrolled in, using your course access email template. To protect students from a workflow that loops, Alva Courses sends it at most 3 times per customer per course in any hour. Further runs wait, and Flow retries them once the hour allows.
Send course certificate
Email a customer their certificate for an Alva course they've completed. Does nothing if it was already sent.
| Field | Type | Required | Notes |
|---|---|---|---|
| Customer | Shopify customer | Required | Filled in by Flow from the trigger, or from an earlier step that provides a customer. |
Course ID or URL handle |
Text | Required | Find it in Alva Courses → Settings → Integrations → Shopify Flow. |
Emails the customer their certificate for a course they've completed. If the certificate was already sent, automatically or by an earlier run, the step succeeds without sending it again. A certificate sent by this action fires Course certificate issued. Students whose access was revoked don't get one.
Progress actions
These actions read or clear a student's progress. Get course progress is the building block for nudges and reports; Reset course progress is for retakes and recertification, and it can't be undone.
Reset course progress
Reset a customer's progress in an Alva course. This permanently deletes their completed lessons, quiz attempts and coursework evaluations.
| Field | Type | Required | Notes |
|---|---|---|---|
| Customer | Shopify customer | Required | Filled in by Flow from the trigger, or from an earlier step that provides a customer. |
Course ID or URL handle |
Text | Required | Find it in Alva Courses → Settings → Integrations → Shopify Flow. |
I understand this permanently deletes progress |
Checkbox | Required | Must be ticked, or the action does nothing and reports an error. |
The student starts the course again from the beginning. Their access, purchase, enrolment, reflection notes and comments are kept. The step does nothing unless I understand this permanently deletes progress is ticked. Each reset shows in the Progress resets card on the student's member page, made by store staff.
Because the reset clears the completion, finishing the course again fires Course completed again and sends a new certificate if the course awards one. Each lesson completed again fires Course lesson completed with Repeat completion set to true.
Get course progress
Look up a customer's progress in an Alva course, to use in later steps.
| Field | Type | Required | Notes |
|---|---|---|---|
| Customer | Shopify customer | Required | Filled in by Flow from the trigger, or from an earlier step that provides a customer. |
Course ID or URL handle |
Text | Required | Find it in Alva Courses → Settings → Integrations → Shopify Flow. |
It returns these values, which later steps in the same workflow can use:
| Value | Type | Meaning |
|---|---|---|
enrolled |
True or false | Whether the customer is enrolled and not revoked |
percentComplete |
Number | Percent of live lessons completed |
completed |
True or false | Whether the course is complete |
lessonsCompleted |
Whole number | Lessons completed |
accessExpiresAt |
Text | Access expiry, ISO 8601, empty when unlimited |
Looks up the customer's progress without changing anything, so a later condition can branch on it: for example, wait 7 days after enrolment, then email students whose percentComplete is below 10. See nudge students who haven't started a course.
A customer who isn't enrolled returns enrolled false and zeros, and so does a customer Alva Courses doesn't know yet. A student whose access was revoked returns enrolled false with the progress they had. percentComplete and lessonsCompleted count only lessons that are live in the course, not drafts.
See also
Was this helpful?
Last updated 2026-10-01