DIY Daily Planning Assistant: Email + Calendar Summaries

A step-by-step guide to building your own morning and afternoon briefing system. Get automated summaries of overnight emails and today's calendar delivered to your phoneβ€”for free, using only no-code tools. This simple example let's you start easy in the AI world. Hopefully this example build will give you a straight forward and actionable idea you can build and use immediately in your business. We are always in The Lab working on ideas to help real estate agents and lenders.

What You'll Build

Every day at 7am and 4pm, you'll receive a Telegram message with:

  • πŸ“… Count and list of today's appointments
  • πŸ“§ Number of new emails since last check
  • ⚠️ Emails flagged as urgent (inspection, contract, etc.)

What You Need (All Free)

  • n8n (self-hosted on Railway, ~$5/mo or free tier)
  • Google Gmail API (free)
  • Google Calendar API (free)
  • Telegram Bot (free)

Step-by-Step Build Instructions

Step 1: Deploy n8n (15 minutes)

  1. Create account at railway.app
  2. Click "New Project" β†’ "Deploy n8n"
  3. Wait 2 minutes for deployment
  4. Click the URL Railway gives you
  5. Create your n8n admin account

Cost: ~$5/month after trial (or use Railway's free tier)

Step 2: Create Telegram Bot (5 minutes)

  1. Open Telegram, search for @BotFather
  2. Send: /newbot
  3. Follow prompts: name your bot (e.g., "My Daily Brief")
  4. Save the API token BotFather gives you
  5. Send a message to your new bot to start it
  6. Find your chat ID: Visit https://api.telegram.org/bot[YOUR_TOKEN]/getUpdates

Save these: Bot Token + Chat ID

Step 3: Connect Gmail & Calendar (10 minutes)

  1. In n8n, click "Credentials" β†’ "New"
  2. Add "Google OAuth2 API" credential
  3. Go to Google Cloud Console
  4. Create project β†’ Enable Gmail API + Calendar API
  5. Create OAuth credentials (Web application)
  6. Add authorized redirect: https://[YOUR-N8N-URL]/rest/oauth2-credential/callback
  7. Copy Client ID and Secret to n8n
  8. Click "Connect" in n8n and authorize with your Google account

Step 4: Build the Workflow (20 minutes)

In n8n, create a new workflow with these nodes:

Node 1: Schedule Trigger (7am daily)
  • Type: Schedule Trigger
  • Mode: Every Day
  • Time: 07:00
Node 2: Get Calendar Events
  • Type: Google Calendar β†’ Get Many Events
  • Calendar: Your primary calendar
  • Start Time: {{$now}}
  • End Time: {{$now.plus(1, 'day')}}
Node 3: Get Emails
  • Type: Gmail β†’ Get Many Messages
  • Search Query: newer_than:12h
  • Max Results: 50
Node 4: Format Message
  • Type: Code (JavaScript)
  • Paste this code:
// Count events and emails
const events = $input.all()[0].json.length;
const emails = $input.all()[1].json.length;

// Check for urgent keywords
const urgentEmails = $input.all()[1].json.filter(msg => {
  const subject = msg.subject || '';
  return subject.toLowerCase().includes('urgent') || 
         subject.toLowerCase().includes('inspection') ||
         subject.toLowerCase().includes('contract') ||
         subject.toLowerCase().includes('asap');
});

const urgentCount = urgentEmails.length;

// Get today's events list
const eventList = $input.all()[0].json.slice(0, 5).map(e => {
  const time = new Date(e.start).toLocaleTimeString('en-US', {
    hour: 'numeric', minute: '2-digit'
  });
  return `${time}: ${e.summary}`;
}).join('\n');

return [{
  json: {
    text: `πŸ“… Good Morning!\n\nToday's Appointments: ${events}\n${eventList || 'No events today'}\n\nπŸ“§ Overnight Emails: ${emails}\n⚠️ Urgent: ${urgentCount}`
  }
}];
Node 5: Send Telegram Message
  • Type: Telegram β†’ Send Message
  • Credential: Your Telegram bot
  • Chat ID: Your chat ID
  • Text: {{$json.text}}

Step 5: Test & Activate (5 minutes)

  1. Click "Test Workflow" - you should get a Telegram message immediately
  2. If it works, click "Save" then "Activate"
  3. Duplicate this workflow
  4. Change trigger to 16:00 (4pm)
  5. Change email query to newer_than:9h (since 7am)
  6. Save and activate second workflow

Expected Results

Each morning and afternoon, you'll receive a message like:

πŸ“… Good Morning!

Today's Appointments: 3
10:00 AM: Listing Walkthrough
2:00 PM: Buyer Consultation
4:30 PM: Closing Docs

πŸ“§ Overnight Emails: 4
⚠️ Urgent: 1
Build It Yourself
n8n Google Setup Docs β†’