n8n

How to Automate Gmail Calendar Event Delivery?

Stop typing term dates into your calendar. Turn a spreadsheet into a clean calendar file and email it to your group in one run. Great for schools, training teams, and admin staff who manage dates for many people.

On click, the flow downloads an XLSX file from a link. A Cloudflare service converts the sheet to markdown so AI can read it. The flow picks the right sheet text. An AI model using Google Gemini reads the table and returns a list of events with week number, start date, title, and notes. Each event becomes its own item, dates are normalized and sorted, and a small Python script builds an ICS file. The file is turned into a binary attachment and Gmail sends it to your recipients.

You will need accounts for Cloudflare, Google Gemini, and Gmail. Replace the Cloudflare account ID in the URL and add credentials for each node. Point the download node to your own spreadsheet. Expect to cut hours of entry down to minutes and avoid date mistakes. Use it for academic terms, training cohorts, or company events. After a test run, import the ICS into Google Calendar, Outlook, or Apple Calendar and share it with your team.

What are the key features?

  • Manual start to run the process on demand for each new file
  • HTTP download of the XLSX file from a public URL
  • Cloudflare Markdown Conversion to turn Excel into readable tables
  • Set nodes to select the target sheet and standardize date fields
  • AI extraction with a defined schema using Google Gemini
  • Split items so each event is processed on its own
  • Sort events by the start date for a clean timeline
  • Python code builds a valid ICS document from the event list
  • Convert to File creates a proper text calendar attachment
  • Gmail sends the ICS file to selected recipients

What are the benefits?

  • Reduce manual calendar entry from hours to minutes
  • Improve date accuracy by up to 90 percent by removing typos
  • Connect Cloudflare, Google Gemini, and Gmail in one flow
  • Reuse the same setup each semester by only changing the source link
  • Send one standard ICS file that works with major calendar apps

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Cloudflare, Google Gemini and Gmail. See the Tools Required section above for links to create accounts with these services.
  3. Open the Get Term Dates Excel node. Replace the URL with the link to your spreadsheet. Keep the response format set to File.
  4. Open the Markdown Conversion Service node. Replace {ACCOUNT_ID} in the URL with your Cloudflare account ID. In the credentials dropdown, click Create new credential if needed and follow the on screen steps.
  5. In your Cloudflare dashboard, make sure your API token has access to use the AI document conversion on your account. Store the token safely and test the credential in n8n.
  6. Open the Google Gemini Chat Model node. In the credentials dropdown, create a new Google Gemini credential and paste your API key from Google AI Studio. Save and test.
  7. Open the Extract Target Sheet node. If your file layout is different, adjust the expression so it selects the correct sheet text before AI extraction.
  8. Open the Information Extractor node. Review the schema fields for events. Keep the instruction to not convert dates. Run a quick test to confirm the output fields match your table.
  9. Open the Fix Dates node. If your dates need a different base or format, adjust the expression so week beginning values resolve to correct UTC dates.
  10. Open the Gmail node. Choose or create a Gmail OAuth credential, allow the requested scopes, then set To, Subject, and Body. For attachments, point to the binary property produced by the Create ICS File node named data.
  11. Click Execute to run. Check the Markdown Conversion output looks like a table, verify the extracted events, and open the generated ICS file to confirm dates and titles.
  12. If you see a Cloudflare 401 error, recheck the account ID and API token. If AI misses fields, confirm the target sheet selection and schema. If times look off, review the date normalization in Fix Dates.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Cloudflare

Sign up

Workers Free plan: $0 / mo; includes Workers KV 100,000 reads/day, 1,000 writes/day, 1,000 deletes/day, 1,000 list requests/day, 1 GB storage

Gmail

Sign up

No cost: Personal Gmail (Gmail API has no usage-based pricing; quotas apply)

Google Gemini

Sign up

Free tier: $0 via Gemini API; e.g., Gemini 2.5 Flash-Lite free limits 1,000 requests/day (15 RPM, 250k TPM). Paid from $0.10/1M input tokens and $0.40/1M output tokens.

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.