---
title: "Gmail meeting requests answered with free calendar slots"
kind: "Kit"
category: "Productivity"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/ba0ef7b3-7e13-4473-a0dd-bc51909d10e4"
updated: "2026-11-12"
---

# Gmail meeting requests answered with free calendar slots

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow that reads unread Gmail, spots meeting requests with OpenAI, checks your Google Calendar through an agent and replies to the sender with a proposed time.

Gmail meeting requests answered with free calendar slots is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow answers meeting requests in your Gmail for you. It checks unread mail every minute. An OpenAI model decides whether a message asks for a meeting or a call. For each one that does, an AI agent reads your Google Calendar and writes a reply that proposes a time. The reply goes to the sender, and the email is marked as read. Seventeen nodes do the work, beside four sticky notes.

### Who it suits

Consultants, founders, recruiters and anyone whose inbox fills with “can we find a time” emails. Skip it if you want to approve each reply, since it answers on its own.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Consulting | Independent consultants | Let the first reply to a booking request go out without a wait | A consultant gets a request for a call next week, and the reply lists open times. |
| Recruiting | Recruiters | Answer candidates who ask for a slot to talk | A candidate asks for a screening call, and the agent proposes a time after the last meeting. |
| Startups | Founders | Keep investor and partner meeting requests moving | A founder gets “Do you have time on Thursday?” and the reply names a free slot. |
| Sales | Account managers | Answer demo requests from existing contacts | A contact asks for a demo, and the reply offers a time that fits the calendar. |

You need a little n8n: import a file and add three credentials, for Gmail, OpenAI and Google Calendar. Nothing in the file states a setup time.

### Where to use it

Any n8n that can reach Gmail, Google Calendar and OpenAI will run it.

- n8n Cloud: import the file into a new workflow there
- Your own n8n server: the same file and steps
- Another calendar: swap \`Google Calendar\` for another node, then adjust the steps after it that read \`start.dateTime\`, \`end.dateTime\`, \`summary\` and \`status\`

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Three accounts cover every step.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key for the two chat model nodes |
| Google | An account for a Gmail OAuth2 credential and a Google Calendar OAuth2 credential |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Add a Gmail OAuth2 credential and select it in `Gmail Trigger`, `Mark as read` and `Send Reply`.
3. Add an OpenAI credential and select it in `Chat OpenAI` and `Chat OpenAI1`.
4. Add a Google Calendar OAuth2 credential and select it in `Google Calendar`. Replace `<YOUR_CALENDAR_EMAIL>` with the address of the calendar to read.
5. Save the workflow before you test. `Workflow Tool` runs this same workflow by its id.
6. Send yourself an email that asks for a meeting, then run `Gmail Trigger` once.

### How to use it

Publish the workflow and leave it running. Every minute it checks for unread mail, and each meeting request gets a reply with a proposed time. Read your Sent folder now and then to see what went out.

What to change for a different result

| To change | Where |
| --- | --- |
| What counts as a request | The prompt in \`Classify appointment\` |
| The rules for the reply | The system message under the options of \`Agent\` |
| How far the calendar is read | \`timeMin\` and \`timeMax\` in \`Google Calendar\` |
| Draft first | Swap \`Send Reply\` for a Gmail step that makes a draft |
| The models | \`Chat OpenAI\` and \`Chat OpenAI1\` |

### Example

Someone writes, “Can we talk about the proposal on Thursday?”

The model marks it as a meeting request. The agent asks the calendar tool for your events and finds Thursday busy from 10:00 to 11:30. It replies with a time after 11:45 that day, or another day if Thursday is full, and the email is marked as read.

### 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 one has two paths. The top path reads mail and decides what to do. The lower path is a small tool that fetches your calendar, and the agent calls it when it needs your free times.

**For experts.** The calendar tool is this workflow itself, entered through `Execute Workflow Trigger`, and the classifier hands the next step a plain true or false.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Gmail Trigger\` | Version 1, polls every minute for unread mail, spam and trash left out | Its simplified output gives \`Subject\`, \`From\` and \`snippet\` |
| \`Classify appointment\` | A Basic LLM Chain 1 with a Structured Output Parser | The parser returns \`is\_appointment\` as a boolean, and \`Is appointment request\` accepts a boolean or the text true |
| \`Agent\` | A Conversational agent, version 1, with \`Workflow Tool\` | Its prompt holds the sender, the subject and the snippet, and the system message adds the date and time now |
| \`Workflow Tool\` | Calls this workflow by \`{{ $workflow.id }}\` as \`Calendar\_Availability\` | It returns the first output item as text, so \`Stringify Response\` packs the whole list into one field |
| \`Google Calendar\` | Gets all events from one day back to one month ahead | Recurring events arrive as single events |

### Good to know

The reply goes out with no check, and the model sees only a snippet.

- Automatic reply: \`Send Reply\` sends the agent’s text with no check, and the model can be wrong about your calendar. Any unread mail the model takes for a meeting request gets an answer, including newsletters and automatic messages
- The snippet: the model reads the short preview Gmail gives, not the whole email
- Billing: each unread email costs one model call, and a meeting request costs at least one more, plus a further call when the agent asks for your calendar
- Your data: your calendar’s event titles and times go to OpenAI in the tool’s answer, and so do the sender, the subject and the snippet
- Models: the original copy named \`gpt-4\`, which OpenAI shut down on 23 October 2026. Mindket’s copy names \`gpt-5.6-sol\`, the replacement OpenAI gives, and leaves out the two temperature settings
- Agent type: n8n marks the Conversational type used here as deprecated and says it is removed in version 3
- A repair: the agent’s prompt joined its lines with a typed backslash and the letter n. Mindket’s copy uses real line breaks
- Credentials: the JSON holds none, and the calendar address is a placeholder

## README

```markdown
# Gmail meeting requests answered with free calendar slots

