Send Photo

telegram.send_photo
ActionChat & messagingconnection required

Calls the Telegram API with the connection's credentials.

Send a photo 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

11 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
chat_id
The chat to send to: a numeric chat/user id, or an @channelusername.
stringYes———
photo
The photo 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.
stringYes———
caption
Caption shown under the photo, 0-1024 characters after formatting.
stringNo—≤ 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.
stringNo—one of "", "MarkdownV2", "HTML"—
has_spoiler
Cover the photo with a spoiler animation the recipient must tap.
booleanNo———
show_caption_above_media
Show the caption above the photo instead of below it.
booleanNo———
disable_notification
Deliver silently — the recipient sees the message but their device stays quiet.
booleanNo———
protect_content
Stop recipients forwarding or saving the message.
booleanNo———
reply_to_message_id
Id of a message in the same chat to reply to; sent as reply_parameters.message_id.
integerNo—≥ 1—
message_thread_id
Topic id inside a forum supergroup; leave blank for the main thread.
integerNo—≥ 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.
objectNo———

Output

One shape.

result

FieldTypeExample
ok
True when Telegram accepted the call.
booleantrue
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.
  • A photo sent by URL must be at most 10 MB and 10000px per side.

See Send Photo 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.