AI tools — Office

37 tools. The latest schema is always in office_tool_catalog once connected.

My recent mail

ReadScope: office:read
get_my_recent_mail

Recent emails in the user's own mailbox: sender, subject, read status.

ParameterTypeRequiredDescription
limitintegernoNumber 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:write
office_activate_automation

Activate 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.

ParameterTypeRequiredDescription
automationNamestringnoRule 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:write
office_add_checklist_item

Add one checklist item to a task. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
taskIdstringnoTask id
titlestringnoTask title when no taskId
itemTitlestringyesChecklist 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:write
office_add_task_comment

Add a comment to an Office task. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
taskIdstringnoTask id (from office_list_tasks)
titlestringnoExact task title when no taskId
contentstringnoComment 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:write
office_approve_approval_task

Approve a pending approval step assigned to the user. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
taskIdstringyesApproval step id (from office_get_approval_instance)
commentstringnoApproval 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:write
office_approve_task

Approve an Office task awaiting approval and mark it Done. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
taskIdstringnoTask id (from office_list_tasks)
titlestringnoExact 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:read
office_automation_catalog

Building 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:write
office_cancel_event

Cancel a meeting organized by the signed-in person. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
eventIdstringyesMeeting 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:read
office_check_graph

Validate an unsaved Office rule graph like the Activate button: steps, trigger, source module. Writes nothing.

ParameterTypeRequiredDescription
graphobjectnoCompact 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:write
office_create_approval_instance

Submit 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.

ParameterTypeRequiredDescription
definitionCodestringyesApproval workflow code
formValueobjectnoForm 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:write
office_create_automation_from_graph

Create 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.

ParameterTypeRequiredDescription
namestringyesRule name
graphobjectnoCompact 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:write
office_create_event

Create 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.

ParameterTypeRequiredDescription
titlestringyesMeeting title
startAtstringyesStart: yyyy-MM-dd (all day), yyyy-MM-ddTHH:mm Vietnam time or ISO with offset
endAtstringnoEnd, same format; empty = 1 hour
attendeeNamesstringnoAttendee full names in the company, comma-separated
locationstringnoLocation
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:write
office_create_record

Add a row to an Office data table. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
tableIdstringyesTable id
dataobjectyesValues 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:write
office_create_task

Create an Office task: title, assignee, due date, priority, project. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
titlestringyesTask title
assigneeNamestringnoAssignee full name in the company
dueAtstringnoDue: yyyy-MM-dd (17:00 Vietnam time) or ISO with offset
prioritystringnoLow, Medium or High (Vietnamese labels)
listNamestringnoProject 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:write
office_create_task_from_chat

Create 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.

ParameterTypeRequiredDescription
messageIdstringyesA source message id in the thread (from office_read_group_chat)
problemstringyesProblem
causestringyesCause
fixRequeststringyesFix request; also the task title
assigneeNamestringnoAssignee
dueAtstringnoDue 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:write
office_create_task_list

Create 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.

ParameterTypeRequiredDescription
namestringyesList 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:write
office_delete_record

Move a row of an Office data table to the trash. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
tableIdstringyesTable id
recordIdstringyesRow 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:write
office_delete_task

Move 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.

ParameterTypeRequiredDescription
taskIdstringnoTask id (from office_list_tasks)
titlestringnoExact 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:read
office_get_approval_instance

Details of one approval request: content, approval steps and timeline.

ParameterTypeRequiredDescription
instanceIdstringyesRequest 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:read
office_get_record

Read one row of an Office data table; rows outside the user's access return not found.

ParameterTypeRequiredDescription
tableIdstringyesTable id
recordIdstringyesRow 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:read
office_list_approval_instances

The user's approval requests: submitted, awaiting their approval, or already acted on.

ParameterTypeRequiredDescription
rolestringnomine = submitted by me (default), todo = awaiting me, acted = acted on
pageintegernoPage, starting at 1
pageSizeintegernoRows 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:read
office_list_automations

