Mindket

Website chat assistant that books meetings in Outlook

Newversion 1 · updated

Overview

An n8n workflow behind a website chat widget. An AI agent on OpenAI’s gpt-4o checks your Outlook calendar for free time, books 30-minute Teams meetings, or emails you the enquiry when a visitor is not ready.

Website chat assistant that books meetings in Outlook is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps, with the chat address reachable from your site
  • Your website: add n8n’s embedded chat widget and point it at the Chat Trigger’s production address
  • Outlook: each booking is a calendar event, and each enquiry is an email to you

Platform

Connects 2 apps

How it works

Trigger

Website chat

It starts when a visitor sends a message through the chat widget on your site, which gives it:

  • The visitor’s message
  • A session ID, so the chat keeps its history

Actions

  1. A call with no text gets a first greeting, and every other message goes to the AI Agent
  2. The agent, on gpt-4o-2024-08-06 with 20 interactions of memory, asks for days, time zone, name, company and email
  3. Its calendar tool reads the next two weeks from Outlook and lists the free slots inside business hours
  4. Its booking tool creates a 30-minute Teams meeting in Outlook and invites the visitor
  5. When the visitor is not ready, its message tool emails you a formatted enquiry

Result

Each visitor gets a booked Outlook meeting with a Teams link, or you get an enquiry email with their details

Integrations

What you need before you start.

OpenAI

Language model

Runs the AI Agent on gpt-4o-2024-08-06, which chats with each visitor and decides when to use a tool.

NeedsOpenAI API key, in an OpenAI credential

Microsoft Outlook

Calendar and email

Lists your events for the next two weeks, creates the meeting with the visitor and sends you each enquiry.

NeedsA Microsoft account, for a Microsoft Outlook OAuth2 credential in three nodes

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
12 steps, starting when another workflow calls it or on a chat message
AI
1 step calls an AI model: AI Agent
Sign-ins
Signs in to: Microsoft Outlook and OpenAI
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 10 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow runs a chat assistant on a website. A Chat Trigger takes each visitor message, and an AI Agent on gpt-4o-2024-08-06 answers it as a personal assistant. The agent has three tools. One reads your Outlook calendar for the next two weeks and works out the free slots. One books a 30-minute Teams meeting with the visitor. One emails you the enquiry when the visitor would rather talk to a person. Window Buffer Memory keeps each session’s last 20 interactions. Seventeen nodes do the work, beside five sticky notes that label parts.

Who it suits

Consultancies, agencies and freelancers who sell through calls and keep their calendar in Outlook. A visitor books time without filling in a form. Skip it if your calendar is not Microsoft’s, or if you want an assistant that talks about anything but appointments. Its prompt tells the agent to refuse other topics.

Who uses it, and how
IndustryWho uses itHow they use itExample
Consulting and agenciesFoundersLet visitors book a first call from the site’s chatA founder finds a Teams invite for Thursday morning waiting in Outlook.
Software studiosSales leadsHave the agent ask about the project before it booksA lead gets a booked call and the visitor’s project notes.
FreelancersDesigners and coachesKeep bookings and enquiries in one inbox and one calendarA coach gets a booking from the chat overnight.
Professional servicesSmall firmsCollect an enquiry by email when a visitor is not ready to bookA firm gets an email with a name, company, address and message.

You need solid n8n for this one: an OpenAI credential, an Outlook sign-in for three nodes, two tool nodes that point back at the workflow itself and a chat widget on your site.

Where to use it

