Skip to main content

Users & groups

Path: Admin → Users & groups.

User management panel

A list of all users in the org, with columns: avatar, name, email, role, groups, last seen, source (NC / signup / SSO / manual invite).

Actions per user

ActionEffect
Promote / demoteToggle org-admin role.
DisableMark inactive — user can't log in but data is preserved.
DeleteSoft-delete (30-day recovery), then hard-delete.
Resend inviteIf user hasn't accepted yet.
Reset passwordSends a reset link (if SMTP configured).
Impersonate(System admin only) Log in as the user — a banner shows the impersonation.
Export their dataGDPR Subject Access — generates a ZIP archive.

Groups

Groups are the unit of permission (NC integrations, agent visibility, automation triggers).

ActionEffect
Create groupBee Flow-native group, separate from any NC group.
Sync from NCMirror an NC group; members + name stay in sync via webhooks.
Add / remove membersManual add/remove for native groups; read-only for NC-synced.
Delete groupRemoves the group + revokes its permissions. Members keep access via other groups.

NC-synced groups are recognisable by a small Nextcloud icon next to the name and are not editable here — manage them in NC.

NC sync mode

Determines which NC users get a Bee Flow account.

ModeBehaviour
All usersEvery NC user is mirrored. New NC users auto-mirror within seconds (event webhook) or up to 6 h (backstop).
Specific groupsOnly members of selected NC groups. Users dropped from those groups are deactivated, not deleted.
ManualNo auto-mirror. Admin invites by hand.

Change the mode any time. The next backstop run reconciles the org membership to match.

Backstop sync

A 6-hourly cron job (server/jobs/ncSyncBackstop.js) re-runs NC user/group sync to catch anything the webhooks missed (e.g. NC was unreachable when an event fired). Skips if webhook activity has been seen in the last 30 minutes.

Manual invites

For non-NC users (or in manual sync mode):

  1. Click Invite user.
  2. Enter email + role + initial groups.
  3. The user receives an invite link (valid for 14 days).
  4. They set a password (or sign in via OAuth / SAML if configured) on first visit.

The link is single-use; resend if it expires.

Signup settings

In Admin → Signup settings:

SettingEffect
Public signupAllow anyone with the URL to sign up.
Domain allowlistRestrict to specific email domains (e.g. @bee-flow.nl).
WaitlistNew signups go to a queue for admin approval.
Default roleWhat new users get (regular / admin).
Default groupsAuto-add new users to these groups.
CaptchaCloudflare Turnstile or hCaptcha (configure separately).

Waitlist

If waitlist is on:

  1. New signups get a "Thanks — you're on the waitlist" page.
  2. Admin sees them under Admin → Waitlist with email + signup time + source.
  3. Admin clicks Approve to materialise the user, or Reject to discard.

Tier limits

Adding users beyond the tier cap is blocked at the API. UI shows "Tier limit reached — upgrade to add more". For NC sync that hits the cap, new NC users are skipped (logged) until you upgrade.

Bulk operations

ActionHow
Bulk importCSV with email,displayName,groups columns.
Bulk exportDownload CSV of current users.
Bulk role changeMulti-select then Promote / Demote.

Privacy

User profile fields are stored in Postgres. Email + display name are visible to other users in pickers (e.g. agent sharing); group membership is visible to other admins. Phone numbers and physical addresses are not stored.

Right to erasure (GDPR)

Click Delete user + tick Hard delete + purge audit references. This:

  • Removes the user record.
  • Anonymises their conversations (replaces user_id with a salted hash).
  • Removes them from group memberships.
  • Records the deletion in the GDPR archive (Enterprise+).

Hard delete is irreversible — there's a confirmation modal.