Mindket

Three AI examples: email labels, PDF chat and booking agent

Newversion 1 · updated

Overview

An n8n workflow with three separate AI examples: a classifier that labels Gmail, a chat that answers from a PDF kept in Pinecone, and a Claude agent that books Google Calendar appointments.

Three AI examples: email labels, PDF chat and booking agent is an n8n workflow in the Developer 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
  • Gmail: the labeller puts its labels on your own messages
  • Google Calendar: the booking agent reads free time and creates events there

Platform

Connects 6 apps

How it works

Trigger

Four ways in

It starts from one of four triggers, one for each example:

  • A call to the webhook with an email address in its query
  • A new Gmail message, once you switch its trigger on
  • A question in the PDF chat
  • A request in the booking chat

Actions

  1. A webhook call whose address contains @n8n runs a small code step and posts the address to Slack
  2. An OpenAI model reads a new Gmail message and labels it automation or music
  3. A PDF is downloaded, split into chunks, embedded with OpenAI and stored in a Pinecone index
  4. A question in the PDF chat is answered by gpt-4o from the closest stored passages
  5. A Claude agent checks free time in Google Calendar and books a 30-minute appointment

Result

A Slack line, a labelled email, answers drawn from your PDF and a booked calendar event, depending on which example you run

Integrations

What you need before you start.

OpenAI

Language and embedding models

Runs gpt-4o to classify email and answer questions about the PDF, and makes the embeddings.

NeedsOpenAI API key

Anthropic

Booking agent model

Runs the Claude model, claude-sonnet-5-5 in Mindket’s copy, that holds the booking chat.

NeedsAnthropic API key

Pinecone

Vector store

Stores the PDF’s chunks in the whitepapers index and returns the closest ones to a question.

NeedsPinecone API key and an index of 1,536 dimensions

Gmail

Email

Supplies new messages and takes the automation or music label.

NeedsA Google account with Gmail and two labels

Google Calendar

Calendar

Answers a free and busy request and creates the 30-minute event.

NeedsA Google Calendar OAuth2 credential

Slack

Messages

Receives the webhook demo’s line in a channel.

NeedsA Slack OAuth2 credential and a channel ID

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
8 steps, starting when its webhook is called or on a chat message
Not reached
11 nodes no run reaches: Recursive Character Text Splitter, Embeddings OpenAI, Default Data Loader, Download PDF, PDFs to download and 6 more
AI
2 steps call an AI model: Appointment booking agent and Question and Answer Chain
Sign-ins
Signs in to: Slack, Google Calendar, Pinecone, OpenAI and Anthropic
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 7 of its step types

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

About

What it is

This n8n workflow holds three separate AI examples on one canvas, plus a small webhook demo. The first sorts incoming Gmail messages into two labels with a text classifier. The second downloads a PDF, stores it in Pinecone and lets you chat with it. The third is a Claude agent that checks a Google Calendar for free time and books a 30-minute appointment. Twenty-seven nodes run it, beside six sticky notes.

Who it suits

Developers and automation builders who want to see three common AI patterns working side by side: a classifier, a chat over their own document and an agent with tools. It fits a workshop or a first day with n8n’s AI nodes. Skip it if you want one finished process. The examples are independent, and each needs its own accounts.

Who uses it, and how
IndustryWho uses itHow they use itExample
AgenciesAutomation consultantsShow a client three patterns before scoping a projectA consultant opens the file on a kickoff call and runs the PDF chat on the client’s own report.
Customer supportSupport leadsStart from the email labeller to sort a shared inboxA lead swaps the two categories for billing and bug reports.
TrainingWorkshop hostsTeach classifiers, retrieval and agents from one fileA host runs the examples one by one in a two-hour session.
ServicesStudios and independent consultantsStart from the booking agent to let visitors ask for a slotA studio points the agent at its own calendar and shares the chat.

You need solid n8n for this one: up to six credentials, a Pinecone index and two Gmail labels. Set up one example and ignore the others if you like.

Where to use it

