Manage people
User Guide
This page helps you manage people connected to an organisation: add contacts, send invites, change relationships and access, create and assign tags, and review recent membership activity.
The page is split into five panels:
- People (main table): browse and search people, view their role and status, and jump to an individual's management page.
- Tags: create organisation-specific labels for people and imports. Use this card to add, rename, and archive tags which then appear in the bulk import picker.
- Add contacts (Bulk paste): paste a list of names/emails to add them as contacts (no access). Use the preview step to check results before adding. You can optionally select tags to apply during the import.
- Invite someone: send a single invite email and assign access. Use this when you want a recipient to become a member or receive a specific access role.
- Activity: a timeline of membership-related events (invites sent, access changes, contact additions).
Card priorities: the most important is the Add contacts card (bulk additions), then Invite someone. The Tags card is important for labelling and bulk workflows.
## Tags
- Use the Tags card to create, rename, and archive organisation-specific tags.
- Created tags appear in the bulk import
Tags (optional)picker; archived tags disappear from active pickers but remain on historical assignments. - Rename and archive actions are available on each tag through the tag actions menu.
How tags are used in imports:
- In the Add contacts (Bulk paste) form you can select one or more tags before previewing or running the import.
- The preview (
dryRun) request returns a list oftagsand ataggedCount, and the UI showsTags: Nin the preview summary so you can confirm what will be applied. - If the preview shows no new contacts to add but does show existing contacts (Already added) and you have selected tags, the primary action button will show Apply tags. Running it will add the selected tags to those existing contacts.
Notes:
- Tags are case-insensitively deduplicated when sent in a request (the UI normalises tag names).
- Use the Tags card first to create any new labels you need; they will be available in the picker immediately after creation.
## Add contacts (Bulk paste)
- 1Prepare a list of entries, one per line. Common formats work: a bare email,
Name <email@example.com>, orName, email@example.com. - 2Paste into the text box and (optionally) choose tags from the Tags (optional) picker, then click Preview list. The app performs a dry run and shows a table with outcomes:
- Ready: will be added as a contact
- Added: already added (after actual run)
- Already added / Duplicate: skipped
- Invalid: not a valid email
- Failed: server error
- 1Fix any invalid lines, then click Add contacts to perform the real operation. If you selected tags, they will be applied to newly added contacts.
Notes about tags and re-running imports:
- If the preview shows no new contacts to add but does show existing contacts (Already added) and you have selected tags, the primary action button will show Apply tags. Running it will add the selected tags to those existing contacts.
- The preview also reports tag information (e.g.
Tags: N) and the server returns atagslist andtaggedCountso you can confirm which tags will be applied.
Tips:
- Use the preview to catch formatting issues before adding many entries.
- Split very large lists into smaller batches if you hit timeouts.
- Contacts added this way do not automatically receive emails.
## Invite someone (single)
- 1Enter the person's email in the Email field.
- 2Select an Access role (required) from the dropdown.
- 3Optionally add a message in Message and click Send invite.
Notes:
- Invites with an access role will apply that role when the recipient accepts.
- If the email already belongs to a member or an existing invite, it may be skipped or reported.
- For inviting many people at once, use the bulk invite actions in the table header (select rows → Invite).
Tip: if you want to add tags at the same time as inviting many people, create the tags in the Tags card first and then use the bulk invite or bulk-add workflows that accept tag selections.
## People table (main)
- Use the search and filters to locate people.
- Select rows with the checkboxes to run bulk operations (Invite, Relationship, Access) from the action menu.
- Click a person's row to open the full management page for that person.
- Pagination and the Expand/Collapse controls let you view more rows on a single page.
Additional notes on bulk actions and tags:
- The table-level bulk actions (Invite / Relationship / Access) operate on selected rows (or the filtered set) and are independent of the Tags card. Tags are applied via the bulk import flow or via tag-specific endpoints.
## Activity
- Shows recent membership events including who did what and when.
- Use the activity search box to filter the timeline.
Developer Spec
Components:
src/app/[locale]/organisations/[id]/manage/people/page.tsx— page composition and data fetching.manage/people/OrganisationPeopleTagsCard.tsx— tags management UI (create / rename / archive).manage/members/AddOrganisationMemberForm.tsx— bulk preview and add UI (client).AddOrganisationMemberForm— single-invite UI (client).PeopleBulkSelectionProvider/PeopleBulkActions— selection state and bulk action dialogs.SeisoDataTable— table rendering, search, filters and pagination.
API endpoints (used by the forms/actions):
POST /organisations/:id/manage-people/bulk— bulk preview/add. Request body:{ entries: string[], tags?: string[], dryRun: boolean }. Returns a summary with counts,tags(selected/applicable tags),taggedCount, and per-row outcomes.POST /organisations/:id/manage-people/tags— create a new tag. Request body:{ name: string }.PATCH /organisations/:id/manage-people/tags/:tagId— rename a tag. Request body:{ name: string }.DELETE /organisations/:id/manage-people/tags/:tagId— archive a tag.POST /organisations/:id/manage-invites— single invite. Request body:{ email: string, roleKey: string, note?: string }.POST /organisations/:id/manage-users/bulk— apply bulk updates (relationship/access) for selected keys or filtered selection.POST /organisations/:id/manage-users/bulk-invites— bulk invites for selected keys or filtered selection.
Developer tips:
- Use the preview (
dryRun: true) to surface parsing errors and invalid emails before making changes. - The bulk add returns detailed per-row outcomes; surface these in tests and logs to help debug failures.
- The bulk selection supports two modes:
keys(explicit row keys) andfiltered(current filters) — be careful when applyingfilteredto avoid accidental wide updates. - When working with tags: create or manage tags using the Tags card. The bulk import accepts tag names (case-insensitive deduplication is applied) — the preview returns the final
tagsarray the server will apply. Re-running a bulk import with tags is the supported way to apply tags to existing contacts.
If you want this page to appear in the help index, the slug to match is orgs/people.