Skip to main content
— Reference

Shopify Flow actions

Alva Courses adds 7 actions to Shopify Flow, so a workflow can enrol a customer, change or remove their access, send their emails, reset their progress or look it up. This reference covers each action's fields, what it does, and the messages Flow shows when a step runs.

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:

  • No course with ID or handle '…' in this store. The Course field doesn't match a course in this store. Copy the ID or handle again from Settings → Integrations → Shopify Flow.
  • Enter a course ID or URL handle in the Course field. Find them in Alva Courses → Settings → Integrations → Shopify Flow. The Course field is empty, or a variable in it came out empty.
  • This action needs a customer. Use it after a trigger or step that provides one. The workflow has no customer at this point.
  • This customer isn't enrolled in "…". Use Enroll customer in course first. The action needs an existing enrolment.
  • Alva Courses hit a temporary error. Shopify Flow will retry this action automatically. Nothing to do: Flow tries again.
  • Too many Alva Courses actions are running for this store at once. Shopify Flow will retry. A workflow started many runs together; Flow spreads them out.
  • Already processed Flow sent a run that had already finished, so nothing was done twice.

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.

  • Enrolled in "…". Done. The message also says whether the course access email was sent.
  • Already enrolled in "…". Nothing changed. If their access has run out, the message says so; use Extend or set course access to extend it.
  • This customer's access to "…" was revoked by a Flow action. Restore it from the customer's member page in Alva Courses. See restore access that a workflow revoked.
  • This customer's access to "…" was revoked after a refund; automation won't restore it. A refunded course comes back with a new purchase.
  • No Shopify customer with ID … in this store. The customer was deleted, or the ID came from another store.
  • Access length in days must be between 1 and 36,500 days. Leave the field blank to use the course's own setting.

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.

  • Access to "…" revoked. Progress and coursework are kept; restore access from the customer's member page in Alva Courses. Done.
  • This customer isn't enrolled in "…"; nothing to revoke. The step succeeds without changing anything.
  • Access to "…" was already revoked. The step succeeds without changing anything.

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.

  • Access to "…" now ends at …. Done. The new end is shown in UTC.
  • Fill in exactly one option: Extend access by this many days, Set the expiry date, or Give unlimited access. None or more than one was filled in.
  • Set the expiry date as YYYY-MM-DD, such as 2026-12-31 (got '…'). Type the date in exactly that format, or make sure the variable you used produces it.
  • Changing the expiry date wouldn't restore access, so nothing was changed. The student's access was revoked; the message starts with the reason.
  • This customer's access to "…" comes from a membership tag, which never expires. Remove the tag to end access instead.
  • "…" is a free course, and free courses have no access limit, so there's no expiry date to set. Nothing was changed.
  • Access to "…" is already unlimited; nothing to extend. The step succeeds without changing anything.

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.

  • Progress in "…" reset. Completed lessons, quiz attempts and evaluations were deleted; access is unchanged. Done.
  • Tick “I understand this permanently deletes progress” in this step to reset progress. Nothing was changed.

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.

  • Enrolled; 40% of "…" complete. Done; the values are ready for later steps.
  • Access revoked; 40% of "…" complete. Done; enrolled is false.
  • Not enrolled in "…". Done; enrolled is false and the numbers are 0.

See also

Was this helpful?

Still stuck? Email us.

Last updated 2026-10-01