Skip to content

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

ToolDescriptionPermissionSurface
log_timeRecord hours on a projectAny active user (own); Manager/Owner (others)Slack + console
get_time_entriesFilter and retrieve time entriesOwner (all); Manager (own projects); User (own only)Slack + console
hours_this_weekSum hours logged this weekAnySlack + console
edit_entryUpdate hours or notes by entry IDOwner (any); User (own only)Slack + console
delete_entryDelete entry by IDOwner (any); User (own only)Slack + console

Projects

ToolDescriptionPermissionSurface
create_projectCreate a new projectOwnerConsole only
rename_projectRename project across all entriesOwnerConsole only
update_projectUpdate one or more fields on a projectOwner or Manager (role-gated per field)Console only
list_projectsList all projectsAnySlack + console
get_project_infoFull project detailsAny (role-filtered)Slack + console
get_project_statusTask-level budget status (non-retainer)AnySlack + console
get_project_healthBurn rate health (retainer)Manager/OwnerSlack + console
get_my_projectsProjects where user is PMAnySlack + console
set_project_budgetSet project hours budgetOwnerConsole only
set_project_deadlineSet project deadlineOwnerConsole only
delete_projectHard-delete an empty projectOwnerConsole only
close_projectMark a project completedOwnerConsole only
cancel_projectMark a project cancelledOwnerConsole only
get_project_tasksTasks enabled for a projectAnySlack + console

Envelopes

ToolDescriptionPermissionSurface
allocate_hoursCreate an hour envelope for a personManager/OwnerConsole only
update_allocationChange envelope hoursManager/OwnerConsole only
cancel_allocationCancel an envelopeManager/OwnerConsole only
reactivate_allocationRestore a cancelled envelopeManager/OwnerConsole only
get_allocationsList envelopes with optional filtersManager/OwnerSlack + console
get_my_allocationsCurrent user's active envelopesAnySlack + console
get_my_assignments"What should I work on?"AnySlack + console
get_project_assignmentsWho has an envelope on a projectManager/OwnerSlack + console
get_person_allocation_summaryAll envelopes for one personManager/OwnerSlack + console
get_project_allocation_summaryAll envelopes for one projectManager/OwnerSlack + console
get_team_availabilityRemaining hours per person across projectsManager/OwnerSlack + console
get_estimates_vs_actualsPlan vs. actual comparisonManager/OwnerSlack + console
check_capacityCan the team absorb new work?Manager/OwnerSlack + console
get_capacity_forecastN-week capacity outlookManager/OwnerSlack + console

Users

ToolDescriptionPermissionSurface
add_userCreate a new team memberOwnerConsole only
list_usersAll active usersAnySlack + console
update_user_roleChange a user's roleOwnerConsole only
rename_userChange display nameOwnerConsole only
assign_pmAssign PM and promote to ManagerOwnerConsole only
deactivate_userMark user inactiveOwnerConsole only
reactivate_userRestore inactive userOwnerConsole only
ensure_userAuto-create if not existsInternalSlack + console
list_disciplinesAll discipline categoriesAnySlack + console
add_disciplineAdd a new disciplineOwnerConsole only
rename_disciplineRename an existing disciplineOwnerConsole only
archive_disciplineArchive a discipline (hidden, not deleted)OwnerConsole only
unarchive_disciplineRestore an archived disciplineOwnerConsole only
get_project_assignmentsWho is on a projectManager/OwnerSlack + console
set_discipline_colorSet a discipline's display colorOwnerConsole only
set_discipline_default_taskSet a discipline's suggested taskOwnerConsole only
list_message_logView scheduled-message delivery historyOwner/AdminConsole only

Tasks

ToolDescriptionPermissionSurface
create_taskCreate a new task typeOwnerConsole only
rename_taskRename task globallyOwnerConsole only
update_taskFlip a task's billable flagOwnerConsole only
archive_taskArchive a task (hidden, not deleted)OwnerConsole only
unarchive_taskRestore an archived taskOwnerConsole only
list_tasksAll task types (includes is_billable)AnySlack + console
enable_task_for_projectEnable task on a projectOwner/PMConsole only
disable_task_for_projectDisable task on a projectOwner/PMConsole only
set_task_disciplineAttribute a task to a disciplineOwnerConsole only
set_task_notesSet a task's hover notesOwnerConsole only

Time Off / PTO

ToolDescriptionPermissionSurface
setup_protected_projectsCreate the PTO/Sick/Leave projectsOwnerConsole only
request_time_offSubmit a time off requestAny active user (self)Slack + console
approve_time_offApprove request and log timeManager/OwnerSlack + console
get_my_time_offOwn time off historyAnySlack + console
get_team_time_offTeam-wide time off historyOwnerSlack + console
list_pending_ptoUnresolved requestsManager/OwnerSlack + console
log_sick_dayLog sick day for a userManager/OwnerSlack + console
log_leaveLog leave for a user (date range)Manager/OwnerSlack + console
update_time_off_requestEdit a pending PTO requestAny active user (own)Console only
cancel_time_off_requestWithdraw a pending PTO requestAny active user (own)Console only
set_pto_noticeSet minimum PTO notice periodOwnerConsole only

