Skip to main content
— Reference

Shopify Flow triggers and their fields

Alva Courses sends 12 triggers to Shopify Flow. This reference lists when each one fires and every field it carries, so you can build conditions and fill in action steps with the right data.

Using trigger fields

Every Alva Courses trigger starts with the student as a Shopify customer, followed by Course ID, Course title and Course URL. Lesson triggers add Lesson ID, Lesson title and Lesson URL. Every field is always sent: text that doesn't apply is empty, and a number that doesn't apply is 0.

In a Condition, choose the field from the trigger's data. In an action's text, insert it with Add a variable. Flow writes each field name in camelCase there, so Course title becomes {{ courseTitle }}. Use the picker rather than typing names, so fields with ID or URL in their name come out exactly right.

Course and lesson links open your storefront, where the student signs in to see the course. Dates and times are text in ISO 8601 format and in UTC, such as 2026-10-01T09:30:00.000Z.

Enrolment and progress triggers

These triggers follow a student through a course, from enrolment to completion. Use them to tag or thank students, sync progress to an email tool, or alert yourself when a quiz goes badly. Each fires once per real change, never for a repeated request.

Course enrollment created

A customer was enrolled in an Alva course by purchase, by you, or by CSV import, membership tag, free self-enrollment or a Flow action.

Field Type What it holds
Customer Shopify customer The enrolled student, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Enrollment source Text How the student was enrolled: purchase, manual, import, membership tag, free or flow
Order name Text The order that granted access, such as #1001. Empty unless purchased
Access expires at Text When access expires (ISO 8601). Empty means unlimited

Fires once, when the enrolment is created. Extending, renewing or restoring access doesn't fire it again; removing a student and enrolling them again does, because that is a new enrolment. An enrolment made by the Enroll customer in course action has Enrollment source set to flow.

Course lesson completed

A student completed a lesson in an Alva course. Fires again if they complete it again after their progress was reset; see Repeat completion.

Field Type What it holds
Customer Shopify customer The student who completed the lesson, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Lesson ID Text The Alva lesson ID
Lesson title Text The lesson title
Lesson URL URL Link to the lesson on the storefront
Lessons completed Number Lessons the student has completed in this course
Total lessons Number Lessons in the course
Percent complete Number Course progress, 0 to 100
Repeat completion True or false Whether the student completed this lesson before and their progress was reset since. Add a condition on this to reward each lesson only once

Fires the first time a student completes a lesson. Completing it again sends nothing, unless their progress was reset in between: then it fires again with Repeat completion set to true. To reward each lesson once, add a condition that Repeat completion is false.

Course completed

A student completed an Alva course: every lesson, any required quizzes, and a passing evaluation where the course requires one.

Field Type What it holds
Customer Shopify customer The student who completed the course, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Completed at Text When the course was completed (ISO 8601)
Grade Text The evaluation letter grade. Empty when the course has none
Final score Number The evaluation score. 0 when the course has none
Evaluation required True or false Whether an instructor had to pass the student's coursework

Fires the first time a student completes the course. For a course that requires evaluation, that is the moment you pass their coursework, not when they finish the last lesson. If you reset their progress, or the Reset course progress action does, completing the course again fires it again; a student resetting their own progress doesn't.

Course quiz graded

A student's quiz attempt in an Alva course passed, failed or timed out. Quizzes needing manual review fire once you've reviewed them.

Field Type What it holds
Customer Shopify customer The student who took the quiz, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Lesson ID Text The Alva lesson ID
Lesson title Text The lesson title
Lesson URL URL Link to the lesson on the storefront
Quiz ID Text The Alva quiz ID
Quiz title Text The quiz title
Result Text passed, failed or expired
Passed True or false Whether the student passed
Score Number The score as a percentage
Passing score Number The percentage needed to pass
Attempt number Number Which attempt this was, starting at 1
Manually reviewed True or false Whether you graded any answers by hand
Answers Text One line per question: the question, the student's answer, and whether it was correct

Fires when an attempt is passed or failed. A timed attempt that runs out fires with Result expired once Alva Courses notices: when the student submits, starts the quiz again or their answers are saved. Quizzes with answers you mark by hand fire after you review them, and changing a grade from passed to failed, or back, fires again with the new result.

Answers has one line per question with the student's answer and whether it was correct. On very long quizzes it may be shortened so the trigger stays within Shopify Flow's size limit.

Comment, coursework and certificate triggers

These triggers cover conversations and assessed work: a student comments, you reply, a student submits coursework, you evaluate it, and a certificate goes out. Use them to post comments to Slack, email students your replies, or keep a record of grades.