Any n8n that can reach OpenAI, Anthropic, Google, Pinecone and Slack will run it. Each example answers where its own trigger sits.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • Gmail: the labeller puts its labels on your own messages
  • Google Calendar: the booking agent reads free time and creates events there
  • Slack: the webhook demo posts a line to a channel

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Each example has its own accounts, so add only the ones you will use.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
OpenAIAn API key, for the classifier, the PDF chat and the embeddings
PineconeAn index named whitepapers for 1,536-dimension vectors
GmailAn account with two labels, for the labeller
AnthropicAn API key, for the booking agent
Google CalendarA calendar to book into, with OAuth2
SlackA workspace, only for the webhook demo
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add an OpenAI credential. Select it in OpenAI Chat Model1, Embeddings OpenAI, Embeddings OpenAI2 and OpenAI Chat Model.
  3. For the labeller, add a Gmail OAuth2 credential and select it in On new email, Add automation label and Add music label. Replace the two label ids, then switch On new email on. It is disabled in the file.
  4. For the PDF chat, add a Pinecone credential and select it in Insert into Pinecone vector store and Read Pinecone Vector Store. Create the index first.
  5. For the booking agent, add an Anthropic credential and select it in Anthropic Chat Model. Add a Google Calendar OAuth2 credential, select it in Get calendar availability and Book appointment, and replace <YOUR_CALENDAR_EMAIL> in the three places it appears.
  6. For the webhook demo, add a Slack OAuth2 credential, select it in Send message and replace <YOUR_SLACK_CHANNEL_ID>.
  7. Save, then run each example from its own trigger.

How to use it

Pick an example and run it from its trigger. For the PDF chat, press Execute step on Insert into Pinecone vector store first, then open Chat with the PDF and ask a question. For the booking agent, open Chat with the booking agent and ask for a slot. For the labeller, switch the Gmail trigger on and send yourself a message.

What to change for a different result
To changeWhere
The email categoriesThe names and descriptions in Assign label with AI
The PDF it answers fromThe item in PDFs to download, and the namespace and index in the Pinecone nodes
How the PDF chat answersThe text in Question and Answer Chain
The booking rulesThe system message in Appointment booking agent
The time zonetimeZone in the bodies of Get calendar availability and Book appointment
The modelsOpenAI Chat Model, OpenAI Chat Model1 and Anthropic Chat Model

Example

A developer runs the PDF example on the Bitcoin white paper that comes in the file. Then they open the chat and ask how the paper stops a coin from being spent twice.

The chain looks up the closest passages in Pinecone and answers from them. It says it does not know when they hold nothing on the question. For the booking agent, a visitor asks for a slot on a given day, the agent checks free time, and a 30-minute event appears in the calendar with the visitor on it. Check each answer against the PDF, and each event against your calendar.

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. Here four small flows share one canvas, each under its own title note. You never need all four at once. Switch on the one you want to try, and leave the rest alone.

For experts. The AI nodes hang off their root nodes by typed links, so each model, memory, tool and vector store is its own small node.

Where to look closer
NodeWhat it doesWhat to know
Insert into Pinecone vector storeClears the whitepaper namespace and stores the file’s chunksEach run replaces the previous PDF
Assign label with AIText classifier with two categoriesWith no fallback set, a message that fits neither is dropped
Chat with the booking agentChat trigger with its public setting onAnyone with its address can start a booking chat
Window Buffer MemoryKeeps the last 10 messages of a chatIt lives inside the n8n instance and does not work in queue mode

Good to know

Each example is separate, and the booking chat is open to anyone who finds its address.

  • Models: the two OpenAI chat nodes set gpt-4o. OpenAI’s deprecations page, read on 12 November 2026, gives 14 January 2027 as the shutdown of gpt-4o-2024-08-06 and gpt-4o-2024-11-20, with gpt-6-luna as the replacement. The page does not list text-embedding-ada-002, the embeddings default for this version
  • Anthropic: the original copy had no model set, and n8n’s default for that node version, claude-3-5-sonnet-20240620, was retired on 28 October 2025. Mindket’s copy sets claude-sonnet-5-5, the replacement Anthropic names
  • Repairs: the original copy had no input for the booking agent and no data in the PDF list. Both are fixed, and so are the ids and names of its author’s accounts
  • Public chat: once the workflow is active, anyone with the booking chat’s address can book into your calendar and run up your Anthropic bill
  • Pinecone: every run clears the whitepaper namespace first
  • Time zone: both calendar tools write Europe/Berlin, and an example in the availability tool’s description is dated 2024. Change both
  • Webhook demo: its path is a fixed string in the file and it posts the email value it receives to Slack. Change the path before you switch the workflow on
  • Billing: OpenAI bills the classifier, the embeddings and the PDF chat, and Anthropic bills each booking turn
  • Your data: email text goes to OpenAI, the PDF’s chunks go to OpenAI and Pinecone, the booking chat goes to Anthropic, and calendar requests go to Google
  • Credentials: the JSON holds none

