How n8n Makes AI Automation Easy
How n8n Makes AI Automation Easy
December 23, 2025

Building an AI Agent for a Daily Meeting Reminder with n8n

In this article, we will walk through how to design and implement an AI-powered Daily Meeting Reminder Agent using n8n. The workflow automatically runs every morning, […]

In this article, we will walk through how to design and implement an AI-powered Daily Meeting Reminder Agent using n8n. The workflow automatically runs every morning, fetches meetings from Google Calendar, processes time zones correctly, enriches the output using OpenAI, and finally sends a clean, user-friendly reminder message via Telegram.

This guide is written with SEO best practices in mind and is suitable for developers, automation engineers, and anyone interested in building AI agents with no-code/low-code tools.

⬇️ You can download the complete n8n workflow from the button at the bottom of this page.

Architecture Overview

The AI agent consists of the following components:

  1. Schedule Trigger (n8n) – Runs the workflow daily at 6:00 AM
  2. Google Calendar Node – Retrieves today’s meetings
  3. Set Node – Normalizes and prepares event data
  4. Code Node (JavaScript) – Handles time zone conversion and message formatting
  5. OpenAI Node – Improves message tone and clarity
  6. Telegram Node – Sends the final reminder message

This modular design makes the workflow scalable and easy to maintain.

 AI Agent for a Daily Meeting Reminder workflow

Step 1: Scheduling the Workflow

We begin by using the Schedule Trigger node in n8n.

Configuration:

  • Mode: Every Day
  • Time: 06:00 AM
  • Timezone: Your local timezone

This ensures the agent runs automatically every morning without manual intervention.

Step 2: Fetching Meetings from Google Calendar

Next, we use the Google Calendar node to retrieve events for the current day.

Key settings:

  • Operation: Get Many Events
  • Time Min: Start of the day
  • Time Max: End of the day
  • Calendar: Primary (or a specific calendar)

This node provides structured event data including:

  • Event name
  • Start date and time
  • Time zone
  • Guest list

Step 3: Data Normalization with the Set Node

To make downstream processing easier, we use a Set node to standardize the fields:

Example fields:

  • Name → Event summary
  • Time.dateTime → Event start time
  • Time.timeZone → Event time zone
  • Guests → Attendee emails

This step ensures clean and predictable input for the code logic.

Step 4: Time Zone Conversion and Message Formatting

Handling time zones correctly is critical for calendar-based automation. Below is the JavaScript code used in the Code node:

let message = "*Your meetings today are:* \n";

for (item of items) {
  const time = new Date(item.json.Time.dateTime);
  const formattedTime = new Intl.DateTimeFormat({
    hour: 'numeric',
    minute: 'numeric',
    timeZone: item.json.Time.timeZone
  }).format(time);

  message += `* ${item.json.Name} | ${formattedTime}\n`;

  if (item.json.Guests && item.json.Guests.length > 0) {
    message += ' - ';
    item.json.Guests.forEach((guest, index) => {
      message += `${guest.email}${index < item.json.Guests.length - 1 ? ', ' : ''}`;
    });
    message += '\n';
  } else {
    message += ' ;- No guests\n';
  }
}

return [{ json: { message } }];

Why This Matters

  • Converts meeting times accurately based on each event’s timezone
  • Formats output for readability
  • Produces a Telegram-ready Markdown message

Step 5: Enhancing the Message with OpenAI

After generating the raw message, we pass it to an OpenAI node to enhance clarity and tone.

Typical prompt example:

“Rewrite the following meeting reminder in a friendly, professional tone suitable for a daily Telegram notification.”

This transforms the reminder into a more human-like, AI-assisted notification — a key characteristic of a true AI Agent.

Prompt:

“Time range: from the start of today to the end of today (America/New_York).
Read from all provided calendars.
Do not merge duplicate or overlapping events; only sort them.
Sort events by start time, with earlier events first.
If there are no events, output exactly: No meetings are scheduled for today.
The output must be clean English text only, with no code blocks and no problematic symbols.
If any data is missing, such as time zone or attendees, use a safe placeholder value and continue without stopping.
Write the output in a clean format, with a blank line between each event.”

use prompt for Ai Agent

Step 6: Sending the Reminder via Telegram

Finally, we use the Telegram Bot node to deliver the message.

Configuration:

  • Chat ID: Target user or group
  • Message: Output from OpenAI or Code node
  • Parse Mode: Markdown

The result is a clean, well-formatted daily meeting summary delivered directly to Telegram.

Benefits of This AI Agent

  • ✅ Fully automated daily execution
  • 🌍 Accurate time zone handling
  • 🤖 AI-enhanced messaging
  • 🔗 Seamless integration with Google Calendar
  • 📩 Instant delivery via Telegram

This workflow demonstrates how n8n can be used as a powerful AI agent orchestration platform.

Conclusion

By combining n8n, Google Calendar, JavaScript, OpenAI, and Telegram, we can build a robust and intelligent Daily Meeting Reminder Agent. This approach goes beyond simple automation and enters the realm of AI agents — systems that not only execute tasks but also understand, format, and communicate information effectively.

If you are looking to build practical AI agents without heavy backend development, this architecture is an excellent starting point.

Leave a Reply

Your email address will not be published. Required fields are marked *