Settings

People and activity

Add and manage accounts, roles, two-step sign-in and phone numbers in People, and use the audit log to see who changed access and what people did.

People answers "who has an account, and what can they use?" The Audit log answers "who changed access, who signed in, and what did people do with restricted tools?" Together they are the audit trail in Settings. Both need sign-in on, because on a laptop there is only the local owner.

By the end of this page you can onboard and offboard someone, make an administrator, reset a password or two-step sign-in, and find the evidence for an audit.

The People page

Settings → People (/settings#/people) is for organization administrators. It lists everyone Hubzoid knows: people who were granted access, and accounts recorded when they signed in or in an account refresh. Add user and Refresh accounts are at the top.

The People page with Refresh accounts and Add user, filters Search by name or email, Any status, Any role and Any agent, and four people. Lee Okafor, Maria Costa and Priya Raman are Active Users with two-step Off and last sign-in Never. Maria Costa has No agent access. Sam Rivera is an Active Administrator with two-step On, signed in 19 seconds ago.The People page with Refresh accounts and Add user, filters Search by name or email, Any status, Any role and Any agent, and four people. Lee Okafor, Maria Costa and Priya Raman are Active Users with two-step Off and last sign-in Never. Maria Costa has No agent access. Sam Rivera is an Active Administrator with two-step On, signed in 19 seconds ago.
Each row shows the account, its agents, two-step sign-in and the last sign-in.
Every column, the filters and Refresh accounts
ColumnContents
PersonName and email. Opens the person's details
AccountThe account status and role (User or Administrator), or a Reader tag for someone who signed in only to read a shared report
AgentsEach agent they can use, or No agent access
Two-stepOn or Off
Last sign-inWhen they last signed in, or Never

Filter by name or email, account status, role or agent. Filters and the page number live in the address, and results are shown 20 per page. Refresh accounts reads the account directory again to update account states. It never creates accounts.

Add user on People

Add user on People creates a new account with access in any of the agents you manage, in one step. It has the same Name, Email address, optional Phone and Google sign-in only fields as Add user on an agent's Access tab, with these differences:

  1. You set no password. After Create account, the panel shows a one-time sign-in link with Copy sign-in link. The person opens it, sets their own password and is signed in. The link works once and expires after 72 hours (HUBZOID_LINK_HOURS). It is shown only once, and Hubzoid sends no email.
Initial access, the review and an email that already exists
  1. Initial access lists each agent as a collapsed section with the same capability groups. You can also create a user with no agent access yet.
  2. Review lists the new account with the normal user role and the access per agent.
  3. If the email already has an account, nothing changes, and the panel offers Edit this user.

Only an organization administrator can create an account for an email whose earlier account was deleted.

Account statuses

Every row shows one status. The same labels appear on the Access tab.

StatusMeaningWhat changes it
ActiveSigned up and approved
Not signed up yetGranted by email from the server, with no account. The access applies when they first sign in with that emailThey sign up or sign in with that email
Awaiting approvalSigned up, but not approved yet. Blocked until approvedApprove in their details
BlockedBlocked in an older release or through the API, blocked by the safeguard for a reused email, or their account was removed or can no longer be foundReactivate clears an administrator block. A missing account clears when the directory lists it again
Legacy service identityA workflow:<name> identity from before workflows ran as accounts

A failed or partial directory read never marks accounts unavailable.

A user's details

Select a person to open their details at /settings#/people/<email>.

Priya Raman's details: email priya@example.com, status Active, Role User, Phone None with Add, Password with Reset password, Sign-in security with Reset two-step sign-in and Sign out everywhere, and Access by agent showing My Hub with Use this agent and Edit access. A menu sits at the top right.Priya Raman's details: email priya@example.com, status Active, Role User, Phone None with Add, Password with Reset password, Sign-in security with Reset two-step sign-in and Sign out everywhere, and Access by agent showing My Hub with Use this agent and Edit access. A menu sits at the top right.
Role, phone, password, sign-in security and access per agent in one place.
Every field in a person's details
FieldWhat you can do
EmailThe identity grants attach to. Whoever signs in with it holds the access. Changing an email is not offered: create a new account instead
StatusThe account status, with a tooltip
RoleUser or Administrator. For a sign-up awaiting approval, Approve takes its place
PhoneThe number the person's WhatsApp and Telegram messages come from. Add or Change it with the country code. One number belongs to one person. See WhatsApp and Telegram
PasswordReset password. For a Google or company-directory account it says who manages their sign-in instead
Sign-in securityReset two-step sign-in, and Sign out everywhere, which ends their sessions, API keys and assistant connections
Access by agentThe capabilities they hold in each agent, with Edit access, and Add an agent for one they can't use yet
The … menuReactivate for a blocked person, and Delete user

Nobody can change their own account here. Use Account → Profile instead. Some actions ask you to confirm it's you first, with your password and a code. Every change is recorded in the audit log.

Approve a sign-up

A person who signed up and waits for approval reads Awaiting approval. Select Approve to give them the normal user role. Approval gives no agent access by itself. Give it with Add an agent or from an agent's Access tab.

Reset a password or two-step sign-in

  • Reset password → Reset and create sign-in link. The current password stops working at once, the person is signed out everywhere, and the panel shows a one-time link to share so they can set a new one. Two-step sign-in stays on.
  • Reset two-step sign-in is for a lost phone. They are signed out everywhere now and set it up again at their next sign-in.

By default, administrators must use two-step sign-in. Organization → Sign-in sets who must use it. See Authentication.

Role: User or Administrator

There is one Administrator role. Administrator gives organization administration in Hubzoid, with Manage access for the whole deployment, and the account's Administrator role, together. User clears both. You confirm with Make Administrator or Make User.

Partial role changes and other limits
  • If only one side changes, the panel says which side is set and offers Try again, which finishes the change.
  • A person who is an administrator on only one side, for example from hubzoid grant --org on the server, shows Needs attention. Choose a role to fix it.
  • The last administrator can't be made a User or deleted.
  • Administration alone does not let someone chat with an agent or use its restricted tools. Grant those per agent.

Reactivate a blocked person

Settings has no Block. A person blocked in an older release or through the API is refused in every agent, and new access for them is refused. Open the … menu in their details and select Reactivate. Reactivating does not restore the grants the block removed, so grant access again.

Delete user

To offboard someone, open the … menu, select Delete user and type their email to confirm:

  • Every grant in every agent is removed first. Then their sessions, sign-in methods, API keys, assistant connections and personal connections end, and their share links stop working.
  • Their chats stay attached to their account. Activity history, usage records and artifacts they published are kept, and their public artifact links stop working.
  • The email is marked as removed, so it inherits nothing. Only an organization administrator can create an account with it again.
  • The last administrator can't be deleted. If the grants were removed but the account was not, trying again finishes the deletion.

The audit log

Settings → Activity → Audit log (/settings#/activity) covers every agent you manage. View activity on an agent's page opens it filtered to that agent. A switch at the top chooses Access changes or Tool decisions.

Activity on its Audit log tab, Access changes: Sam Rivera signed in, Sam Rivera turned on two-step sign-in, and Server operator entries that allowed Lee Okafor and Priya Raman to Use this agent in My Hub and added Maria Costa, Lee Okafor and Priya Raman. Filters All agents, Any time, Affected person's email, Changed by and Any action.Activity on its Audit log tab, Access changes: Sam Rivera signed in, Sam Rivera turned on two-step sign-in, and Server operator entries that allowed Lee Okafor and Priya Raman to Use this agent in My Hub and added Maria Costa, Lee Okafor and Priya Raman. Filters All agents, Any time, Affected person's email, Changed by and Any action.
Every access change, sign-in and account action, with who did it and where.
Filters, time ranges and event details

Both records have a time range (Any time, Last 24 hours, Last 7 days or Last 30 days), an agent filter, Refresh and Reset filters. The chosen range is fixed to exact times in the address, so a shared link always shows the same window. Each row has When, What happened and Agent. Select a row for Event details, with the exact time in your time zone and copyable identifiers. Organization-wide events, such as sign-ins, account actions and administrator rights, show the agent Organization.

Access changes

Every change to access writes a row in the same transaction as the change. Filter by Affected person's email, Changed by (email) and Action: Granted, Removed, Blocked, Reactivated, Started a workflow, Paused a workflow, Resumed a workflow or Cancelled a run.

Every access action, how it reads and who the actor is
ActionReads asWritten when
grant, revoke"Sam allowed Priya to Use this agent in My Hub", "Sam removed Priya's access to My Hub"A capability or administrator right is granted or removed
account_create, account_approve"Sam added Priya", "Sam approved Priya's account"Add user or Approve
account_password_reset, account_role"Sam reset the password for Priya", "Sam changed Priya to Administrator"Reset password or Role
revoke_all, account_delete"Sam removed all access from Priya", then "Sam deleted Priya's account"Delete user
suspend, reactivate"Sam blocked Priya", "Sam reactivated Priya"A block through the API, and Reactivate
phone_set, phone_clearA phone number recorded or removedPhone
signed_in, sign_in_failed, signed_out, signed_up, password_changed"Priya signed in with Google", and similarSign-in events, including two-step sign-in
change_proposed, change_confirmed, change_rejected, change_expired"Sam proposed a change for Priya in My Hub", and similarA change proposed by an agent in chat
connector_create, connector_update, connector_delete"Sam added the connector gmail", and similarA connector added, changed or deleted
account_unavailable, account_replacedAn account no longer available, or a new account that reused a known emailA directory read, or the reused-email safeguard
run_start, workflow_pause, workflow_resume, run_cancel"Sam started the monday_brief workflow in My Hub", and similarRun now, hubzoid schedule, or the workflow tools in chat

The actor tells you where a change came from: a person's name for Settings, the management API or chat, Server operator with the account and host for a command on the server, Initial setup for hubzoid access bootstrap, owner-setup for the configured owner's first sign-in, and Account sync for the account directory.

Tool decisions

Every call to a restricted tool writes a row as it is decided. Filter by Outcome (Allowed or Denied), Person's email, Tool and Channel, the surface such as web, mcp, slack-dm, whatsapp or workflow. Rows read as "Priya used ledger_read in My Hub via web" or "Priya was denied payroll_run in My Hub via web".

Every refusal reason
ReasonExplanation
no-grantThey do not have the permission this tool requires
anonymousThe caller was not signed in
blockedTheir account is blocked
store-errorThe access store was unavailable, so the request was refused
surface:<name>Restricted tools are not allowed from that surface

Tools hidden from a caller produce no row, because nothing was called. See Identity and access.

Use them for audits

QuestionWhere to look
Who can use a sensitive capability in this agent now?The agent's Access tab, or hubzoid access list ./my-hub --hub my-hub
What can one person do across agents?Their details under People, or hubzoid access check <email> ./my-hub for one agent
Who granted it, and when?Access changes, filtered by the affected person
When did someone last sign in?Last sign-in on People, or Access changes filtered by their email
Which changes did one administrator make?Access changes, filtered by Changed by
Were calls to a sensitive tool refused?Tool decisions with Outcome Denied and the tool name
Hand evidence to a reviewerShare the filtered address. The time window is fixed in it

The same decision rows are available on the server, for example hubzoid audit ./my-hub --denied --limit 200, or as JSON with --json.

Choose which cookies Hubzoid can use. You can change this at any time from Cookie settings in the footer. Read the Cookie Policy for details.