README and files

README

Three AI examples: email labels, PDF chat and booking agent

An n8n workflow that holds three separate AI examples on one canvas, plus a small webhook demo. One labels incoming Gmail
messages with a text classifier. One stores a PDF in Pinecone and answers questions about it in a chat. One is a Claude
agent that checks a Google Calendar for free time and books a 30-minute appointment. Each has its own trigger and its own
accounts, so you can set up one and ignore the rest.

What is inside

  • workflow.json: the workflow as n8n exports it, 27 nodes and 6 sticky notes. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

  • The original copy carried seven sticky notes made for a live talk. They held slide and screenshot pictures hosted on
    other sites, a QR code, the speaker's name and links to a calendar, n8n's template library and its forum. Mindket's
    copy leaves them out and keeps the six notes that name each example.
  • Several ids and addresses belonged to the author's own accounts. The Slack channel in Send message is
    <YOUR_SLACK_CHANNEL_ID>. The two Gmail label ids read <YOUR_AUTOMATION_LABEL_ID> and <YOUR_MUSIC_LABEL_ID>. The
    calendar address, which sat in the availability request, the booking address and the booking body, reads
    <YOUR_CALENDAR_EMAIL>.
  • The booking agent's prompt, its chat title and its greeting named a person. They now say "the calendar's owner" or
    nothing at all. The Gmail trigger was named after an inbox owner and is now On new email.
  • PDFs to download was a No-Op with nothing in it, so Download PDF had no address to fetch. It is now an Edit Fields
    node with one item: file_url, whitepaper_title, publish_year and author for the Bitcoin white paper. The
    address returned a PDF when Mindket tried it.
  • The chat trigger carried the booking agent's title and greeting, but its only line led to the PDF chain, and the
    booking agent had no input at all. Mindket's copy gives the trigger to the booking agent as
    Chat with the booking agent and adds a plain Chat with the PDF for the PDF chain.
  • Anthropic Chat Model was on version 1.2 with no model set. n8n's source gives that version
    claude-3-5-sonnet-20240620. Anthropic's deprecations page lists it as retired on 28 October 2025, with
    claude-sonnet-5-5 as the replacement. The node is now on version 1.6 and set to claude-sonnet-5-5. Both pages were
    read on 12 November 2026.

In the two calendar tools, the capital O in the name of the Google Calendar OAuth2 credential type is written as the JSON
escape \u004f. n8n reads the same name. The escape only stops a store check from taking that long name for a secret
key.

Before you start

  • An n8n instance, on n8n Cloud or your own server.
  • An OpenAI API key, for the classifier, the PDF chat and the embeddings.
  • For the labeller: a Gmail account with two labels, and for the webhook demo a Slack workspace.
  • For the PDF chat: a Pinecone account and an index named whitepapers made for 1,536-dimension vectors, the size
    n8n's embeddings node lists as its default.
  • For the booking agent: an Anthropic API key and a Google account with a calendar to book into.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Add an OpenAI credential. Select it in OpenAI Chat Model1, Embeddings OpenAI, Embeddings OpenAI2 and
    OpenAI Chat Model.
  3. For the webhook demo, add a Slack OAuth2 credential, select it in Send message and replace
    <YOUR_SLACK_CHANNEL_ID> with the channel's ID.
  4. For the labeller, add a Gmail OAuth2 credential and select it in On new email, Add automation label and
    Add music label. Replace the two label ids with your own, then switch On new email on: it is disabled in the file.
  5. For the PDF chat, add a Pinecone credential and select it in Insert into Pinecone vector store and
    Read Pinecone Vector Store. Create the whitepapers index first.
  6. For the booking agent, add an Anthropic credential and select it in Anthropic Chat Model. Add a Google Calendar
    OAuth2 credential and select it in Get calendar availability and Book appointment. Replace <YOUR_CALENDAR_EMAIL>
    in the three places it appears.
  7. Save. Run each example from its own trigger, as the next part describes.

How a run goes

Webhook demo:

  1. Webhook receives a request. Whether email contains n8n checks whether its email query value contains @n8n.
  2. When it does, Execute JavaScript adds a myNewField of 1 to the item, and Send message posts the address to Slack.

