Skip to content
memberarea memberarea.io

Courses, groups and events from a flow

Enroll members in courses, read their progress, change groups, register for events and start automations from a ManyChat flow.

In this article

These steps put a member into your content straight from the conversation: a course, a group, an event or one of your automations. Each one picks its item from a dropdown that ManyChat loads live from your memberarea.

Permissions the API key needs

Step Permissions
Enroll in course Courses: View and Manage, Members: Manage
Remove from course Courses: View and Manage
Get course progress Courses: View and Members: View
Add to group and Remove from group Groups: View and Manage
Register for event Events: View and Manage, Members: Manage
Start automation Automations: View and Run

View is needed for the dropdown of each step, because Manage does not include it. A key at Full access covers all of them.

Courses

Enroll in course gives the person the course you pick under Course. The list offers published courses only.

  • If the person has no account yet, the step creates one, and Member created says so.
  • Changed is false when the person was already enrolled. Running the step twice is harmless.

Remove from course takes the course away again. The account stays, and so does the lesson progress: enrolling the person later picks up where they left off. Without a member account the step answers "This person does not have a member account in your MemberArea, so there was no enrolment to remove."

Get course progress reads how far the member got, ready for a nudge:

  • Progress percent and Completed for the whole course.
  • Lessons completed out of Lessons total.
  • Last lesson name and Last activity at formatted, written out in the language and time zone of your memberarea.

Enrolled tells whether the member has the course at all. A condition step on Progress percent is enough to remind exactly the people who stalled.

Groups

Add to group and Remove from group work on members, so create the member first. Pick the group under Group. The list offers your own groups; groups your memberarea keeps up to date by itself cannot be changed from a flow.

In group says whether the member is in the group after the step, and Changed whether the step had to do anything.

Events

Register for event registers the person for the event you pick under Event. The list offers recurring events and events that have not ended yet. If the person has no account, the step creates one.

The answer carries what the next message needs: Event name, Event url and Event starts at local, the start time in the time zone of the event. Already registered is true when the person had a seat before.

A registration from a flow counts like one on the event page. It opens the event to the member and starts the automations and webhooks that listen for a new registration.

When the event is full

If the event has a waiting list switched on, a full event puts the person on it. Waitlisted and Waitlist position then tell where they stand. Enter no in Use the waiting list to refuse instead.

Without a waiting list, or with no, a full event refuses with the full text you set for the event, or "This event is fully booked, so no seat could be reserved."

When registration is not possible

The step answers with the reason, so the flow can offer something else:

  • "This event has already taken place, so nobody can register any more."
  • "This event needs a paid ticket, so it cannot be booked from a chat flow." or "This event is sold as a product in your MemberArea, so it cannot be booked from a chat flow without a purchase." Send a checkout link instead.
  • "This person cannot see this event, because it belongs to a community area they are not part of." Add the person to the area first.
  • "Registration for this event has closed." or the closing text you set for the event.

Selling and granting access from a flow explains the checkout link.

Start automation

Start automation starts one of your automations for this person. The list under Automation offers automations that are published and switched on. Extra data reaches the automation as its input, as plain text or as JSON.

Started means the automation was handed over. It then runs in the background like any other run, so its result shows up in the run history of the automation, not in the flow. An automation without a starting step refuses with "This automation has no starting step, so it cannot be started from a flow."

Testing and run history shows where to look.

Last updated on October 25, 2026

Was this article helpful?

Related articles