Skip to main content
The user management page (/admin/users) lists all registered accounts and gives administrators the tools to create, edit, moderate, and delete users.

Viewing and filtering users

The table is paginated at 15 per page and supports the following filters:
FilterOptions
SearchName, email, or customer_uuid
RoleAny role name defined in Spatie Permission
Bannedyes / no
Statusactive (updated in last 30 days) / inactive
Date rangeRegistered after / registered before
DeletedShow only soft-deleted, include soft-deleted, or default (active only)
Columns can be sorted by created_at, name, email, or updated_at in ascending or descending order. Each user row shows:
  • Name and email
  • Spatie roles (e.g., admin, customer)
  • Assigned pricing plan (if any)
  • Email verified status
  • Ban status and ban reason
  • customer_uuid — a UUID auto-generated for each customer to isolate their ElevenLabs resources
  • KYC status

Creating a user

1

Open the create form

Click Add user on the User Management page.
2

Fill in the details

Required fields: Name, Email, Password (with confirmation), Role. Optional: Pricing plan, Email verified checkbox.
3

Submit

Click Create user. If a pricing plan is selected, an active subscription record is created automatically with a monthly billing cycle starting today.
The password must satisfy the application’s default Laravel password rules (min 8 characters, mixed case, numbers, symbols unless the defaults have been relaxed).

Editing a user

Click the edit icon on any user row. You can update the name, email, role, pricing plan, and optionally reset the password. Changing the pricing plan cancels the user’s existing active or trialing subscription and creates a fresh one on the new plan.

Managing roles

Each user can hold exactly one primary role at a time (admin or customer). Role assignment uses syncRoles, so assigning a new role removes all previous roles. You can also update the role in isolation via the Update role quick-action without opening the full edit form.

Managing permissions

Individual permissions are managed at the role level, not per user. Navigate to Admin → Role Permissions to see all roles and their assigned permissions grouped by category:
CategoryExample permissions
Admin Pricingadmin.pricing-management.view, .create, .edit, .delete
Admin Usersadmin.users.manage
Admin Settingsadmin.settings.manage
Admin Cacheadmin.cache.manage
Agentsagents.create, agents.edit
Knowledge Baseknowledge.manage
Phone Numbersphone.manage
Batch Callsbatch.manage
Blogmanage-blog
To update a role’s permissions, select the role on the Role Permissions page and toggle individual permissions or submit the full permission set.

Banning and unbanning users

Banning prevents a user from accessing the application without deleting their data.
1

Open the ban dialog

Click Ban on the user row. A dialog prompts for an optional reason (max 500 characters).
2

Confirm the ban

The is_banned, banned_at, ban_reason, and banned_by fields are set on the user. The banning admin’s ID is recorded.
3

Unban

Click Unban on a banned user row to clear all ban fields.
You cannot ban your own account or ban a super-admin unless you are also a super-admin.

Impersonating a user

Impersonation lets you log in as another user to diagnose issues from their perspective.
1

Click Impersonate

Find the user in the table and click Impersonate. You cannot impersonate banned users.
2

Browse as the user

Your session switches to the target user. A session variable (impersonate_original_user) stores your original admin user ID.
3

Stop impersonating

Click Stop impersonating (available in the app header during impersonation). You are returned to the admin panel.

Email verification

  • Verify email — Manually sets email_verified_at to the current timestamp. Use this when a customer cannot receive the verification email.
  • Unverify email — Clears email_verified_at, forcing the user to re-verify.

KYC management

KYC is optional and controlled by feature flags in System Config. When enabled, each user has a kyc_status field:
StatusMeaning
not_submittedUser has not submitted KYC
pendingSubmission received, awaiting review
approvedKYC approved
Admins can manually approve KYC (Approve KYC) or revoke approval (Revoke KYC) from the user row.

Soft deleting and restoring users

Clicking Delete performs a soft delete (sets deleted_at) and records the deleting admin’s ID in deleted_by. Soft-deleted users no longer appear by default but their data is preserved. To view deleted users, set the Deleted filter to Only deleted or Include deleted. To restore a soft-deleted user, click Restore on their row.

Permanent deletion

Permanent deletion is irreversible. All user data is removed from the database.
Only super-admin accounts can permanently delete a user. Use the Force delete action on a soft-deleted user row. You cannot permanently delete your own account.

Customer UUID

Every customer account is assigned a customer_uuid (UUID v4) at registration. This UUID is passed to ElevenLabs when creating agents, knowledge bases, and other resources, ensuring each customer’s AI assets are isolated from other customers on the same ElevenLabs workspace. The UUID is visible in the user table and can be searched.

Build docs developers (and LLMs) love