Email labeller:

  1. On new email polls Gmail every minute for new messages.
  2. Assign label with AI asks a gpt-4o model to pick one of two categories from the message text: automation for mail
    about workflows and automated processes, music for mail about music.
  3. Add automation label or Add music label puts the matching label on the message. A message that fits neither is
    dropped.

PDF chat:

  1. PDFs to download holds one item, and Download PDF fetches its file_url.
  2. Insert into Pinecone vector store clears the whitepaper namespace and stores the file. Default Data Loader reads
    the PDF with its title, year and author as metadata, Recursive Character Text Splitter cuts it into chunks of 3,000
    characters with 200 of overlap, and Embeddings OpenAI makes the vectors.
  3. Chat with the PDF takes a question. Question and Answer Chain adds the instruction to answer only from the stored
    passages, and Vector Store Retriever fetches them from Read Pinecone Vector Store. A gpt-4o model writes the
    answer.

Booking agent:

  1. Chat with the booking agent opens a public chat titled Book an appointment.
  2. Appointment booking agent runs on Anthropic Chat Model with Window Buffer Memory, which keeps the last 10
    messages. Its prompt makes appointments 30 minutes long and allows a booking only into a free slot.
  3. Get calendar availability posts a free and busy request to Google Calendar. Book appointment creates the event, titled
    with the visitor's name, and adds the visitor and the calendar's owner as attendees.

Change the look

  • The classifier's categories: the names and descriptions in Assign label with AI.
  • The labels: the ids in the two Gmail nodes.
  • What the PDF chat answers from: the item in PDFs to download, and the namespace and index in the Pinecone nodes.
  • How the PDF chat answers: the text in Question and Answer Chain.
  • The booking rules: the system message in Appointment booking agent, and timeZone in the bodies of both tools.
  • The models: OpenAI Chat Model, OpenAI Chat Model1 and Anthropic Chat Model.

Good to know

  • The model and agent facts below come from pages and source files read on 12 November 2026.
  • The two OpenAI chat nodes set gpt-4o. OpenAI's deprecations page gives 14 January 2027 as the shutdown date of
    gpt-4o-2024-08-06 and gpt-4o-2024-11-20, with gpt-6-luna as the replacement. It does not list
    text-embedding-ada-002, the embeddings node's default for this version.
  • Insert into Pinecone vector store clears its namespace before it stores a file, so each run replaces the last PDF.
  • Assign label with AI has one category for each message and, with no fallback set, drops a message that fits neither.
  • The booking chat is public. Once the workflow is active, anyone with the chat's address can book into your calendar and
    run up your Anthropic bill.
  • Both calendar tools write Europe/Berlin into their requests, and the free and busy tool's description gives its example
    in 2024. Change both to your own time zone.
  • Window Buffer Memory lives inside the n8n instance. n8n's source warns that it does not work in queue mode or with
    several main instances.
  • n8n's source says the Anthropic node ignores its temperature on Claude Sonnet 5 and later, so the 0.4 in the file has
    no effect.
  • The webhook demo posts whatever its email value holds to a Slack channel. Its path is a fixed string in the file, so
    change it before you switch the workflow on.
  • Billing: OpenAI bills the classifier, the embeddings and the PDF chat. Anthropic bills each booking chat turn.
  • Email text goes to OpenAI. The PDF's chunks go to OpenAI and Pinecone, the booking chat to Anthropic, and calendar
    requests to Google.
Files
NOTICE.md  652 B
README.md  8 KB
workflow.json  23 KB

3 files, 31 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

upscaler

uwg · Kit

Holds a set of image upscaling models gathered from the OpenModelDB community, for people who want to enlarge low-resolution pictures with AI on their own comp…

New

Pixel Art XL

nerijs · Kit

A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…

New

VibeVoice-1.5B

microsoft · Kit

Turns written conversations into spoken audio with up to four speakers and about 90 minutes of speech, an open Microsoft text-to-speech model for research on p…

New

Similar in Developer

See all in Developer

voicetut-egyptian-tashkeel

masterofaudio2077 · Kit

Reads Egyptian Arabic text aloud and follows the short vowel marks you write into it. A fine-tune of VoiceTut-TTS that keeps its 19 built-in voices and voice c…

New

Runs Meta's Llama 3.1 8B Instruct chat model in 4-bit AWQ form, so it fits on a GPU with about 4 GiB of free memory for the weights. For developers who want a…

New

Ru-Jev

besktech · Kit

Scores a Russian-first decision from a context and a list of options, giving a probability for yes/no, choice or rating questions. Runs on a plain CPU, for tea…

New