attach_file_from_url
Attach a file to a task by URL. The SERVER downloads the file (public http(s) URL only; internal/private addresses are blocked) and stores it as a real attachment, so the bytes never pass through the model (no truncation risk). Use this when the file already lives at a URL (cloud storage, a public link). Max 50 MB. fileName is optional (derived from the URL otherwise). For a file that exists only in your sandbox, use upload_task_attachment instead. Any project contributor or above can attach (VIEWERs cannot).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"taskId": "<taskId>",
"url": "<url>"
},
"name": "attach_file_from_url"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL of the file to fetch. 1..2048 chars. | |
| taskId | Yes | The task to attach to. | |
| fileName | No | Optional file name incl. extension. Derived from the URL when omitted. | |
| idempotencyKey | No | Optional idempotency key. Pass a stable unique value (e.g. a UUID) to make this create safe to retry: calling again with the same key within 24h - even from a new session after a reconnect - replays the original result and creates no duplicate. Org-scoped; works across conversations. |