n8n demo resource

Turn SentriLock emails into calendar invites.

Use this as a course handout, demo outline, and prompt kit for showing real estate agents how to automate confirmed showing emails into Outlook or Google Calendar.

What goes in What comes out
2. n8n watches inbox every hour
Confirmed only Read full body Extract emails
3. Calendar invite created

Showing: 123 Example Street

Thu 2:00 PM HST

2:00 PM - 3:00 PM

Invites listing + co-listing agents

Skips request emails and duplicate attendees.

Setup checklist

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.

Required

n8n account

Cloud is easiest for class. Self-hosting works, but it adds setup friction.

Required

Email connection

Outlook or Gmail. This is where the SentriLock confirmations arrive.

Required

Calendar connection

Outlook Calendar or Google Calendar. This account owns the event.

Optional

n8n API key

Useful if an AI assistant will edit the workflow directly through n8n's API.

Demo structure

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.

  1. 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.
  2. Show the desired calendar invite. Make the result obvious: one event, correct title, correct time, correct attendees.
  3. Open n8n and explain the workflow as five blocks. Watch inbox, filter, fetch full email, parse, create event.
  4. Paste the starter prompt. Let the class see how to describe the goal before worrying about nodes.
  5. Talk through the safeguards. Ignore requested appointments, avoid inviting yourself, alert on parse failure.
Copy-paste prompt

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.
Workflow map

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.

01

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.

02

Confirmed-only filter

Continue only when the sender is SentriLock and the subject/body says Appointment Confirmed. Requested appointments should stop here.

03

Fetch full email

Email triggers often provide a preview, not the full message. Fetch the complete body before parsing agent sections.

04

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.

05

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.

What keeps it from breaking

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.

Follow-up prompts

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.
Talk track

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