Set up the boring parts first.
For a live demo, keep the setup requirements separate from the build. Agents should understand that the automation is simple once the accounts are connected, but n8n needs permission to read email and create calendar events.
n8n account
Cloud is easiest for class. Self-hosting works, but it adds setup friction.
Email connection
Outlook or Gmail. This is where the SentriLock confirmations arrive.
Calendar connection
Outlook Calendar or Google Calendar. This account owns the event.
n8n API key
Useful if an AI assistant will edit the workflow directly through n8n's API.
Give the assistant access to the actual confirmation email.
When the assistant asks for the email, use one of two paths: connect the email account first and tell it the exact inbox or credential name to search, or open the SentriLock message and download it as an .eml file.
The connected-inbox path is best for building the live workflow. The .eml path is easiest for class because students can inspect one real message without granting inbox access during the demo.
Show the email, then show the calendar result.
Start with the pain point. Most agents already know the email. What they have not seen is the email turning into a clean calendar event with the right people invited.
- Show a sample SentriLock confirmation email. Point out the property address, date, time, listing agent, and co-listing agent. If the assistant needs the original message, either tell it which connected email account to search or upload the downloaded EML file.
- Show the desired calendar invite. Make the result obvious: one event, correct title, correct time, correct attendees.
- Open n8n and explain the workflow as five blocks. Watch inbox, filter, fetch full email, parse, create event.
- Paste the starter prompt. Let the class see how to describe the goal before worrying about nodes.
- Talk through the safeguards. Ignore requested appointments, avoid inviting yourself, alert on parse failure.
Use one prompt to frame the build.
This prompt is intentionally plain. It gives ChatGPT, Claude, or another assistant enough context to design the workflow without hiding the logic from the agents watching.
I want to build an n8n workflow for a real estate showing email.
Goal:
When a SentriLock "Appointment Confirmed" email arrives, create a calendar event in my Outlook or Google Calendar.
Requirements:
- Poll my inbox every hour.
- Use my connected email account named [EMAIL CONNECTION NAME] to find SentriLock emails, or parse the attached .eml file if I provide one instead.
- Only process confirmed appointment emails, not requested or pending emails.
- Extract the property address, showing date, start time, end time, listing agent, co-listing agent, and any agent email addresses.
- If the email body only has a known team member's name, map that name to their email address.
- Create the calendar event with the property address in the title.
- Invite the listing agent and co-listing agent by email.
- Do not invite myself if I am the calendar owner.
- Add the original email details into the calendar event description.
- If parsing fails, send me an alert email instead of creating a bad event.
Please walk me through the n8n nodes I need and the exact logic for each step. Translate the prompt into five n8n nodes.
Keep the explanation at the block level first. The node settings matter, but the class needs the mental model before the knobs.
Email trigger
Poll Outlook or Gmail every hour. For the first run, limit the search window to the last hour so old confirmations do not backfill into the calendar.
Confirmed-only filter
Continue only when the sender is SentriLock and the subject/body says Appointment Confirmed. Requested appointments should stop here.
Fetch full email
Email triggers often provide a preview, not the full message. Fetch the complete body before parsing agent sections.
Parse details
Extract address, showing time, listing agent, co-listing agent, and email addresses. If names are present without emails, use a known team directory as a fallback.
Create calendar event
Create the event on the calendar owner's calendar, invite listing-side agents by email, and exclude the calendar owner from the attendee list.
The safeguards are the real lesson.
The impressive part is not that n8n can make a calendar event. The impressive part is that the workflow avoids making a bad one.
Ignore request emails
SentriLock often sends an initial request and then a confirmed appointment later. Only the confirmed email should create an event.
Fetch the full body
The preview may not include listing agent or co-listing agent details. The parser should read the complete message.
Use email first, name fallback second
The invite requires an email address. Names only help when you have a known mapping, like Corinda Wong to her Team Wong email.
Do not invite the organizer
If Michelle owns the calendar event, filter Michelle out of the attendee list so she does not receive a duplicate invite.
Fail loudly
If date, time, or address cannot be parsed, send an alert email instead of creating a suspicious calendar event.
Prevent duplicate events
For production, store or search by the SentriLock message ID, subject, property, date, and start time before creating another event.
Use these when the demo gets more technical.
Here is a sample SentriLock confirmation email. Tell me what fields can be reliably extracted and what edge cases I should protect against. Write the n8n Code node JavaScript that extracts the showing date, time, property address, listing agent email, and co-listing agent email from this email body. Help me add safeguards so this workflow ignores requested appointments, avoids duplicate calendar events, does not invite the organizer, and alerts me when it cannot parse an email. Keep the explanation human.
"Most agents get these showing confirmation emails. The problem is the email is useful, but it is not where your day actually lives. Your calendar is."
"So we are going to teach n8n to watch for the confirmed email, pull out the showing details, and create the calendar invite automatically."
"The calendar invite is not the hard part. The important part is turning a messy email into clean fields and adding guardrails so the automation does not create bad events."
Use this in class.
Show the email, paste the prompt, walk through the five nodes, and save the detailed parsing work for the agents who want to go deeper.
Back to the starter prompt