Use this method when you need to tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Returns True on success.

Example: The ImageBot needs some time to process a request and upload the image. Instead of sending a text message along the lines of 'Retrieving image, please wait…', the bot may use sendChatAction with action = upload_photo. The user will see a 'sending photo' status for the bot.

We only recommend using this method when a response from the bot will take a noticeable amount of time to arrive.


Name Type Description
chat_id Union[int, str] Unique identifier for the target chat or username of the target channel (in the format @channelusername)
action str Type of action to broadcast. Choose one, depending on what the user is about to receive: typing for text messages, upload_photo for photos, record_video or upload_video for videos, record_audio or upload_audio for audio files, upload_document for general files, find_location for location data, record_video_note or upload_video_note for video notes.


Type: bool

Description: Returns True on success.


As bot method

result: bool = await bot.send_chat_action(...)

Method as object


  • from aiogram.methods import SendChatAction
  • from aiogram.api.methods import SendChatAction
  • from aiogram.api.methods.send_chat_action import SendChatAction

In handlers with current bot

result: bool = await SendChatAction(...)

With specific bot

result: bool = await bot(SendChatAction(...))

As reply into Webhook in handler

return SendChatAction(...)