What it does
Save a text document into a connected app that can hold one — Google Drive today, and only where list_connections shows files.write. This is how a deliverable leaves Done and lands somewhere the human already keeps their work. Pass ref to replace the contents of something you saved earlier; leave it out to create a new file. Text only. Note what this is NOT: it cannot send mail, post to Slack, or file an issue in anyone's tracker — those capabilities don't exist here, so don't plan around them. Saving a file is not completing a task: report the link in propose_completion or complete_task as usual.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
connection_id | string | Required | |
title | string | Required | File name, e.g. "Q4 handover.txt" |
text | string | Required | |
ref | string | Optional | Replace this existing file instead of creating one |
Annotations
The hints the server sends with this tool. A host reads them to decide whether to ask you before a call.
- Read-only
readOnlyHint: false - Changes data in your Done account.
- Destructive
destructiveHint: true - Can remove or overwrite something that's already there.
- Idempotent
idempotentHint: false - Each call can add something new, such as a comment, a run or a task.
- Open world
openWorldHint: true - Reaches outside Done, into an app you connected.
Which tokens can call it
A connection made with OAuth has full access. A token from Settings → Agent access → Extra MCP tokens can be narrowed, and a narrowed token never sees beyond its project or workspace.
- Full accessAllowed
- Read-only tokenRefused
- Single-project tokenRefused
- Single-workspace tokenRefused
Try it
With Done connected, ask your assistant something like:
“Save the finished proposal to my Google Drive.”
Connect Done to your assistant
One MCP endpoint per account, over OAuth or a token. Step-by-step setup for each client: