interface TelegramNodeParameters {
action?:
| "find_location"
| "record_audio"
| "record_video"
| "record_video_note"
| "typing"
| "upload_audio"
| "upload_document"
| "upload_photo"
| "upload_video"
| "upload_video_note";
additionalFields?: | { disable_notification?: boolean }
| {
cache_time?: number;
show_alert?: boolean;
text?: string;
url?: string;
}
| { mimeType?: string }
| {
appendAttribution?: boolean;
caption?: string;
disable_notification?: boolean;
disable_web_page_preview?: boolean;
duration?: number;
fileName?: string;
height?: number;
message_thread_id?: number;
parse_mode?: "HTML" | "Markdown" | "MarkdownV2";
performer?: string;
reply_to_message_id?: number;
thumb?: string;
title?: string;
width?: number;
}
| {
message_thread_id?: number;
parse_mode?: "HTML"
| "Markdown"
| "MarkdownV2";
}
| {
disable_notification?: boolean;
is_rtl?: boolean;
message_effect_id?: string;
message_thread_id?: number;
protect_content?: boolean;
skip_entity_detection?: boolean;
};
approvalOptions?: {
values: {
approvalType?: "single"
| "double";
approveLabel?: string;
disapproveLabel?: string;
};
};
approverIds?: string;
binaryData?: boolean;
binaryPropertyName?: string;
chatApproval?: boolean;
chatId?: string;
defineForm?: "json"
| "fields";
description?: string;
download?: boolean;
draftId?: number;
file?: string;
fileId?: string;
forceReply?: {
force_reply?: boolean;
selective?: boolean;
};
formFields?: {
values: {
acceptFileTypes?: string;
defaultValue?: string;
elementName?: string;
fieldLabel: string;
fieldName: string;
fieldOptions: { values: { option?: string }[] };
fieldType:
| "number"
| "file"
| "text"
| "email"
| "password"
| "date"
| "checkbox"
| "html"
| "dropdown"
| "hiddenField"
| "radio"
| "textarea";
fieldValue?: string;
formatDate?: string;
html?: string;
limitSelection?: "exact"
| "range"
| "unlimited";
maxSelections?: number;
minSelections?: number;
multipleFiles?: boolean;
multiselect?: boolean;
multiselectLegacyNotice?: string;
numberOfSelections?: number;
placeholder?: string;
requiredField?: boolean;
}[];
};
inlineKeyboard?: {
rows: {
row?: {
buttons: {
additionalFields?: {
callback_data?: (...)
| (...);
pay?: (...) | (...) | (...);
switch_inline_query?: (...) | (...);
switch_inline_query_current_chat?: (...) | (...);
url?: (...) | (...);
web_app?: (...) | (...);
};
text?: string;
}[];
};
}[];
};
inlineMessageId?: string;
jsonOutput?: string;
latitude?: number;
longitude?: number;
media?: {
media: {
additionalFields?: {
caption?: string;
parse_mode?: "HTML"
| "Markdown"
| "MarkdownV2";
};
media?: string;
type?: "video"
| "photo";
}[];
};
message?: string;
messageId?: string;
messageType?: "message"
| "inlineMessage";
operation?:
| "get"
| "sendMessage"
| "member"
| "sendAndWait"
| "deleteMessage"
| "leave"
| "administrators"
| "setDescription"
| "setTitle"
| "answerQuery"
| "answerInlineQuery"
| "editMessageText"
| "pinChatMessage"
| "sendAnimation"
| "sendAudio"
| "sendChatAction"
| "sendDocument"
| "sendLocation"
| "sendMediaGroup"
| "sendMessageDraft"
| "sendRichMessage"
| "sendRichMessageDraft"
| "sendPhoto"
| "sendSticker"
| "sendVideo"
| "unpinChatMessage";
options?: | {
appendAttribution?: boolean;
limitWaitTime?: {
values: {
limitType?: | "afterTimeInterval"
| "atSpecifiedTime";
maxDateAndTime?: string;
resumeAmount?: number;
resumeUnit?: "minutes"
| "hours"
| "days";
};
};
}
| {
appendAttribution?: boolean;
limitWaitTime?: {
values: {
limitType?: | "afterTimeInterval"
| "atSpecifiedTime";
maxDateAndTime?: string;
resumeAmount?: number;
resumeUnit?: "minutes"
| "hours"
| "days";
};
};
messageButtonLabel?: string;
responseFormButtonLabel?: string;
responseFormCustomCss?: string;
responseFormDescription?: string;
responseFormTitle?: string;
};
postDecisionBehavior?: | "showOutcome"
| "removeButtons"
| "keepMessage";
queryId?: string;
replyKeyboard?: {
rows: {
row?: {
buttons: {
additionalFields?: {
request_contact?: (...)
| (...)
| (...);
request_location?: (...) | (...) | (...);
web_app?: (...) | (...);
};
text?: string;
}[];
};
}[];
};
replyKeyboardOptions?: {
one_time_keyboard?: boolean;
resize_keyboard?: boolean;
selective?: boolean;
};
replyKeyboardRemove?: {
remove_keyboard?: boolean;
selective?: boolean;
};
replyMarkup?: | "none"
| "inlineKeyboard"
| "forceReply"
| "replyKeyboard"
| "replyKeyboardRemove";
resource?: "file"
| "message"
| "chat"
| "callback";
responseType?: "approval" | "freeText" | "customForm";
results?: string;
richFormat?: "html" | "markdown";
richMessageText?: string;
text?: string;
title?: string;
unauthorizedReplyText?: string;
userId?: string;
}
Properties§
readonly action?:
| "find_location"
| "record_audio"
| "record_video"
| "record_video_note"
| "typing"
| "upload_audio"
| "upload_document"
| "upload_photo"
| "upload_video"
| "upload_video_note"
readonly additional Fields?:
| { disable_notification?: boolean }
| {
cache_time?: number;
show_alert?: boolean;
text?: string;
url?: string;
}
| { mimeType?: string }
| {
appendAttribution?: boolean;
caption?: string;
disable_notification?: boolean;
disable_web_page_preview?: boolean;
duration?: number;
fileName?: string;
height?: number;
message_thread_id?: number;
parse_mode?: "HTML" | "Markdown" | "MarkdownV2";
performer?: string;
reply_to_message_id?: number;
thumb?: string;
title?: string;
width?: number;
}
| {
message_thread_id?: number;
parse_mode?: "HTML"
| "Markdown"
| "MarkdownV2";
}
| {
disable_notification?: boolean;
is_rtl?: boolean;
message_effect_id?: string;
message_thread_id?: number;
protect_content?: boolean;
skip_entity_detection?: boolean;
}
Default: {}
readonly approval Options?: { ... }
Default: {}
readonly approver Ids?: string
The user IDs allowed to approve or decline. Multiple can be defined separated by comma. If empty, anyone who can see the message can respond.
readonly binary Data?: boolean
Whether the data to upload should be taken from binary field
readonly binary Property Name?: string
Name of the binary property that contains the data to upload Default: "data"
readonly chat Approval?: boolean
Whether approvers respond with one tap on buttons inside the Telegram chat, instead of opening a link in the browser. Requires this n8n instance to be reachable over public HTTPS.
readonly chat Id?: string
Unique identifier for the target chat or username, To find your chat ID ask @get_id_bot
readonly define Form?: "json" | "fields"
Default: "fields"
readonly description?: string
New chat description, 0-255 characters
readonly download?: boolean
Whether to download the file Default: true
readonly draft Id?: number
Unique identifier of the message draft; must be non-zero. Updates streamed with the same draft ID are animated. Default: 1
readonly file?: string
Animation to send. Pass a file_id to send an animation that exists on the Telegram servers (recommended), an HTTP URL for Telegram to get an animation from the Internet.
readonly file Id?: string
The ID of the file
readonly force Reply?: { ... }
Default: {}
readonly form Fields?: { ... }
Default: {} Type options: {"multipleValues":true,"sortable":true,"fixedCollection":{"itemTitle":"={{ $collection.item.properties.find(p => p.name === "fieldType").options.find(o => o.value === $collection.item.value.fieldType).name }}"}}
readonly inline Keyboard?: { ... }
Adds an inline keyboard that appears right next to the message it belongs to Default: {} Type options: {"multipleValues":true}
readonly inline Message Id?: string
Unique identifier of the inline message to edit
readonly json Output?: string
Default: "[\n {\n "fieldLabel": "Name",\n "placeholder": "enter your name",\n "requiredField": true\n },\n {\n "fieldLabel": "Age",\n "fieldType": "number",\n "placeholder": "enter your age"\n },\n {\n "fieldLabel": "Email",\n "fieldType": "email",\n "requiredField": true\n },\n {\n "fieldLabel": "Textarea",\n "fieldType": "textarea"\n },\n {\n "fieldLabel": "Dropdown Options",\n "fieldType": "dropdown",\n "fieldOptions": {\n "values": [\n {\n "option": "option 1"\n },\n {\n "option": "option 2"\n }\n ]\n },\n "requiredField": true\n },\n {\n "fieldLabel": "Checkboxes",\n "fieldType": "checkbox",\n "fieldOptions": {\n "values": [\n {\n "option": "option 1"\n },\n {\n "option": "option 2"\n }\n ]\n }\n },\n {\n "fieldLabel": "Radio",\n "fieldType": "radio",\n "fieldOptions": {\n "values": [\n {\n "option": "option 1"\n },\n {\n "option": "option 2"\n }\n ]\n }\n },\n {\n "fieldLabel": "Email",\n "fieldType": "email",\n "placeholder": "me@mail.con"\n },\n {\n "fieldLabel": "File",\n "fieldType": "file",\n "multipleFiles": true,\n "acceptFileTypes": ".jpg, .png"\n },\n {\n "fieldLabel": "Number",\n "fieldType": "number"\n },\n {\n "fieldLabel": "Password",\n "fieldType": "password"\n }\n]\n" Type options: {"rows":5}
readonly latitude?: number
Location latitude Type options: {"numberPrecision":10,"minValue":-90,"maxValue":90}
readonly longitude?: number
Location longitude Type options: {"numberPrecision":10,"minValue":-180,"maxValue":180}
readonly media?: { ... }
The media to add Default: {} Type options: {"multipleValues":true}
readonly message?: string
Type options: {"rows":4}
readonly message Id?: string
Unique identifier of the message to delete
readonly message Type?: "message" | "inlineMessage"
The type of the message to edit Default: "message"
readonly operation?:
| "get"
| "sendMessage"
| "member"
| "sendAndWait"
| "deleteMessage"
| "leave"
| "administrators"
| "setDescription"
| "setTitle"
| "answerQuery"
| "answerInlineQuery"
| "editMessageText"
| "pinChatMessage"
| "sendAnimation"
| "sendAudio"
| "sendChatAction"
| "sendDocument"
| "sendLocation"
| "sendMediaGroup"
| "sendMessageDraft"
| "sendRichMessage"
| "sendRichMessageDraft"
| "sendPhoto"
| "sendSticker"
| "sendVideo"
| "unpinChatMessage"
Default: "get"
readonly options?:
| {
appendAttribution?: boolean;
limitWaitTime?: {
values: {
limitType?: | "afterTimeInterval"
| "atSpecifiedTime";
maxDateAndTime?: string;
resumeAmount?: number;
resumeUnit?: "minutes"
| "hours"
| "days";
};
};
}
| {
appendAttribution?: boolean;
limitWaitTime?: {
values: {
limitType?: | "afterTimeInterval"
| "atSpecifiedTime";
maxDateAndTime?: string;
resumeAmount?: number;
resumeUnit?: "minutes"
| "hours"
| "days";
};
};
messageButtonLabel?: string;
responseFormButtonLabel?: string;
responseFormCustomCss?: string;
responseFormDescription?: string;
responseFormTitle?: string;
}
Default: {}
readonly post Decision Behavior?: "showOutcome" | "removeButtons" | "keepMessage"
Default: "showOutcome"
readonly query Id?: string
Unique identifier for the query to be answered
readonly reply Keyboard?: { ... }
Adds a custom keyboard with reply options Default: {} Type options: {"multipleValues":true}
readonly reply Keyboard Options?: { ... }
Default: {}
readonly reply Keyboard Remove?: { ... }
Default: {}
readonly reply Markup?:
| "none"
| "inlineKeyboard"
| "forceReply"
| "replyKeyboard"
| "replyKeyboardRemove"
Additional interface options Default: "none"
readonly resource?: "file" | "message" | "chat" | "callback"
Default: "message"
readonly response Type?: "approval" | "freeText" | "customForm"
Default: "approval"
readonly results?: string
A JSON-serialized array of results for the inline query
readonly rich Format?: "html" | "markdown"
Which formatting syntax the rich message content uses Default: "html"
readonly rich Message Text?: string
Content of the rich message, written in the selected Markdown or HTML syntax. Supports headings, lists, tables, block quotes, media, collapsible blocks and more. Type options: {"rows":6}
readonly text?: string
Text of the message to be sent
readonly title?: string
New chat title, 1-255 characters
Popup shown (via Telegram alert) to users who tap a button but are not in the approver list Default: "You are not authorized to respond to this request."
readonly user Id?: string
Unique identifier of the target user
Type of action to broadcast. Choose one, depending on what the user is about to receive. The status is set for 5 seconds or less (when a message arrives from your bot). Default: "typing"