Zoom-Aufzeichnungen automatisch in Google Drive speichern und Besprechungen in Airtable protokollieren
Dies ist ein File Management, Multimodal AI-Bereich Automatisierungsworkflow mit 7 Nodes. Hauptsächlich werden Code, Webhook, Airtable, GoogleDrive, HttpRequest und andere Nodes verwendet. Automatisches Speichern von Zoom-Aufnahmen in Google Drive und Aufzeichnungen in Airtable
- •HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
- •Airtable API Key
- •Google Drive API-Anmeldedaten
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
Verwendete Nodes (7)
Kategorie
{
"meta": {
"instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "f57bfeb3-65d7-45c3-85fa-45f4c0e94d9f",
"name": "Datensatz erstellen oder aktualisieren",
"type": "n8n-nodes-base.airtable",
"position": [
944,
400
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appCV1g03wAMk91ZL",
"cachedResultUrl": "https://airtable.com/appCV1g03wAMk91ZL",
"cachedResultName": "contacts"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblvmGsSf7xTDtIwS",
"cachedResultUrl": "https://airtable.com/appCV1g03wAMk91ZL/tblvmGsSf7xTDtIwS",
"cachedResultName": "Zoom Meeting Log"
},
"columns": {
"value": {
"Host": "={{ $json.host }}",
"Topic": "={{ $json.topic }}",
"File Size": "={{ $json.file_type }}",
"File Type": "Other",
"Meeting ID": "={{ $json.meeting_id }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Meeting ID",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Meeting ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Topic",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Topic",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Host",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Host",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "File Type",
"type": "options",
"display": true,
"options": [
{
"name": "MP4",
"value": "MP4"
},
{
"name": "M4A",
"value": "M4A"
},
{
"name": "Other",
"value": "Other"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "File Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "File Size",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "File Size",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Google Drive Saved",
"type": "options",
"display": true,
"options": [
{
"name": "Yes",
"value": "Yes"
},
{
"name": "No",
"value": "No"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Google Drive Saved",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Timestamp",
"type": "dateTime",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Related Contact",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Related Contact",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"credentials": {
"airtableTokenApi": {
"id": "ungHc0pnbSXnUtl8",
"name": "full access"
}
},
"typeVersion": 2.1
},
{
"id": "a3d54194-cfb0-4497-8600-95399203959d",
"name": "Ergebnis protokollieren",
"type": "n8n-nodes-base.code",
"position": [
768,
400
],
"parameters": {
"jsCode": "// Collect metadata + Drive result\nconst driveFile = $input.first().json;\nconst prev = $('Normalize Recording Data').item.json;\n\nreturn {\n json: {\n ...prev,\n saved_to_drive: true,\n drive_file_id: driveFile.id,\n drive_link: driveFile.webViewLink\n }\n};"
},
"typeVersion": 2
},
{
"id": "03064eac-432f-452b-8170-6e661b7f39b0",
"name": "In Google Drive hochladen",
"type": "n8n-nodes-base.googleDrive",
"position": [
576,
400
],
"parameters": {
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "root",
"cachedResultName": "/ (Root folder)"
}
},
"typeVersion": 3
},
{
"id": "fede097e-50ae-452c-b317-819629e31d97",
"name": "Aufnahme herunterladen",
"type": "n8n-nodes-base.httpRequest",
"position": [
368,
400
],
"parameters": {
"url": "={{ $json.file_url }}",
"options": {}
},
"typeVersion": 4.1
},
{
"id": "606783f7-091d-488b-bef8-12d25b88a42a",
"name": "Aufnahmedaten normalisieren",
"type": "n8n-nodes-base.code",
"position": [
176,
400
],
"parameters": {
"jsCode": "// Normalize Zoom webhook payload\nconst event = $input.first().json;\nconst recording = event.payload.object.recording_files[0];\n\nreturn {\n json: {\n meeting_id: event.payload.object.id,\n topic: event.payload.object.topic,\n host: event.payload.object.host_email,\n file_url: recording.download_url,\n file_type: recording.file_type,\n file_size: recording.file_size,\n timestamp: new Date().toISOString()\n }\n};"
},
"typeVersion": 2
},
{
"id": "e33a40c8-508e-43af-9b4f-991b35ec2f4a",
"name": "Zoom-Aufnahme Webhook-Trigger",
"type": "n8n-nodes-base.webhook",
"position": [
-32,
400
],
"webhookId": "243c60a4-9f5a-4afc-afa4-33bf0cfab5de",
"parameters": {
"path": "zoom-recording",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 1
},
{
"id": "c82aaea6-6404-456b-991b-59674090864f",
"name": "Setzenup-Anleitung",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
192
],
"parameters": {
"content": "🎥 **SETUP REQUIRED:**\n\n1. **Zoom Setup:**\n - Create Zoom App → enable recording.completed event\n - Add webhook URL from this workflow\n\n2. **Google Drive:**\n - Connect OAuth\n - Replace `YOUR_FOLDER_ID`\n\n3. **Airtable:**\n - Create base → Table: `Meeting Logs`\n - Columns: Meeting ID | Topic | Host | File Type | File Size | Google Drive Saved | Drive Link | Timestamp\n - Replace `YOUR_AIRTABLE_BASE_ID`\n\n⚡ Saves Zoom recordings to Drive + logs metadata in Airtable!"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"a3d54194-cfb0-4497-8600-95399203959d": {
"main": [
[
{
"node": "f57bfeb3-65d7-45c3-85fa-45f4c0e94d9f",
"type": "main",
"index": 0
}
]
]
},
"fede097e-50ae-452c-b317-819629e31d97": {
"main": [
[
{
"node": "03064eac-432f-452b-8170-6e661b7f39b0",
"type": "main",
"index": 0
}
]
]
},
"03064eac-432f-452b-8170-6e661b7f39b0": {
"main": [
[
{
"node": "a3d54194-cfb0-4497-8600-95399203959d",
"type": "main",
"index": 0
}
]
]
},
"Zoom-Aufnahme Webhook": {
"main": [
[
{
"node": "606783f7-091d-488b-bef8-12d25b88a42a",
"type": "main",
"index": 0
}
]
]
},
"606783f7-091d-488b-bef8-12d25b88a42a": {
"main": [
[
{
"node": "fede097e-50ae-452c-b317-819629e31d97",
"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?
Fortgeschritten - Dateiverwaltung, Multimodales KI
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
David Olusola
@dae221I help ambitious businesses eliminate operational bottlenecks and scale faster with AI automation. My clients typically see 40-60% efficiency gains within 90 days. Currently accepting 3 new projects this quarter - david@daexai.com
Diesen Workflow teilen