← All N8N workflows
Messaging & emailCodeConvert To FileGmailHTTP RequestInformation Extractor

Cloudflare Account Required

Configured with Convert To File, Gmail, HTTP Request, Information Extractor, and additional nodes. Review the connections and setup before adapting this template.

Workflow preview
TriggerWhen clicking ‘Testworkflow’Manual TriggerWeb / APIGet Term Dates ExcelHTTP RequestAI & modelsExtract Key Events andDatesInformation ExtractorTransformExtract Target SheetEdit FieldsTransformFix DatesEdit FieldsAI & modelsGoogle Gemini ChatModelLM Chat Google GeminiTransformCreate ICS FileConvert To FileCodeEvents to ICS DocumentCodeTransformSort Events by DateSortWeb / APIMarkdown ConversionServiceHTTP RequestTransformEvents to ItemsSplit OutMessagingSend Email withAttachmentGmail

Node categories in this workflow

  • Trigger
  • Web / API
  • AI & models
  • Transform
  • Code
  • Messaging

Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.

Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.

How it works

The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.

Workflow node names, types, and operations
NodeCategoryTypeOperation
When clicking ‘Test workflow’TriggerManual TriggerSee node parameters
Get Term Dates ExcelWeb / APIHTTP RequestSee node parameters
Extract Key Events and DatesAI & modelsInformation ExtractorSee node parameters
Extract Target SheetTransformEdit FieldsSee node parameters
Fix DatesTransformEdit FieldsSee node parameters
Google Gemini Chat ModelAI & modelsLM Chat Google GeminiSee node parameters
Create ICS FileTransformConvert To FiletoBinary
Events to ICS DocumentCodeCodeSee node parameters
Sort Events by DateTransformSortSee node parameters
Markdown Conversion ServiceWeb / APIHTTP RequestPOST
Events to ItemsTransformSplit OutSee node parameters
Send Email with AttachmentMessagingGmailSee node parameters

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.

Requirements

An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.

Credential types declared in the source

  • cloudflareApi
  • gmailOAuth2
  • googlePalmApi

Workflow notes

1. Parse Excel Files Using Cloudflare®️ Markdown Conversion

1. Parse Excel Files Using Cloudflare®️ Markdown Conversion

Learn more about Cloudflare's Markdown Conversion Service

Today's LLMs cannot parse Excel files directly so the best we can do is to convert the spreadsheet into a format that they can, namely markdown. To do this, we can use Cloudflare's brand new document conversion service which was designed specifically for this task. The result is the sheet is transcribed as a markdown table.

The Markdown Conversion Service is currently free to use at time of writing but requires a Cloudflare account.

2. Extract Term Dates to Events Using AI

2. Extract Term Dates to Events Using AI

Learn more about the Information Extractor

Data entry is probably the number one reason as to why we need AI/LLMs. This time-consuming and menial task can be completed in seconds and with a high degree of accuracy. Here, we ask the AI to extract each event with the term dates to a list of events using structured output.

3. Use Events to Create ICS Document

3. Use Events to Create ICS Document

Learn more about the code node

Now we have our events, let's create a calendar to put them in. Using the code now, we can construct a simple ICS document - this is the format which can be imported into iCal, Google Calendar and Outlook. For tasks like these, the Code node is best suited to handle custom transformations.

4. Create ICS Binary File for Import

4. Create ICS Binary File for Import

Learn more about the Convert to File node

Finally with our ICS document ready, we can use the "Convert to File" node to build an ICS binary file which can be shared with team members, classmates or even instructors.

Cloudflare Account Required

Cloudflare Account Required

Add your Cloudflare {ACCOUNT_ID} to the URL

Try it out!

Try it out!

This n8n template imports an XLSX containing terms dates for a university, extracts the relevant events using AI and converts the events to an ICS file which can be imported into iCal, Google Calendar or Outlook.

Manually adding important term dates to your calendar by hand? Stop! Automate it with this simple AI/LLM-powered document understanding and extraction template. This cool use-case can be applied to many scenarios where Excel files are predominantly used.

How it works

  • The term dates excel file (xlsx) are imported into the workflow from the university's website using the http request node.
  • To parse the excel file, we use an external service - Cloudflare's Markdown Conversion Service. This converts the excel's sheets into markdown tables which our LLM can read.
  • To extract the events and their dates from the markdown, we can use the Information Extractor node for structured output. LLMs are great for this use-case because they can understand the layout; one row may have many data points.
  • With our data, there are endless possibilities to use it! But for this demonstration, we'll generate an ICS file so that we can import the extracted events into our calendar. We use the Python code node to combine the events into the ICS spec and the "Convert to File" node to create the ICS binary.
  • Finally, let's distribute the ICS file by email to other students or instructors who may also find this incredibly helpful for the upcoming semester!

How to use

  • Ensure you're downloading the correct excel file and amend the URL parameter of the "Get Term Dates Excel" as necessary.
  • Update the gmail node with your email or other emails as required. Alternatively, send the ICS file to Google Drive or a student portal.

Requirements

  • Cloudflare Account is required to use the Markdown Conversion Service.
  • Gemini for LLM document understanding and extraction.
  • Gmail for email sending.

Customising the workflow

  • This template should work for other Excel files which - for a university - there are many. Some will be more complicated than others so experiment with different parsers and extraction tools and strategies.

Need Help?

Join the Discord or ask in the Forum!

Happy Hacking!

Cloudflare Account Required

Cloudflare Account Required

Purpose and structure

This folder contains the Cloudflare Account Required workflow. Its executable nodes use code, convertToFile, gmail, httpRequest, informationExtractor, lmChatGoogleGemini, manualTrigger, set, sort, splitOut. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.

Setup

Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.

Entry points

When clicking ‘Test workflow’

Verification

Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.

Attribution

https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Splitout/0846_Splitout_Code_Create_Webhook.json MIT; preserve source notices.

More in Messaging & email