Automatisierte Transkription und Zusammenfassung von Fireflies-Konferenzen
Dies ist ein Document Extraction, AI Summarization-Bereich Automatisierungsworkflow mit 26 Nodes. Hauptsächlich werden Set, Code, Gmail, Merge, Webhook und andere Nodes verwendet. Automatisierung von Zusammenfassungen von Fireflies-Transkripten mit Gemini und Gmail
- •Google-Konto + Gmail API-Anmeldedaten
- •HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
- •OpenAI API Key
Verwendete Nodes (26)
{
"id": "MBDLFA4yk0BfFQcM",
"meta": {
"instanceId": "a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462",
"templateCredsSetupCompleted": true
},
"name": "Fireflies Meeting Transcript & Summary Automation",
"tags": [],
"nodes": [
{
"id": "2e6b7379-7002-48ce-b96e-9ce85802b158",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-784,
112
],
"webhookId": "880cfe0f-5c81-46cd-b717-be89dfa045cf",
"parameters": {
"path": "880cfe0f-5c81-46cd-b717-be89dfa045cf",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "171f9f42-d428-4788-b922-eacdf20ec81a",
"name": "Transkript abrufen",
"type": "@firefliesai/n8n-nodes-fireflies.fireflies",
"position": [
496,
112
],
"parameters": {
"transcriptId": "={{ $json.body.meetingId }}"
},
"credentials": {
"firefliesApi": {
"id": "86mwg8Qt4yqONbKB",
"name": "Fireflies account"
}
},
"typeVersion": 1
},
{
"id": "ee48206c-8bfc-4dd7-aee4-2ff2d8396b25",
"name": "Bei Klick auf 'Workflow ausführen'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-784,
-80
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e00e737b-7e6a-46d2-8bb4-6c3bdd268c90",
"name": "Gmail Trigger",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
-784,
304
],
"parameters": {
"filters": {
"q": "subject:Your meeting recap",
"sender": "fred@fireflies.ai"
},
"pollTimes": {
"item": [
{
"mode": "everyHour",
"minute": 1
}
]
}
},
"credentials": {
"gmailOAuth2": {
"id": "nyuHvSX5HuqfMPlW",
"name": "Gmail account (n3w.it)"
}
},
"typeVersion": 1.2
},
{
"id": "ba732ec4-b1d0-456f-93e1-8697f327207f",
"name": "Nachricht abrufen",
"type": "n8n-nodes-base.gmail",
"position": [
-512,
304
],
"webhookId": "97c9b3fa-56ea-4a0d-867e-7084579c6701",
"parameters": {
"simple": false,
"options": {},
"messageId": "={{ $json.id }}",
"operation": "get"
},
"credentials": {
"gmailOAuth2": {
"id": "nyuHvSX5HuqfMPlW",
"name": "Gmail account (n3w.it)"
}
},
"typeVersion": 2.1
},
{
"id": "73d609de-1675-488c-9d8c-68adcaf53870",
"name": "Informationsextraktor",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
-96,
304
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemPromptTemplate": "You are an expert extraction algorithm.\nOnly extract relevant information from the text.\nIf you do not know the value of an attribute asked to extract, you may omit the attribute's value."
},
"attributes": {
"attributes": [
{
"name": "meeting_notes",
"required": true,
"description": "Estrai il link del meeting"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "c4c85559-784b-4b8b-a944-7a78b0266328",
"name": "OpenAI Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-160,
512
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "TefveNaDaMERl1hY",
"name": "OpenAi account (Eure)"
}
},
"typeVersion": 1.2
},
{
"id": "bd1ec6e4-cbe1-499e-9a72-dfc3c1a8395c",
"name": "Code1",
"type": "n8n-nodes-base.code",
"position": [
256,
304
],
"parameters": {
"jsCode": "// Loop over input items and extract meeting ID from the URL\nfor (const item of $input.all()) {\n const url = item.json.output.meeting_notes;\n \n // Find the position of \"::\" and \"?\"\n const startIndex = url.indexOf(\"::\") + 2;\n const endIndex = url.indexOf(\"?\");\n \n // Extract the meeting ID\n const meetingId = url.substring(startIndex, endIndex);\n \n // Replace the entire item with the desired structure\n item.json = { \n body: { \n meetingId: meetingId \n } \n };\n}\nreturn $input.all();"
},
"typeVersion": 2
},
{
"id": "76cf2b34-d1a4-4a4e-88c9-cae79f7133ee",
"name": "Meeting-Link setzen",
"type": "n8n-nodes-base.set",
"position": [
-304,
304
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "095e5770-57bb-4471-83a6-f83a00887c9d",
"name": "text",
"type": "string",
"value": "={{ $json.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ad53b5f9-7b95-49f3-aca6-cd9b6e5aa8de",
"name": "MeetingId setzen",
"type": "n8n-nodes-base.set",
"position": [
-304,
-80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2b842573-706d-499d-a106-8808f39a9920",
"name": "body.meetingId",
"type": "string",
"value": "01K18TW3MEX4XQ3TBG4RAD88HX"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "3da55996-bd1f-43f1-8d10-4294db196b45",
"name": "Nachricht senden1",
"type": "n8n-nodes-base.gmail",
"position": [
2144,
576
],
"webhookId": "a9460f49-968a-412d-8805-9c583f23c52f",
"parameters": {
"sendTo": "YOUR_EMAIL",
"message": "={{ $json.data }}",
"options": {
"appendAttribution": false
},
"subject": "=Short Meeting Recap"
},
"credentials": {
"gmailOAuth2": {
"id": "nyuHvSX5HuqfMPlW",
"name": "Gmail account (n3w.it)"
}
},
"typeVersion": 2.1
},
{
"id": "2aa61dca-63be-4085-a994-0be038738ab3",
"name": "Zusammenführen",
"type": "n8n-nodes-base.merge",
"position": [
1824,
112
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "d51ab401-514d-4683-9cf6-b9534b634b5e",
"name": "Aggregieren",
"type": "n8n-nodes-base.aggregate",
"position": [
2144,
112
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"renameField": true,
"outputFieldName": "text",
"fieldToAggregate": "content.parts[0].text"
}
]
}
},
"typeVersion": 1
},
{
"id": "4ea0f903-9b61-4c0c-a85d-a084ebf865d1",
"name": "Sätze setzen",
"type": "n8n-nodes-base.set",
"position": [
816,
-80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "0065541b-565a-484a-b52f-c89a579392b7",
"name": "sentences",
"type": "array",
"value": "={{ $json.data.sentences }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "df665dab-2ee4-42e6-bd43-0ee3e2349335",
"name": "Zusammenfassung setzen",
"type": "n8n-nodes-base.set",
"position": [
816,
240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3b86bb4c-e4fc-4af7-a644-cbef02675eed",
"name": "short_summary",
"type": "string",
"value": "={{ $json.data.summary.short_summary }}"
},
{
"id": "fc5a137a-a77d-4480-8c82-f7066ba2a9e5",
"name": "short_overview",
"type": "string",
"value": "={{ $json.data.summary.short_overview }}"
},
{
"id": "b84c63d6-2b28-4d0a-bb6e-b3c1b74cd0df",
"name": "overview",
"type": "string",
"value": "={{ $json.data.summary.overview }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "00e4b3cf-5fb0-4818-b361-c5eef944f0e8",
"name": "Vollständiges Transkript",
"type": "n8n-nodes-base.code",
"position": [
1072,
-80
],
"parameters": {
"jsCode": "// Accedi all'array sentences dal primo item\nconst transcriptArray = $input.first().json.sentences;\n\n// Verifica che l'array esista\nif (!transcriptArray || !Array.isArray(transcriptArray)) {\n throw new Error('Array sentences non trovato o non è un array');\n}\n\n// Crea la trascrizione combinata\nlet fullTranscript = '';\n\ntranscriptArray.forEach((segment) => {\n // Usa text_cleanup se disponibile, altrimenti fallback su text o raw_text\n const text = segment.ai_filters?.text_cleanup || segment.text || segment.raw_text;\n const speakerName = segment.speaker_name || 'Unknown Speaker';\n \n // Aggiungi il segmento alla trascrizione completa\n fullTranscript += `${speakerName}: ${text}\\n`;\n});\n\n// Rimuovi l'ultimo \\n se presente\nfullTranscript = fullTranscript.trim();\n\n// Loop over input items e aggiungi il campo full_transcript\nfor (const item of $input.all()) {\n item.json.full_transcript = fullTranscript;\n item.json.total_segments = transcriptArray.length;\n}\n\n//return $input.all();\n// Restituisci solo i campi richiesti\nreturn [{\n json: {\n full_transcript: fullTranscript,\n total_segments: transcriptArray.length\n }\n}];"
},
"typeVersion": 2
},
{
"id": "d2de3745-e563-4c52-9b0d-8754ffc45b31",
"name": "Volltext zu MD",
"type": "n8n-nodes-base.markdown",
"position": [
1808,
-80
],
"parameters": {
"mode": "markdownToHtml",
"options": {},
"markdown": "={{ $json.content.parts[0].text }}"
},
"typeVersion": 1
},
{
"id": "09926a2c-386d-4da6-9087-5d9bf01a274c",
"name": "Vollständige Meeting-Zusammenfassung senden",
"type": "n8n-nodes-base.gmail",
"position": [
2128,
-80
],
"webhookId": "a9460f49-968a-412d-8805-9c583f23c52f",
"parameters": {
"sendTo": "YOUR_EMAIL",
"message": "={{ $json.data }}",
"options": {
"appendAttribution": false
},
"subject": "=Full meeting summary: {{ $('Gmail Trigger').item.json.Subject }}"
},
"credentials": {
"gmailOAuth2": {
"id": "nyuHvSX5HuqfMPlW",
"name": "Gmail account (n3w.it)"
}
},
"typeVersion": 2.1
},
{
"id": "9a46a1ad-72c8-4d36-a35b-fa5ee5fd0a22",
"name": "Experten-Meeting-Transkripte",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
1312,
-80
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/gemini-2.5-pro",
"cachedResultName": "models/gemini-2.5-pro"
},
"options": {
"systemMessage": "=You're an expert at interpreting meeting transcripts. Summarize the text provided to you in Italian."
},
"messages": {
"values": [
{
"content": "=Full transcript:\n{{ $json.full_transcript }}"
}
]
}
},
"credentials": {
"googlePalmApi": {
"id": "AaNPKXAphyMzRgfA",
"name": "Google Gemini(PaLM) (Eure)"
}
},
"typeVersion": 1
},
{
"id": "fa0b5315-4211-48da-9a37-15e770d2cfd8",
"name": "Zu MD",
"type": "n8n-nodes-base.markdown",
"position": [
2528,
352
],
"parameters": {
"mode": "markdownToHtml",
"options": {},
"markdown": "={{ $json.content.parts[0].text }}"
},
"typeVersion": 1
},
{
"id": "1b18001c-bd1a-4976-b4ab-c39b207d9cc0",
"name": "E-Mail-Verfasser",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
2128,
352
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/gemini-2.5-pro",
"cachedResultName": "models/gemini-2.5-pro"
},
"options": {
"systemMessage": "=You must combine the two texts provided to you and make a complete email about what was discussed in the meeting in a single text to send to the client."
},
"messages": {
"values": [
{
"content": "=Summary\n'''\n{{ $json.text }}\n'''"
}
]
}
},
"credentials": {
"googlePalmApi": {
"id": "AaNPKXAphyMzRgfA",
"name": "Google Gemini(PaLM) (Eure)"
}
},
"typeVersion": 1
},
{
"id": "b8e6610b-0e1c-423d-adc7-ca954e9f4c9b",
"name": "Meeting-Zusammenfassung Experte",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
1312,
240
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/gemini-2.5-pro",
"cachedResultName": "models/gemini-2.5-pro"
},
"options": {
"systemMessage": "=You're an expert at interpreting meeting transcripts. You aggregate and summarize the texts provided to you."
},
"messages": {
"values": [
{
"content": "=Short summary:\n{{ $json.short_summary }}\n\nShort overview:\n{{ $json.short_overview }}\n\nOverview:\n{{ $json.overview }}"
}
]
}
},
"credentials": {
"googlePalmApi": {
"id": "AaNPKXAphyMzRgfA",
"name": "Google Gemini(PaLM) (Eure)"
}
},
"typeVersion": 1
},
{
"id": "6cead83a-0661-4e2d-a1f6-d2d8469a07ae",
"name": "E-Mail-Entwurf an Kunden",
"type": "n8n-nodes-base.gmail",
"position": [
2752,
352
],
"webhookId": "a9460f49-968a-412d-8805-9c583f23c52f",
"parameters": {
"message": "={{ $json.data }}",
"options": {},
"subject": "Recap Meeting",
"resource": "draft"
},
"credentials": {
"gmailOAuth2": {
"id": "nyuHvSX5HuqfMPlW",
"name": "Gmail account (n3w.it)"
}
},
"typeVersion": 2.1
},
{
"id": "a879cf0d-3d91-45bb-b58d-6b92b5aa2b19",
"name": "Zusammenfassung zu MD",
"type": "n8n-nodes-base.markdown",
"position": [
1808,
576
],
"parameters": {
"mode": "markdownToHtml",
"options": {},
"markdown": "={{ $json.content.parts[0].text }}"
},
"typeVersion": 1
},
{
"id": "5c0ee665-875d-4676-963d-c36ea029c62c",
"name": "Notizzettel",
"type": "n8n-nodes-base.stickyNote",
"position": [
-784,
-672
],
"parameters": {
"color": 3,
"width": 832,
"height": 352,
"content": "## Fireflies Meeting Transcript & Summary Automation\nThis workflow automates the process of retrieving meeting transcripts from [Fireflies.ai](https://app.fireflies.ai/login?referralCode=01K0V2Z1QHY76ZGY9450251C99), extracting and summarizing relevant content using Google Gemini, and sending or drafting well-formatted summaries and emails via Gmail.\n\n**Fireflies** is an AI-powered meeting assistant that automatically records, transcribes, and summarizes meetings. It integrates with popular video conferencing tools like Zoom, Google Meet, and Microsoft Teams, helping teams capture key insights and action items without manual note-taking.\n\n\nThis workflow automates meeting recap generation, from email detection to AI-powered summarization and delivery.\n\n3 possible triggers:\n- Manual trigger (set-up the MeetingId)\n- Webhook trigger\n- Gmail trigger\n"
},
"typeVersion": 1
},
{
"id": "d889fe43-dc9b-4147-b754-536d05826c03",
"name": "Notizzettel1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-784,
-288
],
"parameters": {
"width": 832,
"height": 144,
"content": "### PRELIMINARY STEPS\n- Sign up for FREE to [Fireflies.ai](https://app.fireflies.ai/login?referralCode=01K0V2Z1QHY76ZGY9450251C99) \n- Get API Key in \"Settings\"->\"Developer Settings\"->\"API Key\"\n- If you want to activate \"Webhook\", set n8n Webhook trigger url on \"Settings\"->\"Developer Settings\"->\"Webhook\"\n- In send:message Gmail node set your email address"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "2f8ef654-3e08-4219-bc75-281c8d8dff4f",
"connections": {
"bd1ec6e4-cbe1-499e-9a72-dfc3c1a8395c": {
"main": [
[
{
"node": "171f9f42-d428-4788-b922-eacdf20ec81a",
"type": "main",
"index": 0
}
]
]
},
"2aa61dca-63be-4085-a994-0be038738ab3": {
"main": [
[
{
"node": "d51ab401-514d-4683-9cf6-b9534b634b5e",
"type": "main",
"index": 0
}
]
]
},
"fa0b5315-4211-48da-9a37-15e770d2cfd8": {
"main": [
[
{
"node": "6cead83a-0661-4e2d-a1f6-d2d8469a07ae",
"type": "main",
"index": 0
}
]
]
},
"2e6b7379-7002-48ce-b96e-9ce85802b158": {
"main": [
[
{
"node": "171f9f42-d428-4788-b922-eacdf20ec81a",
"type": "main",
"index": 0
}
]
]
},
"d51ab401-514d-4683-9cf6-b9534b634b5e": {
"main": [
[
{
"node": "1b18001c-bd1a-4976-b4ab-c39b207d9cc0",
"type": "main",
"index": 0
}
]
]
},
"d2de3745-e563-4c52-9b0d-8754ffc45b31": {
"main": [
[
{
"node": "09926a2c-386d-4da6-9087-5d9bf01a274c",
"type": "main",
"index": 0
}
]
]
},
"a879cf0d-3d91-45bb-b58d-6b92b5aa2b19": {
"main": [
[
{
"node": "3da55996-bd1f-43f1-8d10-4294db196b45",
"type": "main",
"index": 0
}
]
]
},
"df665dab-2ee4-42e6-bd43-0ee3e2349335": {
"main": [
[
{
"node": "b8e6610b-0e1c-423d-adc7-ca954e9f4c9b",
"type": "main",
"index": 0
}
]
]
},
"1b18001c-bd1a-4976-b4ab-c39b207d9cc0": {
"main": [
[
{
"node": "fa0b5315-4211-48da-9a37-15e770d2cfd8",
"type": "main",
"index": 0
}
]
]
},
"4ea0f903-9b61-4c0c-a85d-a084ebf865d1": {
"main": [
[
{
"node": "00e4b3cf-5fb0-4818-b361-c5eef944f0e8",
"type": "main",
"index": 0
}
]
]
},
"ba732ec4-b1d0-456f-93e1-8697f327207f": {
"main": [
[
{
"node": "76cf2b34-d1a4-4a4e-88c9-cae79f7133ee",
"type": "main",
"index": 0
}
]
]
},
"e00e737b-7e6a-46d2-8bb4-6c3bdd268c90": {
"main": [
[
{
"node": "ba732ec4-b1d0-456f-93e1-8697f327207f",
"type": "main",
"index": 0
}
]
]
},
"ad53b5f9-7b95-49f3-aca6-cd9b6e5aa8de": {
"main": [
[
{
"node": "171f9f42-d428-4788-b922-eacdf20ec81a",
"type": "main",
"index": 0
}
]
]
},
"00e4b3cf-5fb0-4818-b361-c5eef944f0e8": {
"main": [
[
{
"node": "9a46a1ad-72c8-4d36-a35b-fa5ee5fd0a22",
"type": "main",
"index": 0
}
]
]
},
"171f9f42-d428-4788-b922-eacdf20ec81a": {
"main": [
[
{
"node": "4ea0f903-9b61-4c0c-a85d-a084ebf865d1",
"type": "main",
"index": 0
},
{
"node": "df665dab-2ee4-42e6-bd43-0ee3e2349335",
"type": "main",
"index": 0
}
]
]
},
"76cf2b34-d1a4-4a4e-88c9-cae79f7133ee": {
"main": [
[
{
"node": "73d609de-1675-488c-9d8c-68adcaf53870",
"type": "main",
"index": 0
}
]
]
},
"c4c85559-784b-4b8b-a944-7a78b0266328": {
"ai_languageModel": [
[
{
"node": "73d609de-1675-488c-9d8c-68adcaf53870",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"73d609de-1675-488c-9d8c-68adcaf53870": {
"main": [
[
{
"node": "bd1ec6e4-cbe1-499e-9a72-dfc3c1a8395c",
"type": "main",
"index": 0
}
]
]
},
"b8e6610b-0e1c-423d-adc7-ca954e9f4c9b": {
"main": [
[
{
"node": "a879cf0d-3d91-45bb-b58d-6b92b5aa2b19",
"type": "main",
"index": 0
},
{
"node": "2aa61dca-63be-4085-a994-0be038738ab3",
"type": "main",
"index": 1
}
]
]
},
"9a46a1ad-72c8-4d36-a35b-fa5ee5fd0a22": {
"main": [
[
{
"node": "d2de3745-e563-4c52-9b0d-8754ffc45b31",
"type": "main",
"index": 0
},
{
"node": "2aa61dca-63be-4085-a994-0be038738ab3",
"type": "main",
"index": 0
}
]
]
},
"ee48206c-8bfc-4dd7-aee4-2ff2d8396b25": {
"main": [
[
{
"node": "ad53b5f9-7b95-49f3-aca6-cd9b6e5aa8de",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - Dokumentenextraktion, KI-Zusammenfassung
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Davide
@n3witaliaFull-stack Web Developer based in Italy specialising in Marketing & AI-powered automations. For business enquiries, send me an email at info@n3w.it or add me on Linkedin.com/in/davideboizza
Diesen Workflow teilen