Workflow n8n

Automatisation Gmail avec n8n : création de réponses automatiques

  • Ce workflow n8n a pour objectif d'automatiser la gestion des emails entrants dans Gmail en générant des brouillons de réponses adaptées grâce à l'intelligence artificielle. Dans un contexte où la réactivité est cruciale, notamment pour les équipes commerciales ou de support client, cette automatisation permet de gagner un temps précieux tout en maintenant une communication efficace. Les cas d'usage incluent la gestion des demandes fréquentes, la réponse à des questions courantes ou la prise en charge de messages nécessitant une attention particulière.
  • Le workflow débute avec un déclencheur Gmail qui surveille les nouveaux emails entrants. Ensuite, une condition est vérifiée pour déterminer si le message nécessite une réponse. Si c'est le cas, le contenu de l'email est analysé à l'aide d'un parser JSON, suivi par une interaction avec le modèle de langage OpenAI pour générer une réponse appropriée. Les étapes suivantes incluent l'évaluation de la nécessité d'une réponse et la génération de celle-ci, qui est ensuite enregistrée en tant que brouillon dans Gmail. Ce processus utilise plusieurs noeuds n8n, notamment des intégrations avec Gmail et OpenAI, pour assurer une fluidité dans la création des réponses.
  • Les bénéfices business de ce workflow sont multiples : réduction du temps de réponse, amélioration de la satisfaction client et optimisation des ressources humaines. En automatisant la création de réponses, les équipes peuvent se concentrer sur des tâches à plus forte valeur ajoutée, tout en assurant une communication rapide et pertinente avec leurs interlocuteurs.
Tags clés :automatisationGmailIAn8nréponses automatiques
Catégorie: Webhook · Tags: automatisation, Gmail, IA, n8n, réponses automatiques0

Workflow n8n Gmail, réponses automatiques : vue d'ensemble

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

