Skip to main content

Telegram

Telegram is a cloud-based messaging platform, and the Telegram Bot API lets developers build bots that read messages, send content, and manage conversations inside individual chats, groups, channels, and forum topics. Bots authenticate with a single token issued by Telegram's BotFather and communicate over a plain HTTPS interface, with no OAuth flow or app registration process required. The API supports both pulling new activity from a bot's update queue and pushing messages, media, polls, and moderation actions back into a chat, making it a common building block for support automation, alerting, and AI agent delivery channels.

Telegram icon

Power end-to-end data operations for your Telegram API with Nexla. Our bi-directional Telegram connector is purpose-built for Telegram, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Telegram or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Telegram workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Telegram credential in Nexla, you need a Bot Token issued by Telegram's BotFather. Telegram bots authenticate by embedding this token directly in the request URL (https://api.telegram.org/bot<token>/METHOD_NAME) rather than through an Authorization header, and there is no separate OAuth application to register.

To obtain your Bot Token:

  1. Open Telegram and start a chat with @BotFather, Telegram's official bot for creating and managing other bots.

  2. Send the /newbot command and follow the prompts to choose a display name and a unique username for your bot (the username must end in bot, for example my_nexla_bot).

  3. BotFather replies with a message confirming the bot was created, along with its authentication token — a string formatted like 123456789:AAHfisKZ8WmR2zSjiQ7_v4TMAKdiHm9T0.

  4. Copy the token and store it securely. Anyone with the token can send messages and perform actions as your bot, so treat it like a password.

If you plan to use a source endpoint that reads messages from groups (such as Get Updates or Get Chat Messages), note that Telegram enables privacy mode by default for every new bot. In privacy mode, getUpdates only receives commands, @mentions, and replies to the bot in group chats — not every message. To receive all group messages, message @BotFather, send /setprivacy, select your bot, and choose Disable, then remove and re-add the bot to the group for the change to take effect.

To send messages to a group, supergroup, or channel, the bot must first be added as a member of that chat. Moderation actions such as deleting messages, managing chat administrators, or approving join requests additionally require the bot to be promoted to admin with the relevant permission enabled. If your Bot Token is compromised, message @BotFather, send /mybots, select the affected bot, then choose API Token > Revoke current token to invalidate it immediately and issue a new one. For the complete list of methods and parameters, see the Telegram Bot API documentation.

Authenticate

Credentials required

Authenticate using a Telegram Bot Token from @BotFather. The token is embedded in all API request URLs — no Authorization header is used.

FieldRequiredSecretDescription
Bot TokenYesYesUnique authentication token for your Telegram bot. Obtain via @BotFather using /newbot. Format: {bot_id}:{secret} e.g. 7123456789:AAHfisKZ8WmR2zSjiQ7_v4TMAKdiHm9T0

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your bot's token in the Bot Token field. This is the token you obtained from @BotFather in Prerequisites, formatted as {bot_id}:{secret}. Telegram embeds this token directly in the URL of every API request rather than sending it as an Authorization header.

    If your Bot Token is compromised, message @BotFather, send /mybots, select the bot, then choose API Token > Revoke current token to invalidate it immediately and issue a new one. Update the credential in Nexla with the new token afterward.

    For more on bot creation, authentication, and available methods, see the Telegram Bot API documentation.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Telegram connector tile, then select the credential that will be used to connect to your Telegram bot, and click Next; or, create a new Telegram credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Telegram Bot API endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Get Updates

Pull all incoming bot updates via POST body. Supports filtering by update type via the Allowed Update Type parameter.

  • Set the Limit field (optional) — Number of updates to fetch per request. Accepted values: 1–100. Defaults to 100.
  • Set the Allowed Update Types field (optional) — Update type to filter the queue. Leave empty to receive all types. Note: only applies to future queue entries — drain existing queue first by setting start.id.from to the latest update_id before switching filters. Options: message, callback_query, poll_answer, inline_query, channel_post, edited_message, my_chat_member.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Get Chat Messages

