Send a handoff
send_handoffCreate one worksheet, form, approval, review, or sketch for the signed-in person. They write or draw on an Apple device. You get a filled PDF later. This sends something to a person and cannot be silently undone. It does not wait, and sending again creates a second handoff. Pass source so the device can show which session sent it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| due | No | YYYY-MM-DD or an ISO timestamp. | |
| html | No | HTML body for type html. Scripts are removed. Named inputs become answer fields. | |
| mode | No | sync waits for an answer. On a Tasks client that returns a task. async returns the handoff id. Default async. mode wins over await_answer. | |
| tags | No | ||
| type | No | Defaults to worksheet. Use html, or send_html_handoff, for tap and type answers. Use ui, or send_ui_handoff, for a HUI 0.1 document. | |
| title | Yes | ||
| fields | No | Structured controls for type html. | |
| prompt | No | Question or request when not sending markdown or problems. For type html, this becomes a required text field. | |
| source | No | Optional session context stored with the handoff and shown on the iPad. | |
| routing | No | owner: the sending account answers. first: the first recipient to submit wins. all: every answerer must submit. Defaults to first when a recipient can answer, otherwise owner. | |
| markdown | No | ||
| problems | No | ||
| question | No | ||
| responses | No | Who sees answers when routing is all. private, the default, shows each person only their own. shared shows every response live, attributed by name. | |
| from_agent | Yes | Name of the agent sending the handoff. | |
| recipients | No | People who should receive this handoff, besides the signed-in account. Each entry targets user_id, email, handle, group, team, or group_id. They must accept before they can read it. | |
| await_answer | No | Legacy alias for mode sync. mode wins when both are set. When this client declares the MCP Tasks extension, true returns a task and the client delivers the same JSON as get_handoff_result once they submit. Omit it to get the handoff id immediately. Clients that do not declare Tasks ignore this flag. | |
| callback_url | No | Public https URL notified when the handoff is submitted. | |
| instructions | No | ||
| default_on_timeout | No | Answers to record when due passes and the person has not tapped. The receipt says the system answered. A pay, send, delete, publish, or sign step is not defaulted. |