Any n8n that can reach OpenAI and Microsoft’s calendar and mail will run it, as long as your site can reach its chat address. Bookings land in the Outlook calendar of the account you sign in with.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps, with the chat address reachable from your site
  • Your website: add n8n’s embedded chat widget and point it at the Chat Trigger’s production address
  • Outlook: each booking is a calendar event, and each enquiry is an email to you

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. The workflow calls itself, so save it once before you finish the tools.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
OpenAIAn API key for an OpenAI credential. The model is gpt-4o-2024-08-06
OutlookA Microsoft Outlook OAuth2 credential. Its default scopes cover calendar and mail
Your siteA page where you can add n8n’s chat widget
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json. Save it once.
  2. Add an OpenAI credential and select it in OpenAI Chat Model.
  3. Add a Microsoft Outlook OAuth2 credential. Select it in Make Appointment, Get Events and Send Message1.
  4. In Get Availability and Send Message, open the Workflow field and pick this same workflow from the list.
  5. Open AI Agent and fill each placeholder in its system message: <OWNER_NAME>, <OWNER_ROLE>, <YOUR_COMPANY> and <WHAT_YOUR_COMPANY_DOES>. Check its hours and time zone too.
  6. In Send Message, replace <insert name> in the tool description. In Make Appointment, replace <timezone> there. In Send Message1, replace <YOUR_EMAIL_ADDRESS> with the address that should get enquiries.
  7. In freeTimeSlots, set your business hours. In Get Events and Make Appointment, change Europe/London if you work in another zone.
  8. Save, then try the chat in n8n’s own chat window.
  9. Press Publish and add the widget to your site, pointed at the Chat Trigger’s production address.

How to use it

A visitor opens the chat on your site and writes. The agent asks which days suit them, confirms their time zone and gets their name, company and email. It checks your calendar and books, or sends you the enquiry. You see events in Outlook and enquiries marked high importance in your inbox.

What to change for a different result
To changeWhere
Who the assistant speaks forThe system message of AI Agent
Business hoursfreeTimeSlots, 08:00 to 17:30 UTC in the code, and the prompt’s 8am to 6pm London
Time zoneEurope/London in Make Appointment, Get Events and the prompt
Notice and meeting lengthThe prompt’s rules, 48 hours and 30 minutes, and the end time in Make Appointment
Days checkedGet Events, from 2 to 16 days ahead
The greetingRespond With Initial Message
The enquiry emailSend Message1, an HTML body with high importance

Example

A visitor to a web studio’s site says they want a quote for an online shop and can talk on Thursday afternoon. They give their name, company and email when asked.

The agent confirms the visitor’s time zone and picks a free slot from the calendar tool. It books a 30-minute Teams meeting, then tells the visitor to accept the invite that arrives by email. A visitor who is not ready gets asked for project details instead, and you get an email with name, email, company and message.

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This file holds two workflows on one canvas. The top row is the chat: the trigger, a check, the agent with its model, memory and three tools, and the reply. The lower row starts at Execute Workflow Trigger and does the tools’ work. Test with your own calendar before any visitor does.

For experts. The tools call this same workflow with a route value, and the lower row answers by that route.

Where to look closer
NodeWhat it doesWhat to know
IfChecks that chatInput existsA call with no text gets Respond With Initial Message
Get Availability and Send MessageTool Workflow 1.2 nodes that call this workflow with route set to availability or messageSwitch reads route. The message tool also sends email, subject, message, name and company
freeTimeSlotsLists free gaps inside business hours for each day that holds eventsA day with no events never appears, and a day with events but none marked busy stops it with an error
Make AppointmentAn HTTP tool that posts to me/events with values the agent fills inThe event carries a Teams link and the visitor as a required attendee

Good to know

The agent books real meetings from what a stranger types, so test it first. The original copy also has a few rough edges.

  • Real invites: the visitor’s email address goes straight into the event’s attendee list, so anyone can type an address and send an invite to it
  • Open chat: the Chat Trigger is public and allows every origin. Limit the allowed origins to your site, which stops other web pages but not a script, and watch your OpenAI spend
  • Free time: freeTimeSlots reads 08:00 to 17:30 as UTC, while the prompt says London hours, and an empty day is never offered
  • Calendar size: Get Events asks for at most 50 events and does not follow further pages
  • Subject: the event’s subject is the literal text Meetings with <name> at <company>. To fill it from the chat, write {name} and add a company placeholder
  • Time stamp: the prompt’s current time ends in :00.000Z after the seconds, so it is not a clean ISO time and it names UTC in summer too
  • Model: OpenAI’s deprecations page, read on 12 November 2026, gives 14 January 2027 as the shutdown of gpt-4o-2024-08-06, with gpt-6-luna as the replacement
  • Billing: each visitor message is at least one OpenAI call, and more when a tool runs
  • Your data: chat messages go to OpenAI, and the visitor’s details go to Microsoft
  • The copy: the two tool nodes pointed at their author’s own n8n, so their workflow field is empty. The author’s name, company and role in the prompt are placeholders, and the author’s promo notes are gone
  • Credentials: the JSON holds none. The Outlook credential type name in the file has one letter written as a JSON escape, which n8n reads as the same name

