Send Document
telegram.send_document
ActionChat & messagingconnection required
Calls the Telegram API with the connection's credentials.
Send a file of any type to a Telegram chat by file_id or public URL.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Telegram
- Secret shape
- the bot token, or {"token": "…"}
- Resolved by
- config.connection_id, else node.connection_id
Configuration
10 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
chat_id The chat to send to: a numeric chat/user id, or an @channelusername. | string | Yes | — | — | — |
document The file to send: either a file_id of a file already on Telegram's servers (reuse is much faster) or a public https:// URL for Telegram to fetch. Uploading local bytes is not supported by this node. | string | Yes | — | — | — |
caption Caption shown under the document, 0-1024 characters after formatting. | string | No | — | ≤ 1024 characters | — |
parse_mode How to format the text: 'MarkdownV2', 'HTML', or blank for plain text. MarkdownV2 needs every literal _ * [ ] ( ) ~ ` > # + - = | { } . ! escaped with a backslash or Telegram rejects the whole message, so prefer HTML for text interpolated from an expression. | string | No | — | one of "", "MarkdownV2", "HTML" | — |
disable_content_type_detection Stop Telegram sniffing the content type and re-classifying the file. | boolean | No | — | — | — |
disable_notification Deliver silently — the recipient sees the message but their device stays quiet. | boolean | No | — | — | — |
protect_content Stop recipients forwarding or saving the message. | boolean | No | — | — | — |
reply_to_message_id Id of a message in the same chat to reply to; sent as reply_parameters.message_id. | integer | No | — | ≥ 1 | — |
message_thread_id Topic id inside a forum supergroup; leave blank for the main thread. | integer | No | — | ≥ 1 | — |
reply_markup Keyboard or markup for the message, as the JSON object Telegram documents (inline_keyboard, keyboard, remove_keyboard or force_reply). A JSON string is accepted too and parsed for you. | object | No | — | — | — |
Output
One shape.
result
| Field | Type | Example |
|---|---|---|
ok True when Telegram accepted the call. | boolean | true |
message_id Id of the message Telegram created. | number | — |
chat_id Id of the chat the message landed in. | string | — |
date Unix time Telegram recorded for the message. | number | — |
message The full Telegram Message object, as returned. | object | — |
{
"chat_id": "",
"date": 0,
"message": {},
"message_id": 0,
"ok": true
}Notes
- chat_id is a numeric chat/user id or an @channelusername. A bot can only message a user who started it, or a group/channel it has been added to.
- The bot token sits in the request URL, so it is redacted out of every error message and dry-run report these nodes produce.
- Telegram answers HTTP 200 even for failures; the node reads the {'ok': …} envelope and raises on ok:false with Telegram's own description.
- Bots can send files of up to 50 MB.
See Send Document run in a workflow.
In a technical demo we add the Telegram connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.