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.
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.
| Node | Category | Type | Operation |
|---|---|---|---|
| When clicking ‘Test workflow’ | Trigger | Manual Trigger | See node parameters |
| Get Term Dates Excel | Web / API | HTTP Request | See node parameters |
| Extract Key Events and Dates | AI & models | Information Extractor | See node parameters |
| Extract Target Sheet | Transform | Edit Fields | See node parameters |
| Fix Dates | Transform | Edit Fields | See node parameters |
| Google Gemini Chat Model | AI & models | LM Chat Google Gemini | See node parameters |
| Create ICS File | Transform | Convert To File | toBinary |
| Events to ICS Document | Code | Code | See node parameters |
| Sort Events by Date | Transform | Sort | See node parameters |
| Markdown Conversion Service | Web / API | HTTP Request | POST |
| Events to Items | Transform | Split Out | See node parameters |
| Send Email with Attachment | Messaging | Gmail | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- 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
cloudflareApigmailOAuth2googlePalmApi
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.