README and files

README

Website chat assistant that books meetings in Outlook

An n8n workflow behind a chat widget on your website. An AI agent on OpenAI's gpt-4o-2024-08-06 talks to each
visitor, checks your Outlook calendar for free time and books a 30-minute Teams meeting. When a visitor is not ready
to book, the agent collects the details and emails you the enquiry.

What is inside

  • workflow.json: the workflow as n8n exports it, 22 nodes. Seventeen do the work and five are sticky notes: a title and
    four short reminders to point the tools at this workflow, change hours and time zones, and edit the email. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

  • The two tool nodes Get Availability and Send Message called a workflow in their author's n8n by its ID. That ID
    is cleared. They are meant to call this same workflow, whose lower row answers them: save it once, then pick it in
    each node.
  • The system message of AI Agent named its author, the author's company and what it does. Those are now
    <OWNER_NAME>, <OWNER_ROLE>, <YOUR_COMPANY> and <WHAT_YOUR_COMPANY_DOES>.
  • The recipient of Send Message1 was an example address. It is now <YOUR_EMAIL_ADDRESS>.
  • Two sticky notes that linked to the author's blog post and setup video are removed, and the title note now holds only
    the title. The links and credits it held are gone.
  • Every Outlook and OpenAI credential link and the chat's webhookId are gone. The file had no settings block, so it
    now sets the current execution order, v1.
  • The Outlook credential type name in Make Appointment and Get Events has one letter written as a JSON escape
    (\u0041). n8n reads it as the same name. The store’s key check would otherwise take the long name for a key.
  • Nothing else. The prompt's rules, the tools, the memory and the layout are the file's own.

Before you start

  • An n8n instance, on n8n Cloud or your own server, that your website can reach.
  • An OpenAI API key, for an OpenAI credential.
  • A Microsoft account with Outlook. The Microsoft Outlook OAuth2 credential's default scopes include calendar
    read and write and mail send.
  • A page on your site where you can add n8n's embedded chat widget.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json. Save it once, so n8n
    gives it an ID.
  2. Add an OpenAI credential and select it in OpenAI Chat Model.
  3. Add a Microsoft Outlook OAuth2 credential. Select it in Make Appointment, Get Events and Send Message1.
  4. In Get Availability and Send Message, open the Workflow field and pick this same workflow from the list.
  5. Open AI Agent and fill each placeholder in its system message: <OWNER_NAME>, <OWNER_ROLE>, <YOUR_COMPANY> and
    <WHAT_YOUR_COMPANY_DOES>. Read its hours, notice period and time zone while you are there.
  6. In Send Message, replace <insert name> in the tool description. In Make Appointment, replace <timezone> in
    its tool description. In Send Message1, replace <YOUR_EMAIL_ADDRESS> with the address that should get enquiries.
  7. In freeTimeSlots, set your business hours. In Get Events and Make Appointment, change Europe/London if you
    work in another time zone.
  8. Save, then try the chat in n8n's own chat window with your own name and email.
  9. Press Publish. Add n8n's chat widget to your site and point it at the Chat Trigger's production address.

