• AI reference · Always listed
done
Finish a task. Finish with evidence (what its check showed, not the check again) and a hand-off note (summary), or hand it to another department. A waiting proposal blocks done. Risky work, or an import, file_delete or company_new proposal, needs a second look (skill second-look) and the owner's yes. A site_publish needs only the owner's yes on its preview.
Where it is
Always listed: call it by its name.
Does it need a yes?
Runs at once, no yes card: it changes only the office's own working state, and nothing reaches anyone. Here: closes the AI's own task; a risky one needs its review and yes first.
Inputs
| Input | Type | Needed | About |
|---|---|---|---|
number | integer | yes | The task number, e.g. 12. · 1 or more |
summary | string | yes | The hand-off note: what was done, what waits, who acts next. The next agent carries on from it alone. |
evidence | string | no | What shows the check passed. Needed to finish, not to hand on. For example: the test and its result, the file and version, the screen you saw, the provider's receipt. · 1 to 2,000 characters |
hand_to | string | no | A department to hand it on to, instead of finishing. |
release | boolean | no | true: let go unfinished, for another session. |
run_id | string | yes | The run_id from start. Pass it on every call: it keeps your task held. · 1 to 100 characters |
Example
{
"name": "done",
"arguments": {
"number": 12,
"summary": "Ana has her quote.",
"run_id": "the run_id from start"
}
}When it is refused
invalid: The input isn't right. The sentence names the field and the fix; nothing was done. Fix it and call again.not_found: No such thing in this company (a task, file, person, record). Check the number or name, or list first.not_allowed: Not without another step: the owner's yes, your own task held with pick_up, or a setting the owner turns on. The sentence says which.taken: Someone else holds it (another AI on that task). Pick another task.stale: It changed since you read it. Read it again and use the new version.failed: On our side or a service's, never your input. Try again in a minute; if it keeps failing, call report_problem.