Traduction automatique des e-mails Gmail

Intermédiaire

Ceci est unMultimodal AIworkflow d'automatisation du domainecontenant 9 nœuds.Utilise principalement des nœuds comme If, Code, Gmail, OpenAi, GmailTrigger. Traduire automatiquement les e-mails Gmail reçus en anglais en utilisant OpenAI GPT-3.5

Prérequis
  • Compte Google et informations d'identification Gmail API
  • Clé API OpenAI

Catégorie

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
{
  "meta": {
    "instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc"
  },
  "nodes": [
    {
      "id": "20d9e7a4-52a6-42d4-8e30-640cf2bcb6dd",
      "name": "Instructions de Configuration",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        16
      ],
      "parameters": {
        "width": 280,
        "height": 520,
        "content": "🌍 **SETUP REQUIRED:**\n\n1. **Gmail Label:**\n   - Create label: 'Translated Emails'\n   - Or customize in final Gmail node\n\n2. **OpenAI API Key:**\n   - Get from platform.openai.com\n   - Add to n8n credentials\n   - Uses GPT-3.5-turbo (cost-effective)\n\n3. **Gmail OAuth:**\n   - Connect Gmail account\n   - Needs read/modify permissions\n\n🎯 Auto-detects language & translates non-English emails!"
      },
      "typeVersion": 1
    },
    {
      "id": "c2eff161-87e1-42b4-bb00-364a5b448c9f",
      "name": "Gmail Déclencheur de Nouvel Email",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        -48,
        240
      ],
      "parameters": {
        "simple": false,
        "filters": {
          "readStatus": "unread",
          "includeSpamTrash": false
        },
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9c6427cc-261a-43af-a4aa-97ceba914d42",
      "name": "Normaliser les Données de l'Email",
      "type": "n8n-nodes-base.code",
      "position": [
        160,
        240
      ],
      "parameters": {
        "jsCode": "// Normalize email data and prepare for language detection\nconst email = $input.first().json;\n\n// Extract email content - handle both plain text and HTML\nlet emailBody = email.snippet || email.textPlain || email.textHtml || '';\n\n// Remove HTML tags if present\nif (emailBody.includes('<')) {\n  emailBody = emailBody.replace(/<[^>]*>/g, ' ').replace(/\\s+/g, ' ').trim();\n}\n\n// Skip if email is too short to translate meaningfully\nif (emailBody.length < 10) {\n  console.log('Email too short, skipping translation');\n  return null;\n}\n\nconst normalizedData = {\n  message_id: email.id,\n  thread_id: email.threadId,\n  subject: email.subject || 'No Subject',\n  from: email.from,\n  to: email.to,\n  body_text: emailBody,\n  received_date: email.date,\n  labels: email.labelIds || [],\n  has_attachments: (email.attachments && email.attachments.length > 0)\n};\n\nconsole.log('Email prepared for language detection:', {\n  subject: normalizedData.subject,\n  from: normalizedData.from,\n  body_preview: normalizedData.body_text.substring(0, 100) + '...'\n});\n\nreturn {\n  json: normalizedData\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "e153e8ca-38ab-48cb-be2f-cdba1cca6faf",
      "name": "Détecter la Langue (OpenAI)",
      "type": "n8n-nodes-base.openAi",
      "position": [
        352,
        240
      ],
      "parameters": {
        "resource": "chat",
        "operation": "create",
        "requestOptions": {}
      },
      "typeVersion": 1
    },
    {
      "id": "ebc6660f-0a30-4c23-be79-1d2f8cbfddbd",
      "name": "Traduction Nécessaire ?",
      "type": "n8n-nodes-base.if",
      "position": [
        560,
        240
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "condition-1",
              "operator": {
                "type": "string",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.choices[0].message.content.trim().toLowerCase() }}",
              "rightValue": "en"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "18108511-b253-4bba-9efb-c3cfe4f71090",
      "name": "Traduire en Anglais",
      "type": "n8n-nodes-base.openAi",
      "position": [
        752,
        144
      ],
      "parameters": {
        "resource": "chat",
        "operation": "create",
        "requestOptions": {}
      },
      "typeVersion": 1
    },
    {
      "id": "ce532d8a-6cbc-4320-8cb1-a82a28126a14",
      "name": "Préparer l'Email Traduit",
      "type": "n8n-nodes-base.code",
      "position": [
        960,
        144
      ],
      "parameters": {
        "jsCode": "// Prepare translated email for forwarding\nconst originalEmail = $('Normalize Email Data').item.json;\nconst translationResponse = $input.first().json;\nconst detectedLanguage = $('Detect Language (OpenAI)').item.json.choices[0].message.content.trim();\n\nconst translatedContent = translationResponse.choices[0].message.content;\n\n// Create forwarded email content\nconst forwardedEmail = {\n  to: originalEmail.to, // Forward to same recipient or change as needed\n  subject: `[TRANSLATED] ${originalEmail.subject}`,\n  body: `🌍 AUTO-TRANSLATED EMAIL (Original Language: ${detectedLanguage.toUpperCase()})\n\n` +\n        `📧 Original From: ${originalEmail.from}\n` +\n        `📅 Received: ${originalEmail.received_date}\n` +\n        `🔗 Message ID: ${originalEmail.message_id}\n\n` +\n        `═══════════════════════════════════════\n` +\n        `TRANSLATED CONTENT:\n\n${translatedContent}\n` +\n        `═══════════════════════════════════════\n\n` +\n        `✨ This email was automatically translated by n8n workflow.`,\n  original_message_id: originalEmail.message_id,\n  detected_language: detectedLanguage\n};\n\nconsole.log('Prepared translated email:', {\n  subject: forwardedEmail.subject,\n  detected_language: detectedLanguage\n});\n\nreturn {\n  json: forwardedEmail\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "b2b30041-80a7-4b55-b594-0d717f365b09",
      "name": "Envoyer l'Email Traduit",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1152,
        144
      ],
      "webhookId": "94f9ae15-5447-4228-8ed2-bfaf9756dc8d",
      "parameters": {
        "message": "={{ $json.body }}",
        "options": {
          "ccList": "",
          "bccList": "",
          "replyTo": ""
        },
        "subject": "={{ $json.subject }}"
      },
      "typeVersion": 2.1
    },
    {
      "id": "7e9513fa-ce63-4815-b0a5-a05b622581d7",
      "name": "Ajouter l'Étiquette 'Traduit'",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1152,
        256
      ],
      "webhookId": "f61c3040-51bb-4018-8862-46d41c170024",
      "parameters": {
        "labelIds": [
          "INBOX",
          "Translated Emails"
        ],
        "messageId": "={{ $('Normalize Email Data').item.json.message_id }}",
        "operation": "addLabels"
      },
      "typeVersion": 2.1
    }
  ],
  "pinData": {},
  "connections": {
    "ebc6660f-0a30-4c23-be79-1d2f8cbfddbd": {
      "main": [
        [
          {
            "node": "18108511-b253-4bba-9efb-c3cfe4f71090",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9c6427cc-261a-43af-a4aa-97ceba914d42": {
      "main": [
        [
          {
            "node": "e153e8ca-38ab-48cb-be2f-cdba1cca6faf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "18108511-b253-4bba-9efb-c3cfe4f71090": {
      "main": [
        [
          {
            "node": "ce532d8a-6cbc-4320-8cb1-a82a28126a14",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c2eff161-87e1-42b4-bb00-364a5b448c9f": {
      "main": [
        [
          {
            "node": "9c6427cc-261a-43af-a4aa-97ceba914d42",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e153e8ca-38ab-48cb-be2f-cdba1cca6faf": {
      "main": [
        [
          {
            "node": "ebc6660f-0a30-4c23-be79-1d2f8cbfddbd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ce532d8a-6cbc-4320-8cb1-a82a28126a14": {
      "main": [
        [
          {
            "node": "b2b30041-80a7-4b55-b594-0d717f365b09",
            "type": "main",
            "index": 0
          },
          {
            "node": "7e9513fa-ce63-4815-b0a5-a05b622581d7",
            "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 - 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.

Workflows recommandés

Résumer automatiquement les enregistrements Zoom avec GPT-4 et envoyer vers Slack et par e-mail
Résumer automatiquement les enregistrements Zoom et les envoyer vers Slack et e-mail avec GPT-4
Code
Gmail
Slack
+
Code
Gmail
Slack
6 NœudsDavid Olusola
Résumé IA
Filtrage automatisé de CV avec GPT-4o et gestion d'erreurs - Processus Google Sheets et Google Drive
GPT-4o与错误traitementdeautomatisation简历筛选 - Google表格与云端硬盘流程
If
Set
Gmail
+
If
Set
Gmail
34 NœudsDavid Olusola
Création de contenu
Synthèse hebdomadaire des mises à jour Google Docs par IA → envoi par e-mail
Générer des résumés de documents hebdomadaires à partir de Google Docs avec GPT-4 et les envoyer par e-mail
Code
Cron
Gmail
+
Code
Cron
Gmail
10 NœudsDavid Olusola
Résumé IA
Publier automatiquement des articles WordPress sur les médias sociaux en utilisant Gemini AI et Blotato
Publication automatique d'articles WordPress sur les médias sociaux avec Gemini AI et Blotato
If
Code
Split Out
+
If
Code
Split Out
11 NœudsDavid Olusola
Réseaux sociaux
Envoyer automatiquement des factures PDF par e-mail avec Gmail via le déclencheur de paiement Stripe
Envoi automatique de factures PDF par e-mail via Gmail avec un déclencheur de paiement Stripe
Code
Gmail
Webhook
+
Code
Gmail
Webhook
5 NœudsDavid Olusola
Traitement des factures
Alertes de baisse pour le Bitcoin et l'Ethereum (Telegram, Slack et SMS)
Envoyer des alertes de baisse du Bitcoin et de l'Ethereum via Telegram, Slack et SMS
If
Code
Slack
+
If
Code
Slack
8 NœudsDavid Olusola
Trading crypto
Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds9
Catégorie1
Types de nœuds6
Description de la difficulté

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

Auteur
David Olusola

David Olusola

@dae221

I 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

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34