How a run goes

  1. Chat Trigger (Embedded Chat, public, all origins allowed) takes each visitor message and a session ID.
  2. If checks that chatInput exists. A call with no text goes to Respond With Initial Message, which answers
    "Hi, how can I help you today?". Everything else goes to AI Agent.
  3. AI Agent (version 1.6) uses OpenAI Chat Model (gpt-4o-2024-08-06, temperature 0.4) and Window Buffer Memory,
    which keeps the last 20 interactions of each session. Its system message sets the role, the 30-minute meetings, the
    48 hours' notice, the weekday office hours and the rule to stay on appointments.
  4. The agent has three tools. Get Availability and Send Message call this workflow with a route value, and
    Make Appointment posts to Microsoft's calendar itself.
  5. In the lower row, Execute Workflow Trigger hands the call to Switch, which reads route.
    - availability goes to Get Events, which asks Microsoft's calendarView for the days from 2 to 16 ahead, then
    to freeTimeSlots, a Code node that lists free gaps inside business hours. varResponse returns that list to the
    agent.
    - message goes to Send Message1, an Outlook node that emails you a formatted enquiry with high importance.
    varMessageResponse tells the agent it was sent.
  6. Make Appointment creates an event with the visitor as a required attendee, a Teams meeting link and the reason
    as its body. Respond to Webhook returns the agent's answer to the chat.

Change the look

  • Voice and rules: the system message of AI Agent.
  • Business hours: businessHoursStart and businessHoursEnd in freeTimeSlots. They are UTC, and the prompt also
    states hours, so change both.
  • Time zone: Europe/London in Make Appointment, Get Events and the prompt.
  • Notice and length: the prompt's rules, and dateEndTime in Make Appointment, which says to end 30 minutes after
    the start.
  • Days checked: the two date expressions in Get Events.
  • Greeting: Respond With Initial Message.
  • Enquiry email: the subject comes from the chat, and the HTML in Send Message1 holds the layout.
  • Model: OpenAI Chat Model.
  • Look of the chat: set it in the widget on your site, not in this file.

Good to know

  • The agent books real meetings from what a stranger types. The visitor's email address goes into the event's
    attendee list, so anyone can type an address and send an invite to it. Test with your own calendar first.
  • The Chat Trigger is public and allows every origin. Limiting the allowed origins to your site stops other web pages
    but not a script, so watch your OpenAI spend.
  • freeTimeSlots reads its hours as UTC, while the prompt speaks of London hours. It lists only days that already hold
    an event, so a day with an empty calendar is never offered. A day with events but none marked busy stops
    the code with an error, since it reads the first busy event of a day that has none.
  • Get Events asks for at most 50 events and does not follow further pages.
  • The event's subject is the literal text Meetings with <name> at <company>. To fill it from the chat, write {name}
    and add a company placeholder to the tool.
  • The prompt stamps the current London time with an expression that ends :00.000Z after the seconds. It is not a
    clean ISO time, and Z names UTC even in summer.
  • OpenAI's deprecations page, read on 12 November 2026, gives 14 January 2027 as the shutdown of gpt-4o-2024-08-06,
    with gpt-6-luna as the replacement.
  • Each visitor message is at least one OpenAI call, and more when a tool runs.
  • Chat messages go to OpenAI, and the visitor's details go to Microsoft. The agent sees free slots, not your event
    titles.
  • The file holds no credential and no key.
Files
NOTICE.md  614 B
README.md  7 KB
workflow.json  30 KB

3 files, 38 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Nanosaur2-670M

well9472 · Kit

Makes illustrations from text prompts with a small 670M-parameter diffusion model, run through ComfyUI. Built as a low-budget research model for people who wan…

New

Reads handwritten Arabic text from images and returns it as text. A fine-tuned PaddleOCR-VL model for people digitizing Arabic handwriting.

New

Makes video clips from a text prompt or an image plus text, at up to 720P and 24 frames per second, in the Diffusers format for a single consumer GPU.

New

Similar in Business

See all in Business

pplx-decider-v1.1-27b

perplexity-ai · Kit

Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…

New

NuExtract3

numind · Kit

Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…

New

Drex DLM

nace-ai · Kit

Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…

New