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 the deadline 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.
Days until the access deadline 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 Days until the access deadline 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 deadline has passed, 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.
  • Days until the access deadline 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 or remove a customer's access deadline for an Alva course. 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 the deadline by this many days Whole number Optional Added to the current deadline, or to today if the deadline has already passed.
Set the access deadline Text Optional YYYY-MM-DD, in your store's time zone. The deadline is the end of that day.
Give unlimited access Checkbox Optional —

Changes the customer's access deadline: the date Alva Courses tracks, shows on their member page and counts down to in Course access expiring soon. Fill in exactly one option. Extend the deadline by this many days adds 1 to 36,500 days to the current deadline, or to today if it has already passed. Set the access deadline moves the deadline to the end of that day in your store's time zone. Give unlimited access removes the deadline.

It never gives back revoked access. It also refuses a deadline on free courses and on access that comes from a membership tag, which never have one. Extending unlimited access leaves it unlimited.

Unless Alva support has switched on deadline enforcement for your store (it's off by default), a deadline doesn't end access on its own: after it passes, the student can still open the course. To end access on the date, add Revoke course access to a workflow on Course access expired; see Remind students before a course deadline.

  • The access deadline for "…" is now …. Done. The new deadline is shown in UTC.
  • Fill in exactly one option: Extend the deadline by this many days, Set the access deadline, or Give unlimited access. None or more than one was filled in.
  • Set the access deadline 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 access deadline 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 has no access deadline. Remove the tag to end access instead.
  • "…" is a free course, and free courses have no access limit, so there's no access deadline 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 The access deadline (ISO 8601), before any grace period. Empty means no deadline

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-13