AI tools — Office
37 tools. The latest schema is always in office_tool_catalog once connected.
My recent mail
ReadScope:office:readget_my_recent_mailRecent emails in the user's own mailbox: sender, subject, read status.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Number of emails, default 10, max 30 |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/get_my_recent_mail/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"limit":10}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "get_my_recent_mail",
"arguments": {
"args": {
"limit": 10
}
}
}Activate an automation
Write proposalScope:office:writeoffice_activate_automationActivate an Office automation rule so it runs on events; same checks as the Activate button. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
automationName | string | no | Rule name (empty if the rule is open on screen) |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_activate_automation",
"arguments": {
"args": {
"automationName": "Giao việc khi có đơn mới"
}
}
}Add a checklist item
Write proposalScope:office:writeoffice_add_checklist_itemAdd one checklist item to a task. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | no | Task id |
title | string | no | Task title when no taskId |
itemTitle | string | yes | Checklist item text |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_add_checklist_item",
"arguments": {
"args": {
"title": "Chuẩn bị báo giá",
"itemTitle": "Gửi bản nháp"
}
}
}Comment on a task
Write proposalScope:office:writeoffice_add_task_commentAdd a comment to an Office task. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | no | Task id (from office_list_tasks) |
title | string | no | Exact task title when no taskId |
content | string | no | Comment text |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_add_task_comment",
"arguments": {
"args": {
"title": "Chuẩn bị báo giá",
"content": "Đã gửi bản nháp"
}
}
}Approve an approval step
Write proposalScope:office:writeoffice_approve_approval_taskApprove a pending approval step assigned to the user. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | yes | Approval step id (from office_get_approval_instance) |
comment | string | no | Approval comment |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_approve_approval_task",
"arguments": {
"args": {
"taskId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
"comment": "Đồng ý"
}
}
}Approve a task
Write proposalScope:office:writeoffice_approve_taskApprove an Office task awaiting approval and mark it Done. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | no | Task id (from office_list_tasks) |
title | string | no | Exact task title when no taskId |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_approve_task",
"arguments": {
"args": {
"title": "Chuẩn bị báo giá"
}
}
}Automation building blocks
ReadScope:office:readoffice_automation_catalogBuilding blocks for Office automation rules: trigger types and action types (assign task, internal email, update record…) with config fields.
No parameters.
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_automation_catalog/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_automation_catalog",
"arguments": {
"args": {}
}
}Cancel a meeting
Write proposalScope:office:writeoffice_cancel_eventCancel a meeting organized by the signed-in person. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
eventId | string | yes | Meeting to cancel |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_cancel_event",
"arguments": {
"args": {
"eventId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b"
}
}
}Validate an automation graph
ReadScope:office:readoffice_check_graphValidate an unsaved Office rule graph like the Activate button: steps, trigger, source module. Writes nothing.
| Parameter | Type | Required | Description |
|---|---|---|---|
graph | object | no | Compact rule graph |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_check_graph/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"graph":{"trigger":"record_created","triggerConfig":{"tableId":"0199a1b2-0000-7000-8000-00000000a001"},"steps":[{"ref":"S1","kind":"action","actionType":"create_task","config":{"title":"Gọi lại khách đăng ký","assigneeName":"Nguyễn Văn An"}},{"ref":"S2","kind":"action","actionType":"send_notification","config":{"message":"Có đăng ký mới"}}]}}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_check_graph",
"arguments": {
"args": {
"graph": {
"trigger": "record_created",
"triggerConfig": {
"tableId": "0199a1b2-0000-7000-8000-00000000a001"
},
"steps": [
{
"ref": "S1",
"kind": "action",
"actionType": "create_task",
"config": {
"title": "Gọi lại khách đăng ký",
"assigneeName": "Nguyễn Văn An"
}
},
{
"ref": "S2",
"kind": "action",
"actionType": "send_notification",
"config": {
"message": "Có đăng ký mới"
}
}
]
}
}
}
}Submit an approval
Write proposalScope:office:writeoffice_create_approval_instanceSubmit a new approval request for a workflow, with its form content. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
definitionCode | string | yes | Approval workflow code |
formValue | object | no | Form content: field code → value |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_create_approval_instance",
"arguments": {
"args": {
"definitionCode": "NGHI_PHEP",
"formValue": {
"so_ngay": 1
}
}
}
}Create an automation
Write proposalScope:office:writeoffice_create_automation_from_graphCreate a new Office automation rule (on an event: assign tasks, send internal email, update records…) from a compact graph. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | Rule name |
graph | object | no | Compact rule graph |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_create_automation_from_graph",
"arguments": {
"args": {
"name": "Giao việc khi có đăng ký mới",
"graph": {
"trigger": "record_created",
"triggerConfig": {
"tableId": "0199a1b2-0000-7000-8000-00000000a001"
},
"steps": [
{
"ref": "S1",
"kind": "action",
"actionType": "create_task",
"config": {
"title": "Gọi lại khách đăng ký",
"assigneeName": "Nguyễn Văn An"
}
},
{
"ref": "S2",
"kind": "action",
"actionType": "send_notification",
"config": {
"message": "Có đăng ký mới"
}
}
]
}
}
}
}Create a meeting
Write proposalScope:office:writeoffice_create_eventCreate a meeting on the user's calendar with attendees, location and notes. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | Meeting title |
startAt | string | yes | Start: yyyy-MM-dd (all day), yyyy-MM-ddTHH:mm Vietnam time or ISO with offset |
endAt | string | no | End, same format; empty = 1 hour |
attendeeNames | string | no | Attendee full names in the company, comma-separated |
location | string | no | Location |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_create_event",
"arguments": {
"args": {
"title": "Họp giao ban",
"startAt": "2026-10-28T09:00",
"attendeeNames": "Nguyễn Văn An, Trần Thị Bình"
}
}
}Add a table row
Write proposalScope:office:writeoffice_create_recordAdd a row to an Office data table. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
tableId | string | yes | Table id |
data | object | yes | Values by column code |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_create_record",
"arguments": {
"args": {
"tableId": "0199a1b2-0000-7000-8000-00000000a001",
"data": {
"ten_khach": "Nguyễn Văn An",
"so_dien_thoai": "0901234567"
}
}
}
}Create a task
Write proposalScope:office:writeoffice_create_taskCreate an Office task: title, assignee, due date, priority, project. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | Task title |
assigneeName | string | no | Assignee full name in the company |
dueAt | string | no | Due: yyyy-MM-dd (17:00 Vietnam time) or ISO with offset |
priority | string | no | Low, Medium or High (Vietnamese labels) |
listName | string | no | Project name; empty = none |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_create_task",
"arguments": {
"args": {
"title": "Chuẩn bị báo giá",
"assigneeName": "Nguyễn Văn An",
"dueAt": "2026-10-30"
}
}
}Create a task from group chat
Write proposalScope:office:writeoffice_create_task_from_chatCreate one task for one topic in an Office group chat thread (problem, cause, fix request) and post the task card to the group. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | yes | A source message id in the thread (from office_read_group_chat) |
problem | string | yes | Problem |
cause | string | yes | Cause |
fixRequest | string | yes | Fix request; also the task title |
assigneeName | string | no | Assignee |
dueAt | string | no | Due date (yyyy-MM-dd) |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_create_task_from_chat",
"arguments": {
"args": {
"messageId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
"problem": "Khách phản hồi giao hàng trễ 2 ngày",
"cause": "Kho chưa nhận lịch xuất",
"fixRequest": "Lập lịch xuất kho hằng ngày lúc 8 giờ",
"assigneeName": "Trần Thị Bình",
"dueAt": "2026-10-30"
}
}
}Create a task list
Write proposalScope:office:writeoffice_create_task_listCreate a task list, which is also a project on the Tasks screen. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | List name |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_create_task_list",
"arguments": {
"args": {
"name": "Khai trương Quận 7"
}
}
}Delete a table row
Write proposalScope:office:writeoffice_delete_recordMove a row of an Office data table to the trash. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
tableId | string | yes | Table id |
recordId | string | yes | Row id (from office_list_records) |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_delete_record",
"arguments": {
"args": {
"tableId": "0199a1b2-0000-7000-8000-00000000a001",
"recordId": "0199a1b2-0000-7000-8000-00000000b001"
}
}
}Delete a task
Write proposalScope:office:writeoffice_delete_taskMove an Office task (with subtasks) to the trash, kept 30 days. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | no | Task id (from office_list_tasks) |
title | string | no | Exact task title when no taskId |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_delete_task",
"arguments": {
"args": {
"title": "Chuẩn bị báo giá"
}
}
}Approval details
ReadScope:office:readoffice_get_approval_instanceDetails of one approval request: content, approval steps and timeline.
| Parameter | Type | Required | Description |
|---|---|---|---|
instanceId | string | yes | Request id (from office_list_approval_instances) |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_get_approval_instance/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"instanceId":"0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b"}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_get_approval_instance",
"arguments": {
"args": {
"instanceId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b"
}
}
}A table row
ReadScope:office:readoffice_get_recordRead one row of an Office data table; rows outside the user's access return not found.
| Parameter | Type | Required | Description |
|---|---|---|---|
tableId | string | yes | Table id |
recordId | string | yes | Row id (from office_list_records) |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_get_record/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"tableId":"0199a1b2-0000-7000-8000-00000000a001","recordId":"0199a1b2-0000-7000-8000-00000000b001"}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_get_record",
"arguments": {
"args": {
"tableId": "0199a1b2-0000-7000-8000-00000000a001",
"recordId": "0199a1b2-0000-7000-8000-00000000b001"
}
}
}Approvals
ReadScope:office:readoffice_list_approval_instancesThe user's approval requests: submitted, awaiting their approval, or already acted on.
| Parameter | Type | Required | Description |
|---|---|---|---|
role | string | no | mine = submitted by me (default), todo = awaiting me, acted = acted on |
page | integer | no | Page, starting at 1 |
pageSize | integer | no | Rows per page, 1–100, default 20 |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_list_approval_instances/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"role":"todo"}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_list_approval_instances",
"arguments": {
"args": {
"role": "todo"
}
}
}Automations
ReadScope:office:readoffice_list_automationsList Office automation rules: name, status (draft, active, paused), trigger type, step count.
| Parameter | Type | Required | Description |
|---|---|---|---|
search | string | no | Part of the name |
status | string | no | Draft, Active or Paused |
includeGraph | boolean | no | true = include graph when exactly one result |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_list_automations/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"status":"Active"}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_list_automations",
"arguments": {
"args": {
"status": "Active"
}
}
}My calendar
ReadScope:office:readoffice_list_my_calendarMeetings of the signed-in person between two dates. Empty means the next 7 days, at most 31 days. Does not return attendees or email.
| Parameter | Type | Required | Description |
|---|---|---|---|
from | string | no | From date (yyyy-MM-dd) |
to | string | no | To date (yyyy-MM-dd) |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_list_my_calendar/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_list_my_calendar",
"arguments": {
"args": {}
}
}Table rows
ReadScope:office:readoffice_list_recordsList rows of one Office data table; only rows and columns visible to the user.
| Parameter | Type | Required | Description |
|---|---|---|---|
tableId | string | yes | Table id |
page | integer | no | Page, starting at 1 |
pageSize | integer | no | Rows per page, 1–100, default 20 |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_list_records/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"tableId":"0199a1b2-0000-7000-8000-00000000a001","pageSize":20}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_list_records",
"arguments": {
"args": {
"tableId": "0199a1b2-0000-7000-8000-00000000a001",
"pageSize": 20
}
}
}Stuck tasks
ReadScope:office:readoffice_list_stuck_tasksThe user's stuck tasks — overdue, awaiting approval, unassigned — with the reason for each.
No parameters.
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_list_stuck_tasks/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_list_stuck_tasks",
"arguments": {
"args": {}
}
}Tasks
ReadScope:office:readoffice_list_tasksList Office tasks: by default the user's open tasks; filter by overdue, assignee, scope, status, title, priority, unassigned.
| Parameter | Type | Required | Description |
|---|---|---|---|
overdue | boolean | no | true = overdue only |
assigneeName | string | no | Assignee full name |
scope | string | no | assigned-to-me, created-by-me, watching… |
status | string | no | Status; empty = open |
search | string | no | Part of the title |
priority | string | no | Low, Medium or High (Vietnamese labels) |
unassigned | boolean | no | true = unassigned only |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_list_tasks/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"overdue":true}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_list_tasks",
"arguments": {
"args": {
"overdue": true
}
}
}Pause an automation
Write proposalScope:office:writeoffice_pause_automationPause an active Office automation rule. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
automationName | string | no | Rule name (empty if the rule is open on screen) |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_pause_automation",
"arguments": {
"args": {
"automationName": "Giao việc khi có đăng ký mới"
}
}
}Read a group chat
ReadScope:office:readoffice_read_group_chatRead up to 30 recent messages of one Office group chat.
| Parameter | Type | Required | Description |
|---|---|---|---|
channelName | string | no | Group chat name |
channelId | string | no | Group id when exactly one match |
take | integer | no | Messages, 1–30, default 20 |
fromMessageId | string | no | First message of the selected range |
toMessageId | string | no | Last message of the selected range |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_read_group_chat/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"channelName":"Kinh doanh","take":20}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_read_group_chat",
"arguments": {
"args": {
"channelName": "Kinh doanh",
"take": 20
}
}
}Reject an approval step
Write proposalScope:office:writeoffice_reject_approval_taskReject a pending approval step assigned to the user, with a reason. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | yes | Approval step id (from office_get_approval_instance) |
comment | string | no | Rejection reason |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_reject_approval_task",
"arguments": {
"args": {
"taskId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
"comment": "Thiếu báo giá đính kèm"
}
}
}Restore a task
Write proposalScope:office:writeoffice_restore_taskRestore a task from the trash within 30 days. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | yes | Id of the trashed task |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_restore_task",
"arguments": {
"args": {
"taskId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b"
}
}
}Return a task
Write proposalScope:office:writeoffice_return_taskReturn a task with a reason the user stated. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | no | Task id |
title | string | no | Task title when no taskId |
reason | string | yes | Reason for returning the task |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_return_task",
"arguments": {
"args": {
"title": "Chuẩn bị báo giá",
"reason": "Thiếu số liệu"
}
}
}Test-run an automation
ReadScope:office:readoffice_simulate_automationDry-run a saved Office automation rule on sample event data without writing anything: returns each step run or skipped and the end reason.
| Parameter | Type | Required | Description |
|---|---|---|---|
automationName | string | no | Rule name (empty if the rule is open on screen) |
triggerData | string | no | Sample event data (JSON) |
Or call over REST with an API key
curl -X POST https://api.nextx.vn/api/v1/ai/tools/office/office_simulate_automation/read \
-H "X-Api-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"automationName":"Giao việc khi có đăng ký mới","triggerData":"{\"ten_khach\":\"Nguyễn Văn An\"}"}'MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_simulate_automation",
"arguments": {
"args": {
"automationName": "Giao việc khi có đăng ký mới",
"triggerData": "{\"ten_khach\":\"Nguyễn Văn An\"}"
}
}
}Transfer an approval step
Write proposalScope:office:writeoffice_transfer_approval_taskTransfer a pending approval step to another person in the company. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | yes | Approval step id (from office_get_approval_instance) |
receiverName | string | yes | Receiver full name |
comment | string | no | Note |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_transfer_approval_task",
"arguments": {
"args": {
"taskId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
"receiverName": "Trần Thị Bình",
"comment": "Nhờ chị duyệt thay trong tuần nghỉ phép"
}
}
}Update an automation
Write proposalScope:office:writeoffice_update_automation_graphEdit an Office rule by sending the full updated graph plus the version you read; active rules must be paused first. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
automationName | string | no | Rule name (empty if the rule is open on screen) |
baseVersion | integer | no | Graph version you read |
graph | object | no | Updated compact graph |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_update_automation_graph",
"arguments": {
"args": {
"automationName": "Giao việc khi có đăng ký mới",
"baseVersion": 1834512907,
"graph": {
"trigger": "record_created",
"triggerConfig": {
"tableId": "0199a1b2-0000-7000-8000-00000000a001"
},
"steps": [
{
"ref": "S1",
"kind": "action",
"actionType": "create_task",
"config": {
"title": "Gọi lại khách đăng ký",
"assigneeName": "Nguyễn Văn An"
}
},
{
"ref": "S2",
"kind": "action",
"actionType": "send_notification",
"config": {
"message": "Có đăng ký mới"
}
}
]
}
}
}
}Update a meeting
Write proposalScope:office:writeoffice_update_eventEdit a meeting organized by the signed-in person. Send only the fields to change. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
eventId | string | yes | Meeting to edit |
title | string | no | New title |
startAt | string | no | New start |
endAt | string | no | New end |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_update_event",
"arguments": {
"args": {
"eventId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
"title": "Họp chốt báo giá"
}
}
}Update a table row
Write proposalScope:office:writeoffice_update_recordUpdate a row of an Office data table: only changed columns, or overwrite the whole row. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
tableId | string | yes | Table id |
recordId | string | yes | Row id |
data | object | yes | Values by column code |
replace | boolean | no | true = overwrite the whole row |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_update_record",
"arguments": {
"args": {
"tableId": "0199a1b2-0000-7000-8000-00000000a001",
"recordId": "0199a1b2-0000-7000-8000-00000000b001",
"data": {
"trang_thai": "Đã liên hệ"
}
}
}
}Update a task
Write proposalScope:office:writeoffice_update_taskUpdate an Office task: status, assignee, due date, priority, title, project. Creates a proposal; it only runs after the user taps Confirm in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | no | Task id (from office_list_tasks) |
title | string | no | Exact task title when no taskId |
status | string | no | To do, In progress, Done, Awaiting approval or Cancelled (Vietnamese labels) |
assigneeName | string | no | New assignee full name |
dueAt | string | no | New due date (yyyy-MM-dd or ISO) |
priority | string | no | Low, Medium or High (Vietnamese labels) |
newTitle | string | no | New title |
listName | string | no | Project name |
MCP call example (for AI assistants)
AI assistants send this call themselves when you ask in plain words; you only need it when debugging an MCP connection.
{
"name": "office_update_task",
"arguments": {
"args": {
"title": "Chuẩn bị báo giá",
"status": "Xong"
}
}
}