Course lesson comment posted

A student posted a comment or a reply on a lesson in an Alva course.

Field Type What it holds
Customer Shopify customer The student who posted the comment, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Lesson ID Text The Alva lesson ID
Lesson title Text The lesson title
Lesson URL URL Link to the lesson on the storefront
Comment ID Text The Alva comment ID
Comment text Text The comment, cut to 2,000 characters
Is reply True or false Whether the comment replies to another comment

Fires for comments and replies written by students, whether or not Alva Courses emails you about new comments. Your own replies fire Course instructor reply posted instead.

Course instructor reply posted

You replied to a student's lesson comment in an Alva course. The customer is the student you replied to.

Field Type What it holds
Customer Shopify customer The student whose comment was replied to, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Lesson ID Text The Alva lesson ID
Lesson title Text The lesson title
Lesson URL URL Link to the lesson on the storefront
Reply text Text Your reply, cut to 2,000 characters
Comment ID Text The Alva ID of your reply

Fires when you reply to a comment a student wrote. The customer is that student, so the workflow can email them. Alva Courses doesn't email students about your replies itself, which is what this trigger is for.

Course coursework submitted

A student submitted their coursework for evaluation in an Alva course.

Field Type What it holds
Customer Shopify customer The student who submitted, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Submission number Number Which submission this is, starting at 1

Fires each time a student submits coursework for evaluation, including a resubmission after you asked for a revision.

Course coursework evaluated

You evaluated a student's coursework in an Alva course, as a pass or as a request to revise.

Field Type What it holds
Customer Shopify customer The student whose coursework was evaluated, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Outcome Text pass or revise
Grade Text The letter grade. Empty when none was given
Final score Number The score. 0 when none was given
Feedback visible to student True or false Whether the student can see your feedback
Submission number Number Which submission this was, starting at 1

Fires when you pass the coursework or ask for a revision. A pass that completes the course also fires Course completed. Your written feedback isn't included, because it can be long and personal.

Course certificate issued

An Alva course certificate was emailed to a student.

Field Type What it holds
Customer Shopify customer The student who received the certificate, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Issued at Text When the certificate was sent (ISO 8601)

Fires when Alva Courses emails a student their certificate, including one sent by the Send course certificate action. Resending a certificate from the member page doesn't fire it again, and a certificate a student only downloads fires nothing.

Access triggers

These triggers report a student losing access, or about to. Use them for renewal reminders, win-back offers, or to tidy up tags and lists. Expiry triggers come from an hourly check, so they arrive within the hour rather than at the exact minute.

Course access removed

A student lost access to an Alva course: unenrolled, refunded, member deleted or revoked by Flow. Not fired by removing a membership tag.

Field Type What it holds
Customer Shopify customer The student who lost access, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Reason Text unenrolled, refunded, member deleted or revoked by flow

Reason is unenrolled when you remove the student from the course, refunded after a refund, member deleted when you delete the member (once for each course they had), or revoked by flow. Removing a membership tag, deleting a course, uninstalling Alva Courses and customer data erasure don't fire it, and access running out fires Course access expired instead.

Course access expiring soon

A student's access to an Alva course expires in 14, 7, 3 or 1 days. Add a condition on Days until expiry to choose when to act.

Field Type What it holds
Customer Shopify customer The student whose access is expiring, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Access expires at Text When access expires (ISO 8601)
Days until expiry Number 14, 7, 3 or 1

Fires at most once for each of 14, 7, 3 and 1 days before access ends, and only for the nearest one already reached, so a student enrolled with 5 days left gets 7, never 14 and 7 at once. Extending their access starts the countdown again. Revoked students, membership-tag access and free courses are left out.

Course access expired

A student's access to an Alva course reached its expiry date, plus your grace period.

Field Type What it holds
Customer Shopify customer The student whose access expired, with every Shopify customer field such as email and tags
Course ID Text The Alva course ID
Course title Text The course title
Course URL URL Link to the course on the storefront (the student signs in to open it)
Access expired at Text When access expired (ISO 8601)
Access enforced True or false Whether Alva blocks expired students. When off, the student can still open the course

Fires once the expiry date plus any grace period has passed, whether or not you block expired students; Access enforced tells you which. It skips deadlines that passed more than 48 hours before the check, so turning on a workflow never replays old expiries. Access expired at is the expiry date itself, without the grace period.

See also

Was this helpful?

Still stuck? Email us.

Last updated 2026-10-01