DocsTools & ActionsAI - Assistant
The AI Assistant has access to ~427 tools across all major Opbox modules. Tools are automatically called by the AI based on user requests. Write operations follow a confirm-then-act pattern; archives are not exposed at all.
For a complete per-tool reference with parameter types and descriptions, see AI Tools Reference.
Before any write, the AI calls ask_confirmation which renders an Approve / Deny dialog. The agentic loop pauses until the user responds. Replaces the legacy apply: prefix.
User: "Add a subtask to step 2 saying 'Verify directors'"
↓
AI calls ask_confirmation({
message: "Add subtask 'Verify directors' to step 2 of matter MAT-0042?",
actionDescription: "Add subtask"
})
↓
UI renders Approve/Deny dialog. User clicks Approve.
↓
AI receives 'approved' and calls add_subtask(...)
↓
Server writes. SSE emits tool_result. UI refreshes.
If the user denies, the AI acknowledges and stops without calling the write tool.
ask_question is the read-only sibling: the AI requests clarification, the UI renders an inline input with optional quick-pick options.
| Tool | Description |
|---|
ask_confirmation | Ask the user to approve a write. Renders Approve/Deny dialog. |
ask_question | Ask the user a clarifying question with optional quick-pick options. |
| Tool | Description |
|---|
search | Search across all entities (forms, matters, tables, documents). |
knowledge_search | Hybrid semantic + full-text search across documents, comments, notes, transcripts, compliance exceptions. |
get_document_content | Retrieve full document content by ID after a knowledge_search match. |
get_document_extractions | Get AI-extracted structured data (entities, key-value pairs) from a document. |
| Tool | Description |
|---|
list_matters | List matters (filters: status, priority, board, assignee). |
search_matters | Full-text search across matter titles, descriptions, metadata. |
get_matter / get_matter_by_number | Get matter details with steps and properties. |
create_matter | Create a matter from a board. |
update_matter | Update title, priority, status, due date, tags. |
complete_step / reject_step / skip_step / reopen_step | Step lifecycle. Confirmation required. |
assign_step / update_step_config | Step ownership and config. |
get_step_form_data / fill_step_form | Read or fill FORM step data. |
preview_step_document | Preview a DOCUMENT step with current matter data. |
scaffold_form_from_pack | Auto-generate a form from a template pack definition. |
add_comment | Add a comment to a matter step. |
update_matter_metadata | Update board property values. |
add_line_item / list_line_items / update_line_item / delete_line_item | Pricing and billing line items. |
list_subtasks / add_subtask / complete_subtask / update_subtask | Subtask CRUD. |
get_matter_documents | List documents attached to a matter. |
The AI is aware of all step types when working with matters, including INSTRUCTION steps. In agent mode, INSTRUCTION steps are automatically dispatched to the AI for completion. In colleague mode, the AI can read the instructions and checklist and help the assigned team member work through them.
| Tool | Description |
|---|
list_boards / get_board | Boards (matter templates). |
create_board | Create a new board (PROCESS, PIPELINE, or KANBAN). |
list_board_properties | Metadata field definitions for a board. |
list_labels | Org-wide matter label suggestions. |
assign_label / remove_label | Tag/untag a matter. Idempotent. |
link_document_to_matter | Attach a KB document to a matter (idempotent upsert). |
| Tool | Description |
|---|
list_forms / get_form | Forms with field definitions. |
create_form | Create a form with fields. |
update_form | Partial update of title/description/schema/status. Auto-versioned. |
archive_form | Set status to ARCHIVED. Idempotent. Required before delete. |
delete_form | Delete an archived form. ADMIN/OWNER only; form must be ARCHIVED first. |
describe_form_schema | Returns canonical schema shape + field type enum. No DB. Call before create/update. |
add_form_field | Append a field to a section. Auto-versioned. |
remove_form_field | Remove a field by ID. Idempotent. Auto-versioned. |
list_submissions / get_submission | Submissions with full data. |
approve_submission / reject_submission | Decisioning. Confirmation required. |
| Tool | Description |
|---|
list_tables / get_table_details / update_table / delete_table | Table CRUD (mutations require ADMIN/OWNER). |
create_table | Create a table with optional columns. |
get_table_rows / summarize_table | Query and aggregate. |
create_row / update_row / patch_row / delete_row | Row CRUD. |
bulk_create_rows / bulk_update_rows | Batch up to 50 rows. |
create_column / update_column / delete_column | Column CRUD (ADMIN/OWNER). |
| Tool | Description |
|---|
list_documents / get_document | KB documents. |
create_document | Create a new KB page or folder, optionally with Tiptap content. |
update_document | Replace structured JSON content. Confirmation required. |
patch_document | Partial metadata update (title, status, parent). |
list_workflows / execute_workflow | Automation workflows. Execution requires confirmation. |
| Tool | Description |
|---|
get_notifications / mark_notifications_read | Notification inbox. |
get_dashboard_stats | Workspace dashboard summary. |
list_members | Workspace members. |
| Tool | Description |
|---|
list_my_transcripts | List the current user's voice transcripts. |
get_my_transcript | Get full text of a transcript owned by the current user. |
| Tool | Description |
|---|
list_api_endpoints | Discover available API endpoints. |
call_api_endpoint | Call any Opbox GET endpoint. POST/PUT/DELETE blocked. 14 sensitive path prefixes blocked. |
| Tool | Description |
|---|
list_dashboard_widgets | List widgets on a dashboard. |
add_dashboard_widget / update_dashboard_widget / remove_dashboard_widget | Widget CRUD. |
bulk_update_dashboard | Batch widget + dashboard settings update. |
set_dashboard_config | Replace the entire dashboard config. |
get_dashboard_stats | Stats summary. |
| Tool | Description |
|---|
execute_sql | Read-only, sandboxed, workspace-scoped SQL. ADMIN required. |
save_sql_query / list_saved_queries / run_saved_query | Personal SQL library. |
| Tool | Description |
|---|
list_files_for_entity / list_files_for_matter / list_files_for_row | File enumeration by entity. |
get_file_record | Single FileRecord by ID. |
link_file_to_entity | Link an existing file to an entity. |
| Tool | Description |
|---|
list_access_grants / list_workspace_grants | Cross-workspace grants. |
get_document_presence | Check if a document exists across workspaces (presence only, no content). |
resolve_row_identity | Resolve a table row to a global identity. |
get_file_version_history | Version chain for a file. |
get_identity_review_queue / resolve_identity_review | Identity match review (low-confidence matches). |
get_open_escalations / resolve_escalation | Open escalations. |
check_file_sensitivity | Sensitivity classification. |
get_registry_coverage | File-registry coverage stats. |
request_file_access | Cross-workspace file-access request. |
get_extraction_quality | Quality metrics for document extractions. |
The AI can look up and work with CRM entity profiles across all system table types. CRM Deals and CRM Partners have dedicated profile views (accessed via the entity hover peek or by navigating to the record) that surface structured summaries, linked matters, files, and activity. The AI can read and update these records using the standard table row tools above.
| Tool | Description |
|---|
get_ownership_chain | Trace from entity to ultimate parent. |
get_corporate_family_tree | Full corporate group tree. |
detect_circular_ownership | Find circular references. |
get_ubos / check_ubo_mismatches | Ultimate beneficial owners and declared-vs-computed comparison. |
| Tool | Description |
|---|
get_register / get_register_history | Statutory registers (shareholders, directors, etc.) with audit trail. |
get_stakeholder_exposure / find_shared_stakeholders | Cross-entity stakeholder analysis. |
detect_conflicts_of_interest | Conflict detection across stakeholder overlaps. |
get_compliance_calendar | Upcoming filing deadlines. |
get_kyc_expiry_report | KYC expiry across entities. |
get_entity_compliance_summary | RAG-rated compliance health for an entity. |
| Tool | Description |
|---|
get_entity_files_deep | Deep file aggregation: direct + matter + stakeholder for a CSP entity. |
get_individual_files_deep | Deep file aggregation for a CSP individual. |
get_stakeholder_file_timeline | Chronological cross-entity timeline. |
link_entity_to_matter / link_individual_to_matter | Manually link CSP entities/individuals to matters. |
sync_matter_entity_links | Sync entity links from matter metadata + linked records. |
backfill_matter_files | Replay propagation for an existing matter. |
bridge_kyc_documents | Bridge KYC docs to the file registry for unified search. |
| Tool | Description |
|---|
search_system_docs | Search Opbox's product docs by keyword. |
embed_system_docs | Index product documentation for semantic search. |
REST equivalents at GET /api/docs/search and POST /api/docs/embed. See RAG & Search for the embedding pipeline.
| Tool | Description |
|---|
agent_queue_list | List pending tasks (L0). |
agent_queue_claim | Atomically claim a task (L1, 30-min lease). |
agent_queue_get_briefing | Adaptive briefing for the claimed task (L0). |
agent_queue_release | Release a claim. |
agent_queue_extend | Extend the lease window. |
See Agent Worker.
The AI sees which specific forms back FORM and APPROVAL steps:
- FORM steps - assigned form title (e.g. "KYC Questionnaire") for both pending and completed steps. Multi-form steps with
formIds show all available titles. Completed FORM steps include collected field data.
- APPROVAL steps - the AI sees which FORM step an approval reviews (e.g. "reviews: Collect KYC - form: KYC Questionnaire"), derived from
reviewFormStepIndex in the approval step config.
This means the AI can answer "what's the KYC questionnaire status on this matter?" without calling any tools - the data is already in context.
Archive operations (archive_matter, archive_table, archive_workflow, ...) are not in the AI tool registry. They are human-only actions accessible only through the Opbox UI.
Reasoning: archives are reversible but heavyweight. They tombstone an entity, hide it from default queries, and require a deliberate UI action to restore. Putting them behind the AI's confirm-then-act flow gave too many false positives and not enough deliberation. Removed entirely.
Every tool call is logged in the AuditLog (and SecurityEvent for risk-relevant categories). Each row carries:
userId (or the agent member's userId)
workspaceId
action (tool name)
resource / resourceId
ipAddress + userAgent
metadata JSON (input + sanitised result digest)
createdAt
The audit log is the system of record for "who did what, when, on whose behalf."