An n8n workflow that watches Gmail for unread mail. An OpenAI model decides whether a message asks for a meeting or a
call. When it does, an AI agent reads your Google Calendar, writes a reply that proposes a time, and the reply goes back to
the sender.

## What is inside

- `workflow.json`: the workflow as n8n exports it, 17 nodes beside 4 sticky notes. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

Mindket changed a few details so the file runs today:

- Both chat model nodes named `gpt-4`, which OpenAI shut down on 23 October 2026. Mindket's copy names `gpt-5.6-sol`, the
  replacement OpenAI gives for it. Both nodes had a temperature set, 0.1 and 0. Mindket could not confirm that the new
  model takes one, so it left both out.
- The calendar node held a sample address. It now reads `<YOUR_CALENDAR_EMAIL>`.
- The agent's prompt joined its lines with a typed backslash and the letter n, which a model reads as two characters. It
  now uses real line breaks.
- No credential is inside.

## Before you start

- An n8n instance, on n8n Cloud or your own server.
- An OpenAI API key.
- A Google account, for a Gmail OAuth2 credential and a Google Calendar OAuth2 credential.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Add a Gmail OAuth2 credential and select it in `Gmail Trigger`, `Mark as read` and `Send Reply`.
3. Add an OpenAI credential and select it in `Chat OpenAI` and `Chat OpenAI1`.
4. Add a Google Calendar OAuth2 credential and select it in `Google Calendar`. Replace `<YOUR_CALENDAR_EMAIL>` with the
   address of the calendar to read.
5. Save the workflow before you test. `Workflow Tool` runs this same workflow by its id, `{{ $workflow.id }}`. If you split
   the workflow in two, put the second workflow's id there.
6. Send yourself an email that asks for a meeting, then run `Gmail Trigger` once.

## How a run goes

1. `Gmail Trigger` checks Gmail every minute for unread mail, with spam and trash left out.
2. `Classify appointment` asks `Chat OpenAI` whether the subject and the snippet suggest a meeting or a call. With
   `Structured Output Parser`, the answer is a field `is_appointment` that is true or false.
3. `Is appointment request` lets only the true ones through.
4. `Agent` is a Conversational agent, version 1, with `Chat OpenAI1` as its model. Its prompt holds the sender, the subject,
   the snippet and the date and time now. It can call `Workflow Tool`, named `Calendar_Availability`.
5. The tool runs the other branch of this workflow, which starts at `Execute Workflow Trigger`. The node `Google Calendar`
   reads every event from one day back to one month ahead. Then `Filter only confirmed and with set time` keeps confirmed
   events that have a start time. After that, `Extract start, end and name` writes a start, an end, a name and a sort key.
   Next, `Sort` orders them, and `Format response` and `Stringify Response` hand them back as one text.
6. The agent's instructions tell it to aim for a specific time, to leave 15 minutes after the previous meeting and always to
   propose a new time when you are busy.
7. `Send Reply` answers the sender only, and `Mark as read` marks the email as read.

## Change the look

- What counts as a meeting request: the prompt in `Classify appointment`.
- The rules for the reply: the system message under the options of `Agent`.
- How far the calendar is read: `timeMin` and `timeMax` in `Google Calendar`.
- Draft first: swap `Send Reply` for a Gmail step that makes a draft, and read each one before it goes.
- The models: `Chat OpenAI` and `Chat OpenAI1`.

## Good to know

- The reply goes out by itself. `Send Reply` sends the agent's text with no check, and the model can be wrong about your
  calendar. Any unread mail the model takes for a meeting request gets an answer, including newsletters and automatic
  messages.
- The model reads only the snippet, the short preview Gmail gives, and not the whole email.
- Each unread email costs one model call, and a meeting request costs at least one more, plus a further call when the agent
  asks for your calendar.
- Your calendar's event titles and times go to OpenAI in the tool's answer, and so do the sender, the subject and the snippet.
- n8n marks the agent type used here as deprecated and says it is removed in version 3. A newer AI Agent node replaces it.
- The workflow reads one calendar, and its dates are written in the time zone n8n uses.
- The JSON holds no credential.
```

## What is in it

3 files, 19 KB, downloaded as a zip.

```text
NOTICE.md  575 B
README.md  5 KB
workflow.json  14 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 13 steps, starting when another workflow calls it or on a Gmail event
- AI: 2 steps call an AI model: Classify appointment and Agent
- Sign-ins: Signs in to: Google Calendar, Gmail and OpenAI
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads 9 of its 10 step types. It does not read: Gmail

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/ba0ef7b3-7e13-4473-a0dd-bc51909d10e4)
- [Its page on Mindket](https://mindket.com/p/ba0ef7b3-7e13-4473-a0dd-bc51909d10e4)
