Opening Problem Statement
Meet Davide, a busy freelancer who juggles multiple client meetings and project deadlines every day. Despite using Google Calendar to organize his schedule, Davide often misses or forgets about important upcoming events because the default calendar notifications feel cold, impersonal, and are easy to overlook. This has led to wasted hours rescheduling meetings and some lost opportunities. Davide needed a smarter, more friendly way to get event reminders that felt like a helpful assistant rather than just a generic alert.
Missing timely reminders can cause chaos in anyone’s schedule, but it can especially impact people with packed calendars and a high volume of appointments. The problem: standard alerts don’t engage attention well, and repeated notifications become annoying or are ignored altogether.
What This Automation Does
This unique n8n workflow leverages Google Calendar, AI-powered language models, and Telegram messaging to revolutionize how you receive event reminders. When activated, here’s exactly what happens:
- 1 hour before an event starts, the workflow fetches upcoming calendar events scheduled within that next hour.
- It filters out events you’ve already been reminded about, avoiding duplicate messages.
- It uses a powerful OpenAI GPT-4 model acting as a virtual “Secretary Agent” to craft warm, conversational reminder messages based on event details.
- The message is sent securely via Telegram to your personal chat, simulating a friendly personal assistant checking in.
- The workflow makes your reminders human, clear, and inviting, improving your chance of prompt attention.
- This saves you time, reduces stress, and helps you stay reliably on schedule without manual checking.
Overall, it can eliminate wasted reschedule time, improve punctuality, and add a helpful conversational touch to automated reminders.
Prerequisites ⚙️
- Google Calendar account – to fetch your scheduled events.
- Telegram account and Telegram Bot API token – to send your reminders as messages.
- OpenAI API account – to power the AI”Secretary Agent” node creating natural language reminders.
- n8n account – to create and run the workflow.
- Optional: self-hosting your n8n instance (for example, with Hostinger) for full control.
Step-by-Step Guide to Building This Workflow
Step 1: Setting Up the Google Calendar Node
In n8n, add a Google Calendar node and configure it as follows:
- Select your Google account credentials.
- Set the operation to “getAll” to fetch events.
- Set the timeMin parameter to
{{$now.plus({ hour: 1 })}}to start checking events one hour from now. - Set the timeMax parameter to
{{$now.plus({ hour: 1, minute: 1 })}}to limit the time window to events within that minute after one hour. - Limit results to 5 events for manageable processing.
Once configured, when this node runs, you should see a list of upcoming events for the next hour. A common mistake is not adjusting the timeMin and timeMax properly, which could lead to either no events or too many irrelevant events.
Step 2: Avoiding Duplicate Reminders with Remove Duplicates Node
Add a Remove Duplicates node connected to the Google Calendar node.
- Set the operation to “removeItemsSeenInPreviousExecutions”.
- Use event ID from Google Calendar as the unique field to check duplicates (
{{$json.id}}).
This keeps your workflow from sending multiple reminders for the same event. You should see only new events passing through. A common error here is forgetting to use the event ID or wrong referencing causing duplicate reminders.
Step 3: Creating a Virtual Secretary with LangChain Agent Node
Add the LangChain “Agent” node named “Secretary Agent” to transform raw event data into a conversational message.
- Set the prompt text to include detailed event info (summary, description, location, start/end time, creator).
- Use the provided system message that defines the assistant’s friendly tone, professionalism, and communication style.
- This node uses the OpenAI GPT-4o-mini model.
After configuring, the output will be a natural, warm reminder message ready to send.
Common mistake: Misconfiguring prompt template or not linking the input data correctly.
Step 4: Setting Up Telegram Node to Send Messages
Add the Telegram node connected downstream of the Secretary Agent node:
- Enter your Telegram Bot API token and chat ID where you want to receive reminders.
- Set message text to
{{$json.output}}to send the AI-generated text. - Disable the “append attribution” option to keep messages clean.
When the workflow runs, you should receive a message in Telegram as if a personal secretary sent it. A common mistake is not replacing the placeholder chat ID with your actual Telegram chat ID.
Step 5: (Optional) Setting the Workflow Trigger
This workflow uses a Schedule Trigger node that runs every minute but is disabled by default.
- You can enable it to have the workflow check for upcoming events every minute.
- Alternatively, run the workflow on-demand during testing.
Common mistake: Leaving the trigger disabled and wondering why the workflow doesn’t run automatically.
Customizations ✏️
- Change reminder timing: Adjust
timeMinandtimeMaxin “Get upcoming event” node to get reminders 30 minutes or 2 hours before the event. - Switch messaging platform: Replace Telegram node with another messaging node like Slack or email if preferred.
- Add event filtering: Use an IF node before “Remove Duplicates” to filter events based on keywords in event summary or location.
Troubleshooting 🔧
Problem: No reminders sent
Cause: The Schedule Trigger node is disabled or the Google Calendar node parameters don’t find any events.
Solution: Enable the Schedule Trigger, verify calendar credentials, and confirm timeMin and timeMax values match upcoming event times.
Problem: Duplicate reminder messages
Cause: Remove Duplicates node not referencing event IDs properly or reset data lost.
Solution: Check that dedupeValue references {{$json.id}}, and that the node’s execution data retention is enabled.
Pre-Production Checklist ✅
- Test the Google Calendar node fetches actual upcoming events.
- Send test reminder messages to your own Telegram to confirm messaging setup.
- Confirm the Remove Duplicates node filters repeats correctly by running consecutive tests.
- Validate that the Secretary Agent produces human-friendly messages from event data.
Deployment Guide
To deploy, activate the Schedule Trigger node and turn on your workflow in n8n. Monitor executions through the n8n UI log to ensure reminders are sent as expected. Optionally, set up error notifications using n8n’s built-in alerting or external monitoring.
FAQs
- Can I use a different AI model for the Secretary Agent?
Yes, you can replace the OpenAI GPT-4o-mini in the “OpenAI Chat Model” node with other models supported by LangChain. - Will this workflow consume my OpenAI API credits?
Yes, each reminder message generation will use API credits depending on the model size and frequency. - Is my calendar data secure?
Yes, all credentials are securely stored in n8n and data flows within your configured environment. - Can the workflow scale for large calendars?
Yes, but you may need to adjust limits and possibly split workflows if event volume is very high.
Conclusion
By following this guide, you have built a smart, AI-enhanced system that sends you warm, personal reminders for your Google Calendar events via Telegram exactly an hour before they start. This automation saves you precious time otherwise spent checking calendars and chasing missed appointments. Thanks to the virtual Secretary Agent, your reminders sound friendly and engaging, making scheduling less stressful.
With this foundation, you could next automate follow-up messages post-events, add reminders for task deadlines, or integrate with voice assistants for spoken alerts. Happy automating!