Skip to content
Notis

Make Telegram poll results easier to read

A tap can turn accumulated responses into a chart you can understand at a glance.

Trigger

Callback Query Received

Triggered when a user taps an inline keyboard button attached to one of your bot's messages.

Action

Execute Code

Execute python code in a sandbox and return any result, stdout, stderr, and error. use /home/user folder to write/read files. try to not use plt.show() as the code is executed remotely. use files for image/chart output instead.

Why this helps

Poll responses can be hard to compare when the outcome remains scattered across messages or raw counts.

  • Produces a visual summary from collected responses.
  • Makes relative support easier to compare.
  • Creates an output file that can be retrieved from the sandbox.

Setup

Build it in a few focused steps.

  • 1Connect Telegram and Codeinterpreter to Notis once in the portal.
  • 2Create an automation in the portal or ask Notis to set it up conversationally.
  • 3Prompt Notis to use the callback tap as a request to analyze available poll response data with Python and save a labeled chart file.
  • 4Choose Telegram Callback Query Received as the trigger and a report channel.
  • 5Tap the inline button using one sample poll and review the chart.

Questions about this workflow

Does a callback provide the entire poll history?

The prompt must describe where response data is available to the workflow; a button tap alone is only the trigger event.

Can the chart be retrieved?

Yes. The Get File action can return a file stored in the Codeinterpreter sandbox.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Telegram to Codeinterpreter. A trigger fires from one place; an action lands in another.

Telegram triggers

Codeinterpreter actions

Recurring trigger

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

TriggerScheduled

Create Sandbox

Create a sandbox to execute python code in a jupyter notebook cell. this is useful for agents to communicate, execute code, see output, read files, write files, etc. it's like you own personal computer, but in the cloud. use /home/user folder to write/read files.

ActionInstant

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

TriggerInstant

Execute Code

Execute python code in a sandbox and return any result, stdout, stderr, and error. use /home/user folder to write/read files. try to not use plt.show() as the code is executed remotely. use files for image/chart output instead.

ActionInstant

New Message Received

Triggered when your bot receives a new message in a private chat, group, or supergroup. To receive every message in a group, Privacy Mode must be disabled for the bot in BotFather.

TriggerInstant

Get File

Get a file from the sandbox and returns the file. the files should be read from /home/user folder.

ActionInstant

New Channel Post

Triggered when a new post is published to a channel where your bot is an administrator.

TriggerInstant

Run Terminal Command

Run a command in the terminal and returns the stdout, stderr, and error code. use /home/user folder to write/read files.

ActionInstant

Callback Query Received

Triggered when a user taps an inline keyboard button attached to one of your bot's messages.

TriggerInstant

Upload File

Upload a file to the sandbox environment. the files should be uploaded to the /home/user folder.

ActionInstant

Message Edited

Triggered when a message in a chat your bot can see is edited by its sender.

TriggerInstant

New Chat Member

Triggered when a new member joins a group or supergroup the bot belongs to, including when the bot itself is added.

TriggerInstant

Connect any two apps with Notis in the middle.

Telegram and Codeinterpreter, or any other combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Codeinterpreter.