Workflow n8n Gmail, réponses automatiques : détail des nœuds

  • Gmail Trigger

    Ce noeud déclenche le workflow lorsqu'un nouvel email est reçu dans Gmail.

  • If Needs Reply

    Ce noeud évalue si le message nécessite une réponse en fonction de conditions définies.

  • JSON Parser

    Ce noeud analyse et extrait des données d'un JSON selon un schéma prédéfini.

  • OpenAI Chat

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

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu spécifié et des dimensions définies.

  • Sticky Note1

    Ce noeud crée une note autocollante avec un contenu spécifié et des dimensions définies.

  • Sticky Note2

    Ce noeud crée une note autocollante avec un contenu spécifié et des dimensions définies.

  • Sticky Note3

    Ce noeud crée une note autocollante avec un contenu spécifié et des dimensions définies.

  • OpenAI Chat Model

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

  • Gmail - Create Draft

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

  • Assess if message needs a reply

    Ce noeud évalue si un message nécessite une réponse en utilisant un modèle de langage.

  • Generate email reply

    Ce noeud génère une réponse par email en utilisant un modèle de langage basé sur le texte et les messages fournis.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "aOQANirVMuWrH0ZD",
  "meta": {
    "instanceId": "b78ce2d06ac74b90a581919cf44503cf07404c11eda5c3847597226683145618"
  },
  "name": "Gmail AI auto-responder: create draft replies to incoming emails",
  "tags": [],
  "nodes": [
    {
      "id": "2a9ff08f-919a-41a8-980b-8c2bca3059e4",
      "name": "Gmail Trigger",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        -332.809175564116,
        566.0845437534399
      ],
      "parameters": {
        "simple": false,
        "filters": {
          "q": "-from:me"
        },
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "ofvBTX8A0aWfQb2O",
          "name": "Gmail account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3ef14615-0045-404f-a21b-2c65a52f4be8",
      "name": "If Needs Reply",
      "type": "n8n-nodes-base.if",
      "position": [
        240,
        560
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "53849246-ad32-4845-9976-9f9688f5a6f2",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.needsReply }}",
              "rightValue": "true"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "36968dd5-8d51-4184-a05a-587b6c95aa82",
      "name": "JSON Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        100,
        720
      ],
      "parameters": {
        "jsonSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"needsReply\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\"needsReply\"]\n}\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2a64dce8-e2f0-475e-a366-a02084293aad",
      "name": "OpenAI Chat",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -92.809175564116,
        726.0845437534399
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {
          "temperature": 0,
          "responseFormat": "json_object"
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "13ffkrNMlQMfvbZy",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "be892ff8-0981-4b34-9c93-7674ddd90360",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -429.809175564116,
        461.08454375343996
      ],
      "parameters": {
        "width": 304.10628068244364,
        "height": 394.42512272977456,
        "content": "## When I receive an Email\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9d92839a-9ff2-436c-8abb-2f43e07c1ace",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112.809175564116,
        460.08454375343996
      ],
      "parameters": {
        "width": 556,
        "height": 397,
        "content": "## ... that Needs a Reply\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3cd77609-684c-44e2-9cdc-9479cfd836bd",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        460,
        460
      ],
      "parameters": {
        "width": 333.19082443588354,
        "height": 400.08454375343996,
        "content": "## Generate a Reply"
      },
      "typeVersion": 1
    },
    {
      "id": "b123cf31-767d-48bb-a0ba-79a69f6da585",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        807.190824435884,
        461.08454375343996
      ],
      "parameters": {
        "width": 326,
        "height": 395,
        "content": "## ...as a Draft in the conversation"
      },
      "typeVersion": 1
    },
    {
      "id": "1a87c416-6b1c-4526-a2b6-20468c95ea0e",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        480,
        680
      ],
      "parameters": {
        "model": "gpt-4-turbo",
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "13ffkrNMlQMfvbZy",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "84b4d516-252e-444e-b998-2d4aa0f89653",
      "name": "Gmail - Create Draft",
      "type": "n8n-nodes-base.gmail",
      "position": [
        900,
        560
      ],
      "parameters": {
        "message": "={{ $json.text.replace(/\\n/g, \"<br />\\n\") }}",
        "options": {
          "sendTo": "={{ $('Gmail Trigger').item.json.headers.from }}",
          "threadId": "={{ $('Gmail Trigger').item.json.threadId }}"
        },
        "subject": "=Re: {{ $('Gmail Trigger').item.json.headers.subject }}",
        "resource": "draft",
        "emailType": "html"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "ofvBTX8A0aWfQb2O",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "86017ff4-9c57-4b2a-9cd9-f62571a05ffd",
      "name": "Assess if message needs a reply",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -92.809175564116,
        566.0845437534399
      ],
      "parameters": {
        "prompt": "=Subject: {{ $json.subject }}\nMessage:\n{{ $json.textAsHtml }} ",
        "messages": {
          "messageValues": [
            {
              "message": "Your task is to assess if the message requires a response. Return in JSON format true if it does, false otherwise.\nMarketing emails don't require a response."
            }
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "cab1e7e5-93dc-4850-a471-e285cdbe2058",
      "name": "Generate email reply",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        500,
        520
      ],
      "parameters": {
        "text": "=Subject: {{ $('Gmail Trigger').item.json.subject }}\nMessage: {{ $('Gmail Trigger').item.json.textAsHtml }}",
        "messages": {
          "messageValues": [
            {
              "message": "You're a helpful personal assistant and your task is to draft replies on my behalf to my incoming emails. Whenever I provide some text from an email, return an appropriate draft reply for it and nothing else.\nEnsure that the reply is suitable for a professional email setting and addresses the topic in a clear, structured, and detailed manner.\nDo not make things up.\n\nDetailed instructions:\n- Be concise and maintain a business casual tone.\n- Start with \"Hello,\", and end with \"Best,\"\n- When replying to yes-no questions, draft 2 responses: one affirmative and one negative separated by \" - - - - - - - OR - - - - - - - \"\n- If you don't know an answer, you can leave placeholders like \"[YOUR_ANSWER_HERE]\".\n- Don't use any special formatting, only plain text.\n- Reply in the same language as the inbound email."
            }
          ]
        },
        "promptType": "define"
      },
      "typeVersion": 1.4
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c4448c34-1f75-4479-805e-20d8a69a7e00",
  "connections": {
    "JSON Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Assess if message needs a reply",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat": {
      "ai_languageModel": [
        [
          {
            "node": "Assess if message needs a reply",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Gmail Trigger": {
      "main": [
        [
          {
            "node": "Assess if message needs a reply",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If Needs Reply": {
      "main": [
        [
          {
            "node": "Generate email reply",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Generate email reply",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate email reply": {
      "main": [
        [
          {
            "node": "Gmail - Create Draft",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Assess if message needs a reply": {
      "main": [
        [
          {
            "node": "If Needs Reply",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Gmail, réponses automatiques : pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises de toutes tailles qui utilisent Gmail pour la gestion de leurs emails, notamment les équipes de support client, les commerciaux et les professionnels souhaitant améliorer leur efficacité. Un niveau technique intermédiaire est recommandé pour la mise en place et la personnalisation du workflow.

Workflow n8n Gmail, réponses automatiques : problème résolu

Ce workflow résout le problème de la gestion manuelle des emails, qui peut être chronophage et source de stress pour les équipes. En automatisant la création de réponses, il élimine les frustrations liées à la surcharge d'emails et réduit le risque d'oubli de réponses importantes. Les utilisateurs bénéficient ainsi d'une meilleure organisation et d'une communication plus fluide avec leurs clients.

Workflow n8n Gmail, réponses automatiques : étapes du workflow

Étape 1 : Le workflow est déclenché par l'arrivée d'un nouvel email dans Gmail.

  • Étape 1 : Une condition vérifie si le message nécessite une réponse.
  • Étape 2 : Si oui, le contenu de l'email est analysé à l'aide d'un parser JSON.
  • Étape 3 : Le modèle de langage OpenAI génère une réponse appropriée.
  • Étape 4 : Une évaluation est effectuée pour confirmer la nécessité d'une réponse.
  • Étape 5 : La réponse générée est enregistrée en tant que brouillon dans Gmail.

Workflow n8n Gmail, réponses automatiques : guide de personnalisation

Pour personnaliser ce workflow, il est possible de modifier les paramètres du déclencheur Gmail, tels que les filtres pour les emails entrants. Les utilisateurs peuvent également ajuster les modèles de réponse générés par OpenAI en modifiant les prompts utilisés dans les noeuds correspondants. En outre, il est conseillé de surveiller le flux pour s'assurer que les réponses générées correspondent aux attentes et d'ajuster les conditions de réponse selon les besoins spécifiques de l'entreprise.