Once HubSpot is connected, a HubSpot workflow can run ten MemberArea actions: grant course access, grant product or bundle access, revoke access, add someone to a group or remove them, add or remove a tag, set a member field, start an automation, or create a checkout link. A form submission in HubSpot can unlock a course, a lifecycle change can take it away again. This article explains what each action needs and what it gives back.
Before you start
The actions need the Automation permission of the HubSpot connection. If the MemberArea steps do not appear in your workflow editor, check that first: open Settings, then Integrations, and click the HubSpot row. The dialog shows the Connection health box. If it says Workflow actions are off, the HubSpot account did not grant that permission. Connect again from a HubSpot account that has workflows.

The actions work in contact-based workflows. Add a step and look for MemberArea in the list of actions.
The ten actions
Every action except Create checkout link has optional fields for the person:
- Email address: leave it empty to use the email of the enrolled contact. MemberArea identifies members by email, upper and lower case do not matter.
- First name and Last name: only used when a new member account is created. They default to the name on the contact. Remove from group and Remove tag never create anyone, so they only have Email address.
Grant course access
Gives the contact access to one course. Needs the Course ID.
Open the course in your memberarea under Courses and look at the address
bar: the long id after /admin/courses/ is the course ID.
The course has to be published. A draft course is never handed out, not even through a workflow, and the step stops with a message saying so. Publish it first.
Grant product or bundle access
Gives the contact everything a product contains, and for a bundle everything all of its products contain: courses, hubs, groups, events, community areas and badges. Needs the Product or bundle ID.
- For a product, open Payments, then Catalog, then Products. The
address reads
/admin/payments/catalog/products/<product ID>/edit. - For a bundle, open Payments, then Catalog, then Bundles. The
address reads
/admin/payments/catalog/bundles/<bundle ID>/edit.
A course in the product that is not published yet is skipped. The member gets it once you publish it and the step runs again.
Revoke access
The mirror image: takes away what a product or bundle grants. Needs the Product or bundle ID and, optionally, the Email address.
Access the member paid for is never removed. If someone bought the product in your memberarea and later runs through a revoke workflow, the purchase wins and the step reports that nothing was taken away.
Add to group
Puts the contact into one of your groups. Needs the Group ID: open the group
under Audience, then Groups, and copy the id after /admin/audience/groups/
from the address bar.
The automatic "All members" group cannot be used here. Every member is in it already. A group that has reached its member limit takes nobody new, and the step says so.
Remove from group
Takes the contact out of one of your groups. Needs the Group ID, found the same way as for Add to group. If the contact has no member account or is not in the group, nothing changes and the step still succeeds.
Add tag
Gives the member a tag. Fill in Tag with the name of the tag, for example
Webinar 2026. Upper and lower case do not matter. If no tag of that name
exists yet, it is created. An automation that starts on Tag applied runs as
soon as the tag is set.
Remove tag
Takes a tag away from the member. Fill in Tag with its name. Unlike Add tag, this action never creates a tag: an unknown name stops the step with a message. A contact without a member account, or without the tag, is left as it is.
Set member field
Writes a value into one of your member fields. Fill in Member field with the name of the field as it appears under Audience in the Fields tab, and Value with what should go in. The value is fixed text. To copy a property of the contact instead, pick it under Value from property. A picked property is used instead of Value.
Every field type can be filled this way except multi-select and uploads such as
images or files. A value that does not fit the field, such as
many for a number field, stops the step and nothing is saved. An automation
that starts on Member field changed runs when the value really changes.
Start automation
Runs one of your MemberArea automations for the contact, so the workflow in
HubSpot decides when it starts. Needs the Automation ID: open the automation
in your memberarea and copy the id after /admin/automations/ from the address
bar.
- Give the automation the trigger Started from a HubSpot Workflow.
- Publish it and switch it on.
- Paste its ID into Automation ID in the HubSpot workflow.
How to build such an automation is described in Starting automations from HubSpot.
Create checkout link
Builds a link to the checkout of your memberarea for one product and hands it back as an output field, ready for the next email or task in the workflow. The buyer pays through the payment methods you set up for your checkout.
| Field | What it does |
|---|---|
| Product ID | Required. The id from /admin/payments/catalog/products/<product ID>/edit. |
| Price ID | Leave empty to use the default price of the product. |
| Coupon code | Applied to the checkout automatically when the link is opened. |
| utm_source, utm_medium, utm_campaign | Added to the link as campaign parameters. |
| Prefill the contact email | Yes fills the checkout with the contact email. Defaults to yes. |
Unlike the others, this one changes nothing and never creates a member account. If a member with the contact email exists, the link carries their account along.
The product has to be active with a price that can be bought, and the workspace needs its own web address, because the link has to live somewhere. If the product is inactive or has no such price, the step stops with one message for both cases. A missing web address has its own message.
Members are created when they are missing
Grant course access, Grant product or bundle access, Add to group, Add tag, Set member field and Start automation look the contact up by email address. If there is no member account for that address yet, they create one and then do their work, so a workflow does not fall over on a contact who has never signed up.
New members get no email from MemberArea and no password they know. If your plan has reached its number of members, no account is created and the step stops.
Revoke access, Remove from group, Remove tag and Create checkout link never create anyone. The first three simply report that there was no member, and the checkout link works with or without an account.
What comes back
Every action answers with fields you can use later in the same workflow.
| Action | Output fields |
|---|---|
| Grant course access | Member email, Member ID, Member was created, Course name, Access was granted, Member already had access |
| Grant product or bundle access | Member email, Member ID, Member was created, Product name, Product is a bundle, Access was granted, Items newly granted, Included items |
| Revoke access | Member email, Member ID, Member account found, Product name, Product is a bundle, Access was revoked, Items newly revoked, Included items |
| Add to group | Member email, Member ID, Member was created, Group name, Member was added, Member was already in the group |
| Remove from group | Member email, Member ID, Member was found, Group name, Member was removed |
| Add tag | Member email, Member ID, Member was created, Tag name, Tag was created, Tag was added, Member already had the tag |
| Remove tag | Member email, Member ID, Member was found, Tag name, Tag was removed |
| Set member field | Member email, Member ID, Member was created, Field name, Saved value, Value was changed |
| Start automation | Member email, Member ID, Member was created, Automation name, Automation was started |
| Create checkout link | Checkout link, Product name, Price in cents, Currency, Price, Email was prefilled |
Price in cents is the amount in the smallest unit of the currency, and Price
is the same amount written out with its currency, for example 49,00 EUR.
Branch on Member was created to send a "set your password" email only to the
people who really are new.
When an action fails
When an action cannot do its work, for example because the course is not published or the product id is wrong, the step is marked as failed with a code and one plain sentence that says what to do. The workflow carries on with the next step. If MemberArea itself has a short outage, HubSpot tries the step again later. The troubleshooting article lists every code and what to do about it.