Workflow n8n

Automatisation Email avec n8n : gestion intelligente des messages

  • Ce workflow n8n, intitulé 'Email Agent', a pour objectif d'automatiser la gestion des emails en intégrant des modèles de langage avancés grâce à OpenAI. Dans un contexte professionnel où la gestion des emails peut devenir chronophage, ce workflow permet d'optimiser le traitement des messages entrants et sortants, tout en améliorant la réactivité des équipes. Les cas d'usage incluent la création de brouillons, l'envoi d'emails, la réponse automatique aux messages, ainsi que la gestion des étiquettes pour un suivi efficace.
  • Le workflow commence par un déclencheur qui s'active lorsqu'il est exécuté par un autre workflow. Ensuite, le modèle de langage d'OpenAI est utilisé pour générer des réponses adaptées aux emails reçus. Les étapes suivantes incluent la création de brouillons d'emails, l'envoi de messages, et la gestion des emails en marquant certains comme non lus ou en appliquant des étiquettes spécifiques. Les noeuds principaux tels que 'Get Emails' et 'Send Email' interagissent avec l'API Gmail pour effectuer ces actions.
  • Les bénéfices business de cette automatisation n8n sont multiples : réduction du temps de réponse, amélioration de la productivité des équipes et optimisation de la gestion des communications. En intégrant ce workflow, les entreprises peuvent s'assurer que chaque email est traité de manière efficace, ce qui se traduit par une meilleure satisfaction client et une gestion des ressources humaines plus fluide.
Tags clés :automatisationGmailOpenAIworkflowemail
Catégorie: Manual · Tags: automatisation, Gmail, OpenAI, workflow, email0

