Notes audio vers Google Docs

Intermédiaire

Ceci est unAI Summarization, Multimodal AIworkflow d'automatisation du domainecontenant 9 nœuds.Utilise principalement des nœuds comme If, Set, Function, Telegram, GoogleDocs. Utiliser Whisper et les étiquettes GPT-4o pour convertir les messages vocaux Telegram en documents Google

Prérequis
  • Token Bot Telegram
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "14MB25tL8q23UC6z",
  "meta": {
    "instanceId": "cb56cb3bab7bf366e48fdb39bc0ee15c984e2e754ddee75e0cfbe82dc0be35ed",
    "templateCredsSetupCompleted": true
  },
  "name": "Audio-Notizen zu Google Docs",
  "tags": [],
  "nodes": [
    {
      "id": "6dd948b1-2474-4a42-a9d1-e00a89db12a0",
      "name": "Telegram Réception message vocal",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -480,
        -192
      ],
      "webhookId": "244db411-67b3-49cd-8b8c-15e949741fcb",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {
          "download": true
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "WYfCmRaDNXKfdL0W",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "87c4f0ee-ab1e-4514-8b0c-f311a405baf0",
      "name": "OpenAI Transcription Whisper",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        192,
        -288
      ],
      "parameters": {
        "options": {
          "language": "de"
        },
        "resource": "audio",
        "operation": "transcribe"
      },
      "credentials": {
        "openAiApi": {
          "id": "m7EOz07pBI5LxjWf",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "37f19a94-f24b-41fb-a0cd-2f82e2e488e5",
      "name": "Formatter le texte",
      "type": "n8n-nodes-base.function",
      "position": [
        768,
        -192
      ],
      "parameters": {
        "functionCode": "// Intelligente Erkennung: Audio oder Text?\nconst keywords = $input.first().json.message.content; // Von \"Message a model\"\nconst messageDate = new Date($('Telegram Sprachnachricht Empfang').first().json.message.date * 1000);\nconst userName = $('Telegram Sprachnachricht Empfang').first().json.message.from.first_name;\nconst originalMessage = $('Telegram Sprachnachricht Empfang').first().json.message;\n\n// Prüfe ob es eine Sprachnachricht war\nconst isVoiceMessage = originalMessage.voice !== undefined;\n\nlet originalText;\nlet messageType;\n\nif (isVoiceMessage) {\n  // Sprachnachricht: Text von Whisper holen\n  originalText = $('OpenAI Whisper Transkription').first().json.text;\n  messageType = \"🎤 Sprachnachricht\";\n} else {\n  // Textnachricht: Text direkt aus der Telegram-Nachricht\n  originalText = originalMessage.text;\n  messageType = \"💬 Textnachricht\";\n}\n\n// Deutsche Formatierung mit Schweizer Zeitzone\nconst formattedDate = messageDate.toLocaleString('de-CH', {\n  year: 'numeric',\n  month: '2-digit',\n  day: '2-digit',\n  hour: '2-digit',\n  minute: '2-digit',\n  timeZone: 'Europe/Zurich'\n});\n\n// Format: Datum, Typ, Schlagworte, Text\nconst formattedText = `\\n\\n📅 ${formattedDate} (${messageType})\\n🏷️ Schlagworte: ${keywords}\\n📝 Inhalt: ${originalText}`;\n\nreturn [{\n  json: {\n    formattedText: formattedText,\n    originalText: originalText,\n    keywords: keywords,\n    timestamp: formattedDate,\n    userName: userName,\n    messageType: isVoiceMessage ? 'voice' : 'text'\n  }\n}];"
      },
      "typeVersion": 1
    },
    {
      "id": "bddc9bec-8574-4835-b45e-ed2a5a3f82c3",
      "name": "Enregistrer dans doc Google",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        992,
        -192
      ],
      "parameters": {
        "actionsUi": {
          "actionFields": [
            {
              "text": "={{ $json.formattedText }}",
              "action": "insert"
            }
          ]
        },
        "operation": "update",
        "documentURL": "https://docs.google.com/document/d/1XYhGMHOPCMdZJgOyhIa77_LpUmVceyp-HjpyEj6fv48/edit?tab=t.0"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "id": "uXZO5vC2yqTXbjnQ",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "2778d7b4-6a14-4344-bb3e-f05f57cbef14",
      "name": "Envoyer confirmation",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1216,
        -192
      ],
      "webhookId": "f8f31748-0cd7-486c-991e-c7e3ac2c427e",
      "parameters": {
        "text": "=✅ Nachricht erfolgreich gespeichert!\n\n📝 Text:\n\n{{ $('Text formatieren').first().json.originalText }} ",
        "chatId": "={{ $('Telegram Sprachnachricht Empfang').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "WYfCmRaDNXKfdL0W",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3d479616-eba7-4395-b8f7-16dc13601e96",
      "name": "Obtenir un fichier",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -32,
        -288
      ],
      "webhookId": "1389312d-14f5-4755-ae07-feafa7163c78",
      "parameters": {
        "fileId": "={{ $json.message.voice.file_id }}",
        "resource": "file",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "WYfCmRaDNXKfdL0W",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0bdf1854-ee89-4dd6-b70e-cd1f7495243f",
      "name": "Message à un modèle",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        416,
        -192
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "chatgpt-4o-latest",
          "cachedResultName": "CHATGPT-4O-LATEST"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Du erhältst den Text einer Nachricht von Julian Reich. Deine Aufgabe ist es, den Text mit maximal drei Schlagworten zusammenzufassen. Beispiele für Schlagworte sind: Arbeit, Idee, Privat, Sport, Ernährung, Schlaf, KI, Projekt, Effizienz, Problem.\nMache zudem falls nötig minimale Anpassungen am Text, insbesondere wenn der Begriff \"Claude\" nicht erkannt wird. Dieser wird oft mit Cloth, Klot oder anderen falschen Begriffen transkribiert. Halte dich aber grundsätzlich mit Eingriffen zurück. \n\\n\\nHier der Text: {{ $json.text }} "
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "m7EOz07pBI5LxjWf",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "fa17de4c-7303-4e85-9385-3e0439e88c8f",
      "name": "Vérifier si fichier audio",
      "type": "n8n-nodes-base.if",
      "position": [
        -256,
        -192
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "2b538077-d3d3-4713-b973-68748313ff97",
              "operator": {
                "type": "object",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.message.voice }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "f49d300a-68a8-418d-80c0-78032ee65ee4",
      "name": "Définir champ",
      "type": "n8n-nodes-base.set",
      "position": [
        192,
        -96
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "eb912219-2436-4f04-8ffc-c1c20eb07344",
              "name": "text",
              "type": "string",
              "value": "={{ $json.message.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "9368fc5a-9ac9-4736-9990-f50a54f714fb",
  "connections": {
    "f49d300a-68a8-418d-80c0-78032ee65ee4": {
      "main": [
        [
          {
            "node": "0bdf1854-ee89-4dd6-b70e-cd1f7495243f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3d479616-eba7-4395-b8f7-16dc13601e96": {
      "main": [
        [
          {
            "node": "87c4f0ee-ab1e-4514-8b0c-f311a405baf0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0bdf1854-ee89-4dd6-b70e-cd1f7495243f": {
      "main": [
        [
          {
            "node": "37f19a94-f24b-41fb-a0cd-2f82e2e488e5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "37f19a94-f24b-41fb-a0cd-2f82e2e488e5": {
      "main": [
        [
          {
            "node": "bddc9bec-8574-4835-b45e-ed2a5a3f82c3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fa17de4c-7303-4e85-9385-3e0439e88c8f": {
      "main": [
        [
          {
            "node": "3d479616-eba7-4395-b8f7-16dc13601e96",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "f49d300a-68a8-418d-80c0-78032ee65ee4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bddc9bec-8574-4835-b45e-ed2a5a3f82c3": {
      "main": [
        [
          {
            "node": "2778d7b4-6a14-4344-bb3e-f05f57cbef14",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "87c4f0ee-ab1e-4514-8b0c-f311a405baf0": {
      "main": [
        [
          {
            "node": "0bdf1854-ee89-4dd6-b70e-cd1f7495243f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6dd948b1-2474-4a42-a9d1-e00a89db12a0": {
      "main": [
        [
          {
            "node": "fa17de4c-7303-4e85-9385-3e0439e88c8f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - Résumé IA, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds9
Catégorie2
Types de nœuds7
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34