Automating Daily Reports to Telegram with n8n or Make
Automating daily reports to Telegram keeps your team informed without manual intervention. This guide provides step-by-step instructions to set up an automated reporting pipeline using either n8n or Make (formerly Integromat).
Prerequisites: Create a Telegram Bot
Before configuring your automation platform, you must set up a Telegram bot to send the messages:
- Search for @BotFather on Telegram and send the command
/newbot. - Follow the prompts to name your bot and receive your HTTP API Token.
- Create a Telegram group or channel, add your bot as an administrator, and send a test message.
- Retrieve your Chat ID. You can get this by forwarding a message from the group to
@raw_data_botor using the Telegram API:https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates.
Option 1: Setting Up the Workflow in n8n
n8n is ideal for both self-hosted and cloud-based automation. Follow these steps to build the workflow:
Step 1: Add the Schedule Trigger
Add a Schedule Trigger node to define when the report runs. Set the interval to Daily and select your preferred execution time (e.g., 09:00 AM).
Step 2: Fetch Your Data
Add an HTTP Request node, PostgreSQL node, or any database/API node containing your reporting data. Ensure this node outputs JSON data containing your key metrics.
Step 3: Add the Telegram Node
Add a Telegram node to the canvas and connect it to your data node:
- Resource: Message
- Operation: Send
- Credentials: Create new credentials using your Telegram Bot Token.
- Chat ID: Enter your retrieved Chat ID.
- Text: Use n8n expressions to construct the message dynamically.
Daily Performance Report
Date: {{ $today.toFormat('yyyy-MM-dd') }}
Total Signups: {{ $json.signups }}
Revenue: ${{ $json.revenue }}
Active Users: {{ $json.active_users }}
Option 2: Setting Up the Scenario in Make
Make offers a visual drag-and-drop interface to build the same automation.
Step 1: Create a New Scenario & Schedule
Create a new scenario. Click the clock icon on the initial trigger module to configure the schedule. Set it to run Every day at your specified time.
Step 2: Add Your Data Source Module
Add the module that contains your report data (e.g., Google Sheets "Get a Cell", Stripe "List Charges", or an HTTP "Make a request" module) to fetch your daily metrics.
Step 3: Add the Telegram Bot Module
Add the Telegram Bot module and select the Send a Text Message or a Reply action.
- Click Add to create a connection and paste your Bot Token.
- In the Chat ID field, enter your target Chat ID.
- In the Text field, map the output variables from your data source module.
- Set Parse Mode to
HTMLorMarkdownV2to enable text formatting.
Formatting Your Daily Report (HTML Payload)
To make your Telegram reports highly readable, use HTML formatting. Ensure you select HTML as the Parse Mode in either n8n or Make:
<b>๐ DAILY STATUS REPORT</b>
-----------------------------
<b>New Users:</b> <code>142</code>
<b>Conversion Rate:</b> 3.4%
<b>Status:</b> โ
All systems operational
Need this done fast? order this automation on Kwork.
I take on freelance fixes and builds in this area.