Workflow n8n Gmail, OpenAI, email : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Gmail, OpenAI, email : détail des nœuds

  • OpenAI Chat Model

    Ce noeud utilise le modèle de chat d'OpenAI pour générer des réponses basées sur les entrées fournies.

  • Try Again

    Ce noeud permet de réessayer une action précédente en définissant de nouvelles valeurs pour les variables.

  • Success

    Ce noeud définit des valeurs de succès pour indiquer que l'exécution d'une étape a été réussie.

  • Email Agent

    Ce noeud envoie un message à un agent en utilisant un type de prompt et un texte spécifiés.

  • Send Email

    Ce noeud envoie un email à un destinataire avec un sujet et un message définis.

  • Get Emails

    Ce noeud récupère les emails d'un compte Gmail en fonction des filtres et des limites spécifiés.

  • Create Draft

    Ce noeud crée un brouillon d'email avec un sujet et un message spécifiés.

  • Email Reply

    Ce noeud répond à un email existant en utilisant l'identifiant du message et le contenu de la réponse.

  • Get Labels

    Ce noeud récupère les étiquettes disponibles dans un compte Gmail.

  • Label Emails

    Ce noeud applique des étiquettes à des emails spécifiques en utilisant leurs identifiants.

  • Mark Unread

    Ce noeud marque un email comme non lu en utilisant son identifiant.

  • When Executed by Another Workflow

    Ce noeud déclenche l'exécution d'un autre workflow à partir d'une source d'entrée spécifiée.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "C3hLlOS4O6ZJtVFy",
  "meta": {
    "instanceId": "95e5a8c2e51c83e33b232ea792bbe3f063c094c33d9806a5565cb31759e1ad39",
    "templateCredsSetupCompleted": true
  },
  "name": "🤖Email Agent",
  "tags": [],
  "nodes": [
    {
      "id": "c98bcc4d-20a9-4b29-a4aa-f6b6e7bb1f1b",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        560,
        680
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "BP9v81AwJlpYGStD",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0505c1f0-53d1-4988-843f-eb9eac2d7856",
      "name": "Try Again",
      "type": "n8n-nodes-base.set",
      "position": [
        1640,
        500
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7ab380a2-a8d3-421c-ab4e-748ea8fb7904",
              "name": "response",
              "type": "string",
              "value": "Unable to perform task. Please try again."
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "97393469-bde9-4a13-8d89-68ac6a4305db",
      "name": "Success",
      "type": "n8n-nodes-base.set",
      "position": [
        1640,
        320
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "39c2f302-03be-4464-a17a-d7cc481d6d44",
              "name": "=response",
              "type": "string",
              "value": "={{$json.output}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "0f7ba4a7-44b1-41ce-8904-9a78e8e03be4",
      "name": "Email Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "onError": "continueErrorOutput",
      "position": [
        1040,
        400
      ],
      "parameters": {
        "text": "={{ $json.query }}",
        "options": {
          "systemMessage": "=# Overview\nYou are an email management assistant. All emails must be formatted professionally in HTML and signed off as \"Nate.\" \n\n**Email Management Tools**   \n   - Use \"Send Email\" to send emails.  \n   - Use \"Create Draft\" if the user asks for a draft.  \n   - Use \"Get Emails\" to retrieve emails when requested.\n   - Use \"Get Labels\" to retrieve labels.\n   - Use \"Mark Unread\" to mark an email as unread. You must use \"Get Emails\" first so you have the message ID of the email to flag.\n   - Use \"Label Email\" to flag an email. You must use \"Get Emails\" first so you have the message ID of the email to flag. Then you must use \"Get Labels\" so you have the label ID.\n   - Use \"Email Reply\" to reply to an email. You must use \"Get Emails\" first so you have the message ID of the email to reply to.\n\n## Final Notes\n- Here is the current date/time: {{ $now }}"
        },
        "promptType": "define"
      },
      "typeVersion": 1.6
    },
    {
      "id": "9e043f46-3e1a-431a-9495-b34e251de785",
      "name": "Send Email",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        720,
        760
      ],
      "webhookId": "86c8c4b1-13bb-4ebe-acb9-30e1d7082d55",
      "parameters": {
        "sendTo": "={{ $fromAI(\"emailAddress\") }}",
        "message": "={{ $fromAI(\"emailBody\") }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ $fromAI(\"subject\") }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "MHutgNQIvAz7qMgP",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "fc850981-86fa-4714-a47a-27d5ed2f4944",
      "name": "Get Emails",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1360,
        860
      ],
      "webhookId": "af4b3298-9037-44b0-aa12-2acbfbb5e66f",
      "parameters": {
        "limit": "={{ $fromAI(\"limit\",\"how many emails the user wants\") }}",
        "simple": false,
        "filters": {
          "sender": "={{ $fromAI(\"sender\",\"who the emails are from\") }}"
        },
        "options": {},
        "operation": "getAll"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "MHutgNQIvAz7qMgP",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "c460b943-04a8-4598-9e70-be4f5d4d2303",
      "name": "Create Draft",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1200,
        880
      ],
      "webhookId": "17016bce-d7d7-428a-a56c-f6ea122db8be",
      "parameters": {
        "message": "={{ $fromAI(\"emailBody\") }}",
        "options": {
          "sendTo": "={{ $fromAI(\"emailAddress\") }}"
        },
        "subject": "={{ $fromAI(\"subject\") }}",
        "resource": "draft",
        "emailType": "html"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "MHutgNQIvAz7qMgP",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "500202a6-a9be-45ac-be3d-33e0928fb830",
      "name": "Email Reply",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        880,
        820
      ],
      "webhookId": "114785e6-a859-432b-81b4-c490c1c35b1c",
      "parameters": {
        "message": "={{ $fromAI(\"emailBody\") }}",
        "options": {
          "appendAttribution": false
        },
        "messageId": "={{ $fromAI(\"ID\",\"the message ID\") }}",
        "operation": "reply"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "MHutgNQIvAz7qMgP",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b05ce6a1-ae44-4d46-a32b-c6d2250794b1",
      "name": "Get Labels",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1480,
        800
      ],
      "webhookId": "9e08b59e-792d-4566-83f1-9263c9ad86ae",
      "parameters": {
        "resource": "label",
        "returnAll": true
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "MHutgNQIvAz7qMgP",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "88c2635f-5088-4f0c-b5f8-c4a5f73ffc79",
      "name": "Label Emails",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1040,
        860
      ],
      "webhookId": "0e951529-2e6d-40bf-ac40-fc0947e242e2",
      "parameters": {
        "labelIds": "={{ $fromAI(\"labelID\") }}",
        "messageId": "={{ $fromAI(\"ID\",\"the ID of the message\") }}",
        "operation": "addLabels"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "MHutgNQIvAz7qMgP",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "8f3771c3-cf3d-4481-8a6d-4ead60291649",
      "name": "Mark Unread",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1620,
        740
      ],
      "webhookId": "a35af9d8-f67d-4ff9-803f-59ec6356e795",
      "parameters": {
        "messageId": "={{ $fromAI(\"messageID\") }}",
        "operation": "markAsUnread"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "MHutgNQIvAz7qMgP",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "053be115-2ecf-4d22-8f7f-93ad7271bf80",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        800,
        400
      ],
      "parameters": {
        "inputSource": "passthrough"
      },
      "typeVersion": 1.1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e76750a7-4129-45a9-83ff-321a6ba6d324",
  "connections": {
    "Get Emails": {
      "ai_tool": [
        [
          {
            "node": "Email Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Labels": {
      "ai_tool": [
        [
          {
            "node": "Email Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Send Email": {
      "ai_tool": [
        [
          {
            "node": "Email Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Email Agent": {
      "main": [
        [
          {
            "node": "Success",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Try Again",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email Reply": {
      "ai_tool": [
        [
          {
            "node": "Email Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Mark Unread": {
      "ai_tool": [
        [
          {
            "node": "Email Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create Draft": {
      "ai_tool": [
        [
          {
            "node": "Email Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Label Emails": {
      "ai_tool": [
        [
          {
            "node": "Email Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Email Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Email Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Gmail, OpenAI, email : pour qui est ce workflow ?

Ce workflow s'adresse aux équipes marketing, aux professionnels de la communication et aux entreprises de taille petite à moyenne qui cherchent à automatiser leur gestion des emails. Un niveau technique intermédiaire est recommandé pour la personnalisation et l'intégration du workflow.

Workflow n8n Gmail, OpenAI, email : problème résolu

Ce workflow résout le problème de la surcharge de travail liée à la gestion des emails. En automatisant les réponses et la création de brouillons, il élimine les frustrations causées par le traitement manuel des messages. Les utilisateurs bénéficient d'une réduction significative du temps consacré à la gestion des emails, tout en assurant une communication rapide et efficace avec leurs clients et partenaires.

Workflow n8n Gmail, OpenAI, email : étapes du workflow

Étape 1 : Le workflow est déclenché par une exécution manuelle ou par un autre workflow.

  • Étape 1 : Le modèle de langage d'OpenAI génère des réponses adaptées aux emails reçus.
  • Étape 2 : Les emails sont récupérés via le noeud 'Get Emails'.
  • Étape 3 : Des brouillons sont créés pour les réponses à envoyer.
  • Étape 4 : Les emails sont envoyés grâce au noeud 'Send Email'.
  • Étape 5 : Les emails peuvent être marqués comme non lus ou étiquetés pour un suivi ultérieur.

Workflow n8n Gmail, OpenAI, email : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier les paramètres du noeud 'OpenAI Chat Model' pour adapter le style et le ton des réponses générées. Il est également possible d'ajuster les filtres dans le noeud 'Get Emails' pour cibler des messages spécifiques. Pour l'envoi d'emails, assurez-vous de configurer correctement les champs 'sendTo', 'subject' et 'message' dans le noeud 'Send Email'. Enfin, vous pouvez intégrer d'autres outils ou services en ajoutant des noeuds supplémentaires selon vos besoins.