Skip to content

User Tools


add_user

Create a new team member. Owner only.

Writes to: 03. Users

Parameters:

ParamRequiredDescription
requesting_user_slack_id
slack_user_idMust message the bot first for auto-detection
user_nameDisplay name
role"owner" | "manager" | "user"
discipline_idFK → 08. Disciplines.id
employment_type"fte" (default) | "contractor" | "vendor"
hours_per_weekFloat. Working hours per week. FTE: omit — defaults to 40. Contractor: required — VERA will ask if not provided. Vendor: omit — defaults to 40 (not used for capacity).

list_users

All active users with disciplines.

Reads from: 03. Users, 08. Disciplines

Inactive users appear with (inactive) next to their name.


update_user_role

Change a user's permission role. Owner only.

Updates: 03. Users col D

Parameters: requesting_user_slack_id, user_name or slack_user_id, new_role


rename_user

Change a user's display name. Owner only.

Updates: 03. Users col C

Parameters: requesting_user_slack_id, current_name or slack_user_id, new_name


assign_pm

Assign a project manager to a project. Owner only.

This is a two-in-one operation:

  1. Promotes the user to manager role (if currently user)
  2. Sets pm_user_id on the project

Updates: 02. Projects col G, 03. Users col D

Parameters: requesting_user_slack_id, project_name, pm_name or pm_slack_id

If the user hasn't messaged the bot yet, they won't be in the system. They need to send at least one message to be auto-registered before they can be assigned as PM.


deactivate_user

Mark a user as inactive. They cannot log time or take any actions. Historical entries are preserved. Owner only.

Updates: 03. Users col E (status → "inactive")

Parameters: requesting_user_slack_id, user_name or slack_user_id

Natural language triggers: "delete user", "remove user", "deactivate user" — all map to this tool.


reactivate_user

Restore an inactive user. Owner only.

Updates: 03. Users col E (status → "active")

Parameters: requesting_user_slack_id, user_name or slack_user_id

Natural language triggers: "reactivate", "restore", "re-enable"


ensure_user

Internal tool — auto-creates a user record if one doesn't exist for the given Slack ID. Called automatically when a new person messages the bot. Creates with role = "user" and employment_type = "fte".

Display name auto-sync: On every message, VERA compares the caller's current Slack display name to the stored name. If they differ (e.g. after a Slack workspace rename), the stored name is silently updated. Manual renames via rename_user are only needed if you want a name different from what appears in Slack.


list_disciplines

All functional discipline categories.

Reads from: 08. Disciplines

Parameters: requesting_user_slack_id


add_discipline

Create a new functional discipline category. Owner only.

Writes to: 08. Disciplines

Parameters: requesting_user_slack_id, name

The words "Designer," "Developer," "Project Manager" may refer to a person name or a discipline. VERA confirms before acting when the context is ambiguous.


get_project_assignments

Who is allocated to a project. Manager/Owner.

Shared with Envelope Tools — documented there.

VERA by talktalkmake