Skip to main content

Create meeting minutes from Telegram messages with GPT-5 to Airtable Slack Gmail

Workflow preview

Create meeting minutes from Telegram messages with GPT-5 to Airtable Slack Gmail preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

Overview

How it works?

baptistefortautomatisationairtable.png

  1. Send a message or a voice note on Telegram right after the meeting.
  2. n8n transcribes (if it's a voice note) and sends the text to GPT.
  3. GPT generates a structured and professional meeting minutes report.
  4. The report is automatically stored in Airtable.
  5. Your team is instantly notified in Slack.
  6. A formal email is sent via Gmail to the right recipients.

๐Ÿ‘‰ Works for all types of meetings: client calls, team syncs, project updatesโ€ฆ whether you type a message or send a quick voice memo.

If you need a professional n8n automation agency to build custom workflows like this, check out Vision IA's n8n automation services.


โœ… Requirements

Before running this workflow, youโ€™ll need:

  • A Telegram account with a bot configured (to send your messages/voice notes)
  • An OpenAI API key (for GPT and voice transcription)
  • An Airtable account with a base containing these fields:
    • Email
    • Subject
    • Report
  • A Slack account with the target channel for notifications
  • A Gmail account connected to n8n (OAuth2)

๐Ÿ”ง Step-by-step setup

baptistefortautomatisationagentia.png

Step 1 โ€“ Telegram Trigger

  • Node: Telegram Trigger
  • Updates: message
    ๐Ÿ‘‰ Captures every message or voice note sent to the bot.

Step 2 โ€“ Detect text or voice

  • Node: Code (โ€œMessage or Voice ?โ€)
  • Expected output:
    • { type: "text", content } if message
    • { type: "voice", file_id } if voice note
      ๐Ÿ‘‰ Routes the workflow based on the input type.

Step 3 โ€“ IF Condition

  • Condition: {{$json.type}} == voice
    ๐Ÿ‘‰ Directs to the transcription branch if itโ€™s a voice note.

Voice Branch ๐ŸŽค

Step 4 โ€“ Download the voice file

  • Node: Telegram โ†’ Voice note
  • Parameter: fileId = {{$json.file_id}}

Step 5 โ€“ Wait

  • Node: Wait (2โ€“3s)
    ๐Ÿ‘‰ Lets Telegram prepare the file.

Step 6 โ€“ Voice note download

  • Node: Telegram (file download)
    ๐Ÿ‘‰ Retrieves the audio file.

Step 7 โ€“ Transcribe to text

  • Node: OpenAI (Transcription)
  • Resource: audio
  • Operation: transcribe
    ๐Ÿ‘‰ Converts the voice note into plain text.

Step 8 โ€“ Short wait

๐Ÿ‘‰ Ensures continuity before sending to GPT.


Text Branch โœ๏ธ

Step 9 โ€“ Normalize

  • Node: Code (โ€œContentโ€)
  • Return: { text: $json.content }
    ๐Ÿ‘‰ Standardizes the text as if it were already a transcription.

Step 10 โ€“ Detect email

  • Node: Code (โ€œDomain or Email detectionโ€)
    ๐Ÿ‘‰ Extracts the target email (or builds a fallback [email protected]).

Step 11 โ€“ Generate meeting minutes

  • Node: Agent (โ€œGenerate Meeting Messageโ€)
  • Prompt: specialized for โ€œmeeting minutesโ€
  • Model: GPT-4.1-mini
  • Output: { email, subject, body }
    ๐Ÿ‘‰ GPT creates a clean and structured meeting report.

Step 12 โ€“ Enforce clean JSON

  • Node: Output Parser Structured
  • JSON Example:
    json {"email": "[email protected]","subject":"Subject","body":Email"}

๐Ÿ‘‰ Ensures the output is always valid JSON.

Step 13 โ€“ Cleanup / Airtable mapping

  • Node: Code
  • Return: { Email, subject, Report }

๐Ÿ‘‰ Prepares the correct fields aligned with your Airtable table.

If you need help setting up advanced Airtable workflows and database automation, check out Vision IA's Airtable automation services.


Step 14 โ€“ Store in Airtable

baptistefortautomatisationleads.png

  • Node: Airtable (Create Record)
  • Mapping:
    • Email = {{$json.Email}}
    • subject = {{$json.subject}}
    • Report = {{$json.Report}}
      ๐Ÿ‘‰ Archives each meeting report in your Airtable base.

Step 15 โ€“ Notify in Slack

  • Node: Slack (Send Message)
  • Channel: your team channel
  • Message: {{$json.fields.subject}}{{$json.fields.Report}}

Step 16 โ€“ Send the email

  • Node: Gmail (Send Email)
  • sendTo: {{$('Create a record').item.json.fields.Email}}
  • subject: {{$('Create a record').item.json.fields.subject}}
  • message: {{$('Create a record').item.json.fields.Report}}

Need Help Automating Your Communication Workflows?

This n8n workflow shows how powerful email automation and AI-powered documentation can be. If you want to go further with automated email campaigns, meeting follow-ups, and team communication systems, our agency specializes in building custom solutions.

๐Ÿ‘‰ Explore our email automation services: Vision IA โ€“ Email Automation Agency

We help businesses automate their entire communication pipelineโ€”from meeting notes to client follow-ups and internal notificationsโ€”all running automatically with AI assistance.

Questions about this workflow or other automation solutions? Visit Vision IA or reach out for a free consultation.