Back to Templates

Service Scheduling & Route Planner for Deliveries with Notion, Telegram and Maps

Created by

Created by: Shelly-Ann Davy || SheCodesFlow

Shelly-Ann Davy

Last update

Last update 22 days ago

Categories

Share


This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

🌸 Graceful Deliveries — Service Scheduling & Route Planner (Notion + Telegram)
What this template does

Turn new bookings into a graceful, automated delivery plan—with geocoded addresses, a one-tap Google Maps route, owner alerts on Telegram, and sweet pre-arrival updates to your clients (email/SMS). Optional Notion/Sheets logging gives you a beautiful “Delivery Day Planner” you can filter by day or status.

Perfect for: florists, mobile dog groomers, massage therapists, cleaners, and any home-visit service that loves systems with a feminine touch. ✨

💗 Warm: on-brand, human copy clients adore

🧭 Clear logistics: route links, timing, and notes—without chaos

🧰 No-code friendly: plug-and-play nodes, optional storage

🔐 Safe: no API keys in JSON; credentials live in n8n

Requirements

n8n account (self-hosted or cloud)

Telegram Bot (for owner alerts)

Email (Gmail OAuth2 or SMTP) for client messages

(Optional) Notion or Google Sheets for storing bookings

Geocoding: OpenStreetMap Nominatim (no API key required)

Setup (5–10 minutes)

Import the JSON into n8n.

Open Webhook (Bookings) → copy its Test URL (then Production URL when ready).

In your booking tool (Calendly, Tally/Typeform/Airtable, Google Forms via Apps Script), POST bookings to the webhook with the fields below.

Add Telegram credential to “Telegram → Owner Alert.”

Add Email credential to “Email → Client (Pre-arrival).”

(Optional) Connect Notion or Google Sheets and add a “Create Page / Append Row” step.

Sample Payload (copy for testing)
{
"name": "Sarah Bloom",
"email": "[email protected]",
"phone": "+1 555-1234",
"address": "123 Maple St, Austin, TX 78701",
"datetime": "2025-09-01T10:30:00-05:00",
"service": "Mobile Grooming – Full Bath",
"notes": "Max is shy; prefers lavender shampoo",
"pet_name": "Max",
"pet_photo_url": "https://example.com/max.jpg"
}

Fallbacks supported: client_name, full_name, appointment, date + time, booking_type, special_notes, street/line1 + city + state + zip.

How it works (flow)

Webhook (Bookings): receives the booking payload.

Parse Booking (Function): normalizes fields, derives ISO datetime if possible.

Geocode (HTTP → OSM Nominatim): looks up lat/lng (no API key).

Format Geocode (Function): extracts coordinates.

Merge Data: combines parsed booking + coordinates.

Build Summary & Links (Function):

Creates a Google Maps route link

Calculates pre-arrival time = 1 hour before datetime

Composes the owner alert text

Telegram → Owner Alert: sends “🚗 Route ready!” with map link.

Wait until 1h before: schedules pre-arrival message.

Email → Client (Pre-arrival): warm, on-brand message with ETA + route link.

Respond to Webhook: returns status + route to your booking tool.

Optional: Notion / Google Sheets schema

Notion DB: Delivery Day Planner

Date (Date), Client (Title), Email (Email), Phone (Phone), Address (Rich Text),
Service (Select), Notes (Rich Text), Lat (Number), Lng (Number), Status (Select: Planned / On the way / Done)

Google Sheets columns:
DateTime, Client, Email, Phone, Address, Service, Notes, Lat, Lng, Status

Customize (ideas)

✉️ Swap Email for Twilio SMS (or add both).

🗂️ Log every booking to Notion/Sheets for day and route views.

🧾 Generate a Driver PDF (Google Docs API → export PDF).

🧮 Multi-stop routes: add a Function node (nearest-neighbor) to sort stops.

🎨 Keep copy on-brand (Playfair Display + Lato; Blush #F7D6DC, Gold #F5E1A4, Taupe #D8CFC4, Slate #4A4A4A).

Testing

In Webhook node, click Test and POST the sample JSON.

Confirm Telegram alert arrives with the route link.

Set a near-future datetime to quickly test the Wait → Email path.

If datetime missing/invalid, the pre-arrival node sends immediately (intended fallback).

Troubleshooting & Rate Limits

No Telegram message? Start a chat with your bot first; bots can’t initiate. Check you used the correct chat ID.

Email didn’t send? Ensure credential is attached to the Email node and the “to” address is valid.

Geocode failed? Try a more complete address (street, city, state, ZIP). OSM is free but rate-limited—avoid rapid bulk tests.

Timezone drift? datetime should include timezone if possible (e.g., 2025-09-01T10:30:00-05:00).

Keywords (SEO)

service scheduling, delivery route planner, booking automation, n8n workflow, Notion CRM, mobile business, florist delivery, pet grooming, client reminders, Telegram alerts, pre-arrival updates, geocoding, Google Maps link

Made with love by The Workflow Muse 💖

Elegant automation for those who run heart-led businesses.