Plaud and n8n: connecting meeting notes through the official MCP server, and turning it into an open-source template

·8 min read

My Plaud arrived this week. First meeting recorded, clean transcript, decent summary. And then? The note stays in the Plaud app.

A meeting note is only worth something when it lands where the work happens: in the client folder, on the company record in the CRM, with the next actions in sight. So the same day, I built the missing pipeline with n8n. Then, since the problem isn't specific to my company, I turned it into an open-source template with several storage and CRM variants.

Here is the path, the decisions that matter and the traps I hit.

Plaud without native connectors: what exists today

At the time of writing, Plaud doesn't offer native connectors to the usual work tools. The documented way out is Zapier: two triggers, one when a transcript is generated, one when a summary is generated. Plaud is only available there as a trigger.

To send that data to n8n, you need a webhook on the Zapier side, which requires a paid plan. And even going that way, the essentials were missing in my tests: no audio file, no stable recording ID to deduplicate on, and shifted times on the dates.

My first idea was a Zapier relay into n8n. I dropped it.

Plaud's official MCP server, called directly from n8n

In late September 2026, Plaud launched an official MCP server, designed to connect its meetings to ChatGPT, Claude or Cursor. MCP (Model Context Protocol) is an open standard that lets an AI tool call an external service through described functions, here list_files, get_file or get_transcript.

What changes everything for an automation builder: n8n has an MCP Client node that calls the tools of an MCP server as a regular workflow step, with no AI agent involved. It handles OAuth2 authentication, which covers the Plaud connection: you sign in once with your account, then n8n refreshes the token.

The result: no middleman. n8n directly fetches the timestamped transcript, the summary generated by Plaud and a link to the audio.

If you are still choosing an automation tool, I covered the criteria in n8n or Make for an SME.

Two workflows: collect, then decide

The system fits in two core workflows.

The collector runs every 15 minutes. It lists recent recordings, skips the ones already processed (an n8n Data table keeps each recording ID), fetches the transcript, the summary and the audio link, then hands each new note to the processor. If the transcript isn't ready yet, it tries again on the next run, up to a maximum delay.

The processor receives one note at a time. It checks the calendar at the time of the recording, to know whether it was a meeting and with whom, then makes a single call to the language model. The model classifies the note as client, prospect, internal, personal or noise. It also writes a title, a summary, a CRM note and the next actions.

Then plain n8n nodes do the work:

  • the note is saved as Markdown in the category folder, with one sub-folder per client or prospect;
  • it is added to the company record in the CRM;
  • the audio is backed up in a dedicated folder;
  • a recap lands in Slack, with the suggested CRM changes.

The model decides, n8n executes

This is the most important decision in the project. The model has no tools. It can't write to the CRM or move a file. It returns a structured JSON decision, and deterministic nodes apply it.

Why not hand everything to an agent connected to the CRM? Because the raw material is a conversation. Anyone can say anything during a meeting, including sentences that look like instructions. With this architecture, the worst case is a wrong classification, visible in the Slack recap. Not a CRM record changed by mistake.

CRM writes are deliberately limited:

  • the workflow adds a note, it never creates or edits a company, contact or deal;
  • it only does so when exactly one company matches the name found;
  • zero or several matches: nothing is written, and the status shows up in Slack;
  • changes such as "move the deal to Proposal sent" are listed as suggestions, which I apply by hand.

I described this logic of action levels and human approval in where to put human approval for an AI agent in production. Here the rule is simple: whatever is reversible and useful goes through on its own, the rest waits for a person.

Another benefit: one model call per note. Cost and behavior stay predictable, which matters when the workflow runs all day.

What the documentation doesn't tell you

A few points cost me time. They are all handled in the template and documented in the repository.

Trap Symptom Fix
MCP responses as text The JSON comes after a short preamble Extract the JSON between the first and last brace
start_at in UTC without a suffix Every note shifted by your timezone offset Parse the date explicitly as UTC, then convert
Transcript not generated yet get_transcript returns no segments Retry on the next run, up to a maximum delay
Signed audio link The link expires: one hour in my tests, 24 hours according to the local server docs Download the audio during the same execution
Unpublished sub-workflows on n8n 2.x "Workflow is not active and cannot be executed" Publish the processor and the adapters
Slack channel or calendar not selected The whole workflow is blocked, even with "continue on error" Configure those nodes or disable them

The last one often surprises people: an empty selector is not an execution error, it is a missing parameter. n8n then refuses to start the whole workflow.

An open-source template with adapters

My original system was built around my own tools: Google Drive, Attio, Slack. To make it useful to others, I split it with Opus, Anthropic's model, into an adapter architecture. The collector and the processor know nothing about storage or the CRM. They call two small sub-workflows that follow a documented input and output contract.

Available variants:

Role Adapters
Storage Google Drive, OneDrive, Dropbox
CRM Attio, HubSpot, Pipedrive, Twenty, or no CRM
Language model OpenRouter by default, any n8n chat model node works

You import the two core workflows, one storage adapter and one CRM adapter. The README covers the setup, and each workflow is documented with Sticky Notes, like my Pennylane workflows.

The full chain was tested end to end with Google Drive and Attio. The other adapters follow the same contracts. Feedback and contributions are welcome, including new adapters: Notion, SharePoint, Salesforce, or self-hosted Twenty.

github.com/Gauthier-Huguenin/n8n-plaud-ai-meeting-notes

Sensitive data: what to settle first

A meeting transcript contains names, amounts and sometimes personal information. Before turning this workflow on, four settings deserve a real decision:

  • the model provider: the transcript is sent to it. With OpenRouter, you can restrict routing to providers with zero data retention, or use a model you host yourself. I compared these options in open or proprietary AI models;
  • the Slack channel: the recap contains the summary and the actions, so it must stay private;
  • personal notes: they are filed like the others, in a separate folder. If you don't want that, exclude them;
  • audio retention: files pile up fast, so set a purge rule.

To keep control over the execution itself, n8n can run on your own server. I described that option in my self-hosted stack with Hetzner, Coolify and n8n.

Sources

If you want to connect your own tools the same way, the n8n consultant for companies page explains how Kirako approaches this kind of project, and the AI agents and automation page presents the overall method.

Also available: Read in French