Tool Reference
All tools available in VERA, grouped by category. Every tool requires requesting_user_slack_id — this is always the Slack ID of the person sending the message, never a mentioned user's ID.
Every tool below is a live endpoint, but only some of them are reachable by asking VERA in Slack. As of issue #2080, project configuration, financials, allocations, and user administration all happen in the web console. The Surface column on each table below marks each tool Slack + console (still reachable in a Slack DM) or restricted to the console — see each tool's own page for the exact wording.
User references: Tools that target another user accept either user_slack_id (any Slack mention form) or user_name (plain name). When a mention is present it is resolved directly — no name-matching fallback. When a name is provided, only an exact case-insensitive match auto-resolves; a near-miss always triggers a numbered dialing menu. See User Disambiguation.
Time Tracking
| Tool | Description | Permission | Surface |
|---|---|---|---|
log_time | Record hours on a project | Any active user (own); Manager/Owner (others) | Slack + console |
get_time_entries | Filter and retrieve time entries | Owner (all); Manager (own projects); User (own only) | Slack + console |
hours_this_week | Sum hours logged this week | Any | Slack + console |
edit_entry | Update hours or notes by entry ID | Owner (any); User (own only) | Slack + console |
delete_entry | Delete entry by ID | Owner (any); User (own only) | Slack + console |
Projects
| Tool | Description | Permission | Surface |
|---|---|---|---|
create_project | Create a new project | Owner | Console only |
rename_project | Rename project across all entries | Owner | Console only |
update_project | Update one or more fields on a project | Owner or Manager (role-gated per field) | Console only |
list_projects | List all projects | Any | Slack + console |
get_project_info | Full project details | Any (role-filtered) | Slack + console |
get_project_status | Task-level budget status (non-retainer) | Any | Slack + console |
get_project_health | Burn rate health (retainer) | Manager/Owner | Slack + console |
get_my_projects | Projects where user is PM | Any | Slack + console |
set_project_budget | Set project hours budget | Owner | Console only |
set_project_deadline | Set project deadline | Owner | Console only |
delete_project | Hard-delete an empty project | Owner | Console only |
close_project | Mark a project completed | Owner | Console only |
cancel_project | Mark a project cancelled | Owner | Console only |
get_project_tasks | Tasks enabled for a project | Any | Slack + console |
Envelopes
| Tool | Description | Permission | Surface |
|---|---|---|---|
allocate_hours | Create an hour envelope for a person | Manager/Owner | Console only |
update_allocation | Change envelope hours | Manager/Owner | Console only |
cancel_allocation | Cancel an envelope | Manager/Owner | Console only |
reactivate_allocation | Restore a cancelled envelope | Manager/Owner | Console only |
get_allocations | List envelopes with optional filters | Manager/Owner | Slack + console |
get_my_allocations | Current user's active envelopes | Any | Slack + console |
get_my_assignments | "What should I work on?" | Any | Slack + console |
get_project_assignments | Who has an envelope on a project | Manager/Owner | Slack + console |
get_person_allocation_summary | All envelopes for one person | Manager/Owner | Slack + console |
get_project_allocation_summary | All envelopes for one project | Manager/Owner | Slack + console |
get_team_availability | Remaining hours per person across projects | Manager/Owner | Slack + console |
get_estimates_vs_actuals | Plan vs. actual comparison | Manager/Owner | Slack + console |
check_capacity | Can the team absorb new work? | Manager/Owner | Slack + console |
get_capacity_forecast | N-week capacity outlook | Manager/Owner | Slack + console |
Users
| Tool | Description | Permission | Surface |
|---|---|---|---|
add_user | Create a new team member | Owner | Console only |
list_users | All active users | Any | Slack + console |
update_user_role | Change a user's role | Owner | Console only |
rename_user | Change display name | Owner | Console only |
assign_pm | Assign PM and promote to Manager | Owner | Console only |
deactivate_user | Mark user inactive | Owner | Console only |
reactivate_user | Restore inactive user | Owner | Console only |
ensure_user | Auto-create if not exists | Internal | Slack + console |
list_disciplines | All discipline categories | Any | Slack + console |
add_discipline | Add a new discipline | Owner | Console only |
rename_discipline | Rename an existing discipline | Owner | Console only |
archive_discipline | Archive a discipline (hidden, not deleted) | Owner | Console only |
unarchive_discipline | Restore an archived discipline | Owner | Console only |
get_project_assignments | Who is on a project | Manager/Owner | Slack + console |
set_discipline_color | Set a discipline's display color | Owner | Console only |
set_discipline_default_task | Set a discipline's suggested task | Owner | Console only |
list_message_log | View scheduled-message delivery history | Owner/Admin | Console only |
Tasks
| Tool | Description | Permission | Surface |
|---|---|---|---|
create_task | Create a new task type | Owner | Console only |
rename_task | Rename task globally | Owner | Console only |
update_task | Flip a task's billable flag | Owner | Console only |
archive_task | Archive a task (hidden, not deleted) | Owner | Console only |
unarchive_task | Restore an archived task | Owner | Console only |
list_tasks | All task types (includes is_billable) | Any | Slack + console |
enable_task_for_project | Enable task on a project | Owner/PM | Console only |
disable_task_for_project | Disable task on a project | Owner/PM | Console only |
set_task_discipline | Attribute a task to a discipline | Owner | Console only |
set_task_notes | Set a task's hover notes | Owner | Console only |
Time Off / PTO
| Tool | Description | Permission | Surface |
|---|---|---|---|
setup_protected_projects | Create the PTO/Sick/Leave projects | Owner | Console only |
request_time_off | Submit a time off request | Any active user (self) | Slack + console |
approve_time_off | Approve request and log time | Manager/Owner | Slack + console |
get_my_time_off | Own time off history | Any | Slack + console |
get_team_time_off | Team-wide time off history | Owner | Slack + console |
list_pending_pto | Unresolved requests | Manager/Owner | Slack + console |
log_sick_day | Log sick day for a user | Manager/Owner | Slack + console |
log_leave | Log leave for a user (date range) | Manager/Owner | Slack + console |
update_time_off_request | Edit a pending PTO request | Any active user (own) | Console only |
cancel_time_off_request | Withdraw a pending PTO request | Any active user (own) | Console only |
set_pto_notice | Set minimum PTO notice period | Owner | Console only |
Clients
| Tool | Description | Permission | Surface |
|---|---|---|---|
list_clients | All clients | Any | Slack + console |
create_client | Create a new client | Owner | Console only |
rename_client | Rename an existing client | Owner | Console only |
archive_client | Archive a client (hidden, not deleted) | Owner | Console only |
unarchive_client | Restore an archived client | Owner | Console only |
delete_client | Hard-delete an empty client (no projects) | Owner | Console only |
get_client_summary | Client's projects and hours | Any (role-filtered) | Slack + console |
Retainers
| Tool | Description | Permission | Surface |
|---|---|---|---|
get_retainer_status | Monthly burn rate for a retainer | Manager/Owner | Slack + console |
get_retainer_periods | Full period history for a retainer | Manager/Owner | Slack + console |
get_pm_retainer_summary | All retainers for PM | Manager/Owner | Slack + console |
create_retainer_period | Add a billing period to a retainer | Owner | Console only |
Agile / Sprints
| Tool | Description | Permission | Surface |
|---|---|---|---|
create_sprint | New sprint under Agile parent | Owner | Console only |
get_agile_summary | All sprints for a project | Any (role-filtered) | Slack + console |
update_sprint_status | Transition sprint planned → active | Owner | Console only |
Rates & Liabilities
| Tool | Description | Permission | Surface |
|---|---|---|---|
set_rate | Set hourly cost for a person | Owner | Console only |
get_rates | Current effective rates | Owner | Slack + console |
get_person_rate_history | All rate history for a person | Owner | Slack + console |
create_liability | Record a vendor payment commitment | Owner | Console only |
list_liabilities | Vendor commitments | Owner (all); Manager (own projects) | Slack + console |
cancel_liability | Cancel a liability | Owner | Console only |
update_liability | Edit active liability amount/hours/description | Owner | Console only |
Proposals
| Tool | Description | Permission | Surface |
|---|---|---|---|
create_proposal | Start a new proposal | Owner/Admin | Console only |
list_proposals | List proposals | Owner/Admin | Console only |
update_proposal | Update proposal fields | Owner/Admin | Console only |
delete_proposal | Permanently delete a proposal | Owner/Admin | Console only |
create_proposal_role | Add a staffing line | Owner/Admin | Console only |
update_proposal_role | Update a staffing line | Owner/Admin | Console only |
delete_proposal_role | Remove a staffing line | Owner/Admin | Console only |
create_proposal_liability | Add a vendor commitment | Owner/Admin | Console only |
update_proposal_liability | Update a vendor commitment | Owner/Admin | Console only |
delete_proposal_liability | Remove a vendor commitment | Owner/Admin | Console only |
get_proposal_costing | Live costing snapshot for a proposal | Owner/Admin | Console only |
Compensation
| Tool | Description | Permission | Surface |
|---|---|---|---|
list_discipline_level_bands | List all discipline salary bands | Owner/Admin | Console only |
set_discipline_level_band | Set one discipline/level band | Owner/Admin | Console only |
set_discipline_ladder | Set a discipline's whole salary ladder | Owner/Admin | Console only |
set_employer_cost_multiplier | Set the employer cost multiplier | Owner/Admin | Console only |
preview_discipline_ladders | Preview bands from published wage data | Owner/Admin | Console only |
set_discipline_soc_code | Map a discipline to an occupation code | Owner/Admin | Console only |
Reports & Alerts
| Tool | Description | Permission | Surface |
|---|---|---|---|
get_project_accrual_basis | Revenue recognized, cost, net as of any date | Manager/Owner | Slack + console |
generate_monthly_report | Portfolio P&L for a month | Owner/Manager (role-filtered) | Slack + console |
get_export_data | Raw export of all data | Owner | Slack + console |
get_proactive_alerts | Current burn/capacity alerts | Manager/Owner | Slack + console |
get_pace_forecast | Per-project pace vs. plan, with trend | Manager/Owner | Console only |
get_unresolved_items | Open operational issues | Manager/Owner | Slack + console |
resolve_item | Mark item resolved | Manager/Owner | Console only |
dismiss_item | Dismiss without action | Manager/Owner | Console only |
get_resolution_options | Ranked resolution options for item | Manager/Owner | Slack + console |
Company Calendar
| Tool | Description | Permission | Surface |
|---|---|---|---|
add_company_holiday | Add holiday/event | Owner | Console only |
list_company_holidays | All holidays | Any | Slack + console |
remove_company_holiday | Remove holiday by ID | Owner | Console only |
get_work_week | Current work week config | Any | Slack + console |
set_work_week | Configure work days | Owner | Console only |
Context
| Tool | Description | Permission | Surface |
|---|---|---|---|
store_conversation | Auto-called: stores exchange for 24hr context | Internal | Slack + console |
get_conversation | Retrieve recent context for user | Internal | Slack + console |