Clients

ToolDescriptionPermissionSurface
list_clientsAll clientsAnySlack + console
create_clientCreate a new clientOwnerConsole only
rename_clientRename an existing clientOwnerConsole only
archive_clientArchive a client (hidden, not deleted)OwnerConsole only
unarchive_clientRestore an archived clientOwnerConsole only
delete_clientHard-delete an empty client (no projects)OwnerConsole only
get_client_summaryClient's projects and hoursAny (role-filtered)Slack + console

Retainers

ToolDescriptionPermissionSurface
get_retainer_statusMonthly burn rate for a retainerManager/OwnerSlack + console
get_retainer_periodsFull period history for a retainerManager/OwnerSlack + console
get_pm_retainer_summaryAll retainers for PMManager/OwnerSlack + console
create_retainer_periodAdd a billing period to a retainerOwnerConsole only

Agile / Sprints

ToolDescriptionPermissionSurface
create_sprintNew sprint under Agile parentOwnerConsole only
get_agile_summaryAll sprints for a projectAny (role-filtered)Slack + console
update_sprint_statusTransition sprint planned → activeOwnerConsole only

Rates & Liabilities

ToolDescriptionPermissionSurface
set_rateSet hourly cost for a personOwnerConsole only
get_ratesCurrent effective ratesOwnerSlack + console
get_person_rate_historyAll rate history for a personOwnerSlack + console
create_liabilityRecord a vendor payment commitmentOwnerConsole only
list_liabilitiesVendor commitmentsOwner (all); Manager (own projects)Slack + console
cancel_liabilityCancel a liabilityOwnerConsole only
update_liabilityEdit active liability amount/hours/descriptionOwnerConsole only

Proposals

ToolDescriptionPermissionSurface
create_proposalStart a new proposalOwner/AdminConsole only
list_proposalsList proposalsOwner/AdminConsole only
update_proposalUpdate proposal fieldsOwner/AdminConsole only
delete_proposalPermanently delete a proposalOwner/AdminConsole only
create_proposal_roleAdd a staffing lineOwner/AdminConsole only
update_proposal_roleUpdate a staffing lineOwner/AdminConsole only
delete_proposal_roleRemove a staffing lineOwner/AdminConsole only
create_proposal_liabilityAdd a vendor commitmentOwner/AdminConsole only
update_proposal_liabilityUpdate a vendor commitmentOwner/AdminConsole only
delete_proposal_liabilityRemove a vendor commitmentOwner/AdminConsole only
get_proposal_costingLive costing snapshot for a proposalOwner/AdminConsole only

Compensation

ToolDescriptionPermissionSurface
list_discipline_level_bandsList all discipline salary bandsOwner/AdminConsole only
set_discipline_level_bandSet one discipline/level bandOwner/AdminConsole only
set_discipline_ladderSet a discipline's whole salary ladderOwner/AdminConsole only
set_employer_cost_multiplierSet the employer cost multiplierOwner/AdminConsole only
preview_discipline_laddersPreview bands from published wage dataOwner/AdminConsole only
set_discipline_soc_codeMap a discipline to an occupation codeOwner/AdminConsole only

Reports & Alerts

ToolDescriptionPermissionSurface
get_project_accrual_basisRevenue recognized, cost, net as of any dateManager/OwnerSlack + console
generate_monthly_reportPortfolio P&L for a monthOwner/Manager (role-filtered)Slack + console
get_export_dataRaw export of all dataOwnerSlack + console
get_proactive_alertsCurrent burn/capacity alertsManager/OwnerSlack + console
get_pace_forecastPer-project pace vs. plan, with trendManager/OwnerConsole only
get_unresolved_itemsOpen operational issuesManager/OwnerSlack + console
resolve_itemMark item resolvedManager/OwnerConsole only
dismiss_itemDismiss without actionManager/OwnerConsole only
get_resolution_optionsRanked resolution options for itemManager/OwnerSlack + console

Company Calendar

ToolDescriptionPermissionSurface
add_company_holidayAdd holiday/eventOwnerConsole only
list_company_holidaysAll holidaysAnySlack + console
remove_company_holidayRemove holiday by IDOwnerConsole only
get_work_weekCurrent work week configAnySlack + console
set_work_weekConfigure work daysOwnerConsole only

Context

ToolDescriptionPermissionSurface
store_conversationAuto-called: stores exchange for 24hr contextInternalSlack + console
get_conversationRetrieve recent context for userInternalSlack + console