Pull only message-type updates from the bot's update queue. Filters out callback queries, polls, inline queries, and other noise — clean message feed for downstream AI/NLP pipelines.

  • Set the Limit field (optional) — Number of message updates to fetch per request. Accepted values: 1–100. Defaults to 100.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Get Chat Info

Retrieve full metadata for a chat, group, supergroup, or channel. Returns name, type, description, invite link, member count, slow mode, and admin permissions.

  • Set the Chat ID field — Unique identifier of the target chat. Positive integers for DMs, negative for groups/supergroups (e.g. -1001234567890), or @username for public channels.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Get Chat Administrators

Fetch the full list of administrators in a group or supergroup. Returns user profile, custom title, and per-admin permission flags. Useful for access control and audit pipelines.

  • Set the Chat ID field — Unique identifier of the group or supergroup. Use a negative integer (e.g. -1001234567890) or @channel_username.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Get Bot Info

Returns the bot's own identity — id, username, first_name, and capability flags. Use as a connectivity check or to populate bot metadata in downstream systems.

  • No additional configuration is required beyond selecting this endpoint template.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Get Chat Member

Get membership info for a specific user in a chat. Returns status (owner/admin/member/restricted/left/banned) and permission flags.

  • No additional configuration is required beyond selecting this endpoint template.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Get Chat Member Count

Returns the number of members in a chat. Bots can only count members in groups, supergroups, and channels they belong to.

  • Set the Chat ID field — Unique identifier of the target chat. Use negative integer for groups/supergroups or @username for public channels.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Get File

