---
title: "Member management"
source: https://dev.pageseeder.com/guide/configuration/emails/flows/member_management.html
last_updated: 2026-08-07T17:09:54+10:00
tokens: ~1516
---

# Member management

The flows in this article provide context for emails sent when user accounts are being created or when members join groups:

- Creating a member.
- Activating a member.
- Joining a group.
- Moderated groups.

## Member creation

There are two possible triggers for this flow:

1. If users are able to create an account on PageSeeder directly through `/member/register [POST]`, they go through the self-registration process flow. For the [global properties](../../properties/global_properties.md) must contain`publicEnable=self-register`.
2. If users are NOT able to create an account directly on PageSeeder, an administrator can create one for them using `/members` `[POST]`. In that case, the only difference with the flow described following is that the user initiating the flow is not the user whose account is being created. *If password is not set when creating, then it must be set during the Update member, otherwise the user is NOT activated.*

The process flow when the user clicks on the link to activate their account depends on how their account was created.

- If they self-registered, they probably already entered their personal details and password so they only need to agree to the terms of use to activate their account.
- If their account was created by another user, they might also have to enter their personal details and password.

![Email flow member creation](/content/guide/configuration/emails/flows/../../../../images/email/email_flow_member_creation.webp)

| Service | Email template |
| --- | --- |
| [/members/register \[POST\]](../../../../api/services/register-member-POST.md) [/members \[POST\]](../../../../api/services/members-POST.md) | [new-member](../templates/new-member.md) |
| [/members/\{member\} \[PATCH\]](../../../../api/services/member-PATCH.md) | [change-password](../templates/change-password.md) |
| [/members/\{member\}/activate \[GET\]](../../../../api/services/activate-member-GET.md) |  |

> **Note:** Administrator can create members and activate them at the same time using the `auto-activate=true` parameter. However, if `member-password` is not set, their status is `set-password` and only changes to `activated` after they set their password.

### Token

An `activate` token is necessary to activate the account and update the details. It can only be used once to update the user details and expires after a limited time.

## Re-send activation email

The activation token might expire before the user is able to use it. If that is the case, it is possible for an administrator or the user to send a new activation token by email.

The process flow when the user clicks the link to activate their account is described above.

![Email flow resend invitation](/content/guide/configuration/emails/flows/../../../../images/email/email_flow_resend_invitation.webp)

| Service | Email template |
| --- | --- |
| [/members/sendactivation \[GET\]](../../../../api/services/send-activation-GET.md) | [new-member](../templates/new-member.md) |

> **Note:** Once the activation email has been sent, this flow is identical to the member creation flow.

## Membership creation

This flow occurs when a user who doesn’t already have an account on PageSeeder is invited to a group by an administrator.

> **Note:** If the [project property](../../properties/project_properties.md) `acceptInvitationRequired` (default `true`) is `false`, or an administrator used the `invitation=false` parameter, this flow stops after the user has accepted the terms and updated their account details.

![Membership creation](/content/guide/configuration/emails/flows/../../../../images/email/email_flows_membership_creation.webp)

| Service | Email template |
| --- | --- |
| [/groups/\{group\}/members \[POST\]](../../../../api/services/memberships-POST.md) | [membership-new-member](../templates/membership-new-member.md) |
| [/members/\{member\} \[PATCH\]](../../../../api/services/member-PATCH.md) | [change-password](../templates/change-password.md) |
| [/members/\{member\}/declineinvitation \[POST\]](../../../../api/services/decline-invitation-POST.md) | N/A |
| [/groups/\{group\}/members/\{member\} \[PATCH\]](../../../../api/services/membership-PATCH.md) | [membership-complete](../templates/membership-complete.md) |

## New invitation

This flow occurs when a group manager invites a member to join a group.

> **Note:** Whether an invitation is required is determined by the [project property](../../properties/project_properties.md) `acceptInvitationRequired` (default `true`) and can also be overridden by an administrator using the `invitation=false` parameter.

![flow\_new\_invitation.png](/content/guide/configuration/emails/flows/../../../../images/email/flow_new_invitation.webp)

| Service | Email template |
| --- | --- |
| [/groups/\{group\}/members/invite \[POST\]](../../../../api/services/invite-member-POST.md) | [membership-new-member](../templates/membership-new-member.md) [membership-complete](../templates/membership-complete.md) [membership-confirm](../templates/membership-confirm.md) |

> **Note:** The `membership-confirm` email includes a link to accept the invitation. To confirm the membership, the new user follows the same steps as described in the membership creation from “Accept Invitation”.

## Invite self

This flow occurs when a member registers themselves for a group. To allow this, the group must have visibility set to `public`.

> **Note:** If self registration in the group configuration is set to `confirmed`, then confirmation is required. If it is set to `moderated`, then moderation is required.

![Email flow invite self](/content/guide/configuration/emails/flows/../../../../images/email/email_flows_invite_self.webp)

| Service | Email template |
| --- | --- |
| [/groups/\{group\}/members/\{member\}/inviteself \[POST\]](../../../../api/services/invite-self-POST.md) | membership-confirm membership-complete |
| [/groups/\{group\}/members/\{member\}/manage \[POST\]](../../../../api/services/manage-group-member-POST.md) | membership-complete |

 