List Office automation rules: name, status (draft, active, paused), trigger type, step count.

ParameterTypeRequiredDescription
searchstringnoPart of the name
statusstringnoDraft, Active or Paused
includeGraphbooleannotrue = 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:read
office_list_my_calendar

Meetings of the signed-in person between two dates. Empty means the next 7 days, at most 31 days. Does not return attendees or email.

ParameterTypeRequiredDescription
fromstringnoFrom date (yyyy-MM-dd)
tostringnoTo 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:read
office_list_records

List rows of one Office data table; only rows and columns visible to the user.

ParameterTypeRequiredDescription
tableIdstringyesTable id
pageintegernoPage, starting at 1
pageSizeintegernoRows 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:read
office_list_stuck_tasks

The 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:read
office_list_tasks

List Office tasks: by default the user's open tasks; filter by overdue, assignee, scope, status, title, priority, unassigned.

ParameterTypeRequiredDescription
overduebooleannotrue = overdue only
assigneeNamestringnoAssignee full name
scopestringnoassigned-to-me, created-by-me, watching…
statusstringnoStatus; empty = open
searchstringnoPart of the title
prioritystringnoLow, Medium or High (Vietnamese labels)
unassignedbooleannotrue = 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:write
office_pause_automation

Pause an active Office automation rule. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
automationNamestringnoRule 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:read
office_read_group_chat

Read up to 30 recent messages of one Office group chat.

ParameterTypeRequiredDescription
channelNamestringnoGroup chat name
channelIdstringnoGroup id when exactly one match
takeintegernoMessages, 1–30, default 20
fromMessageIdstringnoFirst message of the selected range
toMessageIdstringnoLast 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:write
office_reject_approval_task

Reject 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.

ParameterTypeRequiredDescription
taskIdstringyesApproval step id (from office_get_approval_instance)
commentstringnoRejection 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:write
office_restore_task

Restore a task from the trash within 30 days. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
taskIdstringyesId 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:write
office_return_task

Return a task with a reason the user stated. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
taskIdstringnoTask id
titlestringnoTask title when no taskId
reasonstringyesReason 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:read
office_simulate_automation

Dry-run a saved Office automation rule on sample event data without writing anything: returns each step run or skipped and the end reason.

ParameterTypeRequiredDescription
automationNamestringnoRule name (empty if the rule is open on screen)
triggerDatastringnoSample 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:write
office_transfer_approval_task

Transfer a pending approval step to another person in the company. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
taskIdstringyesApproval step id (from office_get_approval_instance)
receiverNamestringyesReceiver full name
commentstringnoNote
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:write
office_update_automation_graph

Edit 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.

ParameterTypeRequiredDescription
automationNamestringnoRule name (empty if the rule is open on screen)
baseVersionintegernoGraph version you read
graphobjectnoUpdated 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:write
office_update_event

Edit 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.

ParameterTypeRequiredDescription
eventIdstringyesMeeting to edit
titlestringnoNew title
startAtstringnoNew start
endAtstringnoNew 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:write
office_update_record

Update 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.

ParameterTypeRequiredDescription
tableIdstringyesTable id
recordIdstringyesRow id
dataobjectyesValues by column code
replacebooleannotrue = 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:write
office_update_task

Update an Office task: status, assignee, due date, priority, title, project. Creates a proposal; it only runs after the user taps Confirm in the app.

ParameterTypeRequiredDescription
taskIdstringnoTask id (from office_list_tasks)
titlestringnoExact task title when no taskId
statusstringnoTo do, In progress, Done, Awaiting approval or Cancelled (Vietnamese labels)
assigneeNamestringnoNew assignee full name
dueAtstringnoNew due date (yyyy-MM-dd or ISO)
prioritystringnoLow, Medium or High (Vietnamese labels)
newTitlestringnoNew title
listNamestringnoProject 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"
    }
  }
}