Fetch file metadata and a temporary download path for a file by file_id. Construct the download URL as: https://api.telegram.org/file/bot{token}/{file_path}. Max 20 MB.

  • Set the File ID field — Unique identifier for a file received by the bot (from a message's document, photo, audio, etc. objects). Max downloadable size 20 MB.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Get Webhook Info

Returns current webhook status. Returns a WebhookInfo object; url field is empty when using getUpdates instead of webhook.

  • No additional configuration is required beyond selecting this endpoint template.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Get User Profile Photos

Retrieve a user's profile photos. Returns a UserProfilePhotos object with total_count and a photos array of arrays (photo size variants).

  • Set the User ID field — Unique identifier of the target user. Must be a numeric Telegram user ID.
  • Set the Limit field (optional) — Maximum number of photos to return. Values between 1–100. Defaults to 100.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Telegram data sources can also be manually configured to ingest data from any valid Telegram Bot API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Telegram data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Telegram destination, and select the Send to Destination option from the menu. Select the Telegram connector from the list of available destination connectors, then select the credential that will be used to connect to your Telegram bot, and click Next; or, create a new Telegram credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Telegram Bot API endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Send Message

Send a text message. Record must supply chat_id and text. Primary AI agent delivery endpoint.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Forward Message

Forward a message from one chat to another. Record must contain chat_id (destination), from_chat_id (source), and message_id. Core endpoint for AI triage and message routing workflows.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Edit Message Text

Edit the text of a previously sent bot message. Record must contain chat_id, message_id, and text. Use for streaming AI responses, live status updates, and score/metric dashboards in chat.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Delete Message

Delete a message by chat_id and message_id. Bot must have delete_messages admin permission in groups/channels. Use for moderation pipelines and expiring bot-sent notifications.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Poll

Send a native Telegram poll. Record must contain chat_id, question, and options (JSON array of strings). Supports quiz mode, anonymous voting, multiple answers, and scheduled close time.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Copy Message

Copy a message without forwarding attribution. Record must contain chat_id, from_chat_id, and message_id. Returns MessageId of the copy.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Edit Message Caption

Edit the caption of a media message. Record must contain chat_id, message_id, and caption. Supports parse_mode and reply_markup.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Edit Message Reply Markup

Replace the inline keyboard on a previously sent bot message. Record must contain chat_id, message_id, and reply_markup.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Photo

Send a photo by file_id, URL, or multipart upload. Record must supply chat_id and photo. Optional caption up to 1024 chars.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Document

Send a file by file_id or URL. Record must supply chat_id and document. Optional caption up to 1024 chars. Max 50 MB.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Video

Send a video by file_id or URL. Record must supply chat_id and video. Optional caption, duration, width, and height. Max 50 MB.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Audio

Send an audio file (MP3/M4A) by file_id or URL. Record must supply chat_id and audio. Telegram displays it in the music player. Max 50 MB.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Media Group

Send a group of 2–10 photos/videos as an album. Record must supply chat_id and media (JSON array of InputMediaPhoto/Video objects).

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Answer Callback Query

Respond to an inline keyboard button press. Record must contain callback_query_id. Optional text, show_alert, url, and cache_time.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Sticker

Send a .WEBP, .TGS, or .WEBM sticker by file_id or URL. Record must supply chat_id and sticker.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Venue

Send a venue location card with title and address. Record must contain chat_id, latitude, longitude, title, and address.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Set Webhook

Register an HTTPS URL to receive bot updates via webhook. Record must supply url. Mutually exclusive with getUpdates — call deleteWebhook first to switch.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Delete Webhook

Remove webhook integration to switch back to getUpdates polling. Record may include drop_pending_updates: true to clear the pending update queue.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Animation

Send a GIF or H.264/MPEG-4 AVC video without sound. Record must supply chat_id and animation (file_id or URL). Optional caption, duration, width, height.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Voice

Send an OGG audio file as a voice message. Record must supply chat_id and voice (file_id or URL). Optional caption and duration.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Location

Send a map point by coordinates. Record must supply chat_id, latitude, and longitude. Optional live_period (60–86400 s) for live location sharing.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Contact

Send a phone contact card. Record must supply chat_id, phone_number, and first_name. Optional last_name and vcard.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Send Chat Action

Show a typing/uploading status indicator in a chat. Record must supply chat_id and action (e.g. typing, upload_photo, upload_document, record_voice).

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Edit Message Media

Replace the media content of a bot message. Record must supply chat_id, message_id, and media (InputMedia JSON object with type and media fields).

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Approve Chat Join Request

Approve a pending join request for a chat with join-by-request enabled. Record must contain chat_id and user_id. Bot needs can_invite_users admin right.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Decline Chat Join Request

Decline a pending join request for a chat with join-by-request enabled. Record must contain chat_id and user_id. Bot needs can_invite_users admin right.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Set Chat Administrator Custom Title

Set a custom title (badge) for an admin promoted by the bot. Record must contain chat_id, user_id, and custom_title (0–16 chars, UTF-8).

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Create Chat Invite Link

Generate a new secondary invite link for a chat. Record must contain chat_id. Optional name, expire_date, member_limit, and creates_join_request.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Set Chat Description

Change the description of a group, supergroup, or channel. Record must contain chat_id. Pass empty description to remove it. Bot must be an admin.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Create Forum Topic

Create a new topic in a forum supergroup. Record must contain chat_id and name (1–128 chars). Optional icon_color and icon_custom_emoji_id.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Edit Forum Topic

Edit the name or icon of a forum topic. Record must contain chat_id and message_thread_id. Optional name and icon_custom_emoji_id.

  • This endpoint sends each record from your Nexset as a separate JSON POST request to the Telegram Bot API. Map the fields named in the description above from your Nexset record.

For the full list of parameters and response fields, see the Telegram Bot API Documentation.

Manual configuration

Telegram destinations can also be manually configured to send data to any valid Telegram Bot API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Telegram Bot API endpoints expect JSON in the request body for every method listed above. For methods that modify an existing message (such as editing text, captions, or reply markup, or deleting a message), include the chat_id and message_id of the target message in the request body — Telegram does not use RESTful resource IDs in the URL path for these methods.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Telegram endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Telegram endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.