Routage automatique des e-mails par IA et envoi d'alertes Slack

Intermédiaire

Ceci est unAI Summarization, Multimodal AIworkflow d'automatisation du domainecontenant 7 nœuds.Utilise principalement des nœuds comme Set, Gmail, Slack, GmailTrigger, Agent. Utiliser GPT-4o pour classer automatiquement les e-mails Gmail et envoyer des alertes Slack prioritaires

Prérequis
  • Compte Google et informations d'identification Gmail API
  • Token Bot Slack ou URL Webhook
  • 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
{
  "name": "AI Auto-Route Emails and Send Slack Alerts",
  "nodes": [
    {
      "id": "cfcf1f18-7faa-408d-9cb6-a7eb7fab5886",
      "name": "Déclenchement sur E-mail Non Lu",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        -368,
        224
      ],
      "parameters": {
        "filters": {
          "readStatus": "unread"
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "96e9c067-b27e-437c-9ea7-16e46cf1f09d",
      "name": "Obtenir l'E-mail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -144,
        224
      ],
      "parameters": {
        "simple": false,
        "options": {},
        "messageId": "={{ $json.id }}",
        "operation": "get"
      },
      "typeVersion": 2.1
    },
    {
      "id": "d7d471c3-65e2-43d6-8472-31d278171fd9",
      "name": "Agent IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        80,
        224
      ],
      "parameters": {
        "text": "=You are an email router. Read subject and body and output valid JSON with:\n- category: one of [sales_pre_purchase, support_technical, billing_refund, complaint_escalation]\n- from: {{$json.from?.value?.[0]?.address || $json.from?.email || ''}}\n- subject: {{$json.subject || $json.headers?.subject || $json.subject}}\n- priority: one of [low, normal, high, urgent]\n- summary: short one line summary\n- reason: short why you chose the category\n\nRules:\n- If the sender asks pre-purchase features, pricing, demos → sales_pre_purchase\n- If the sender reports bugs, errors, account access, how-to → support_technical\n- If the sender mentions charges, invoices, refunds → billing_refund\n- If the sender is angry, threatens to leave, mentions escalation or complaint → complaint_escalation\nOutput only minified JSON. No extra text.\n\nEmail Body:\n{{$json.textPlain || $json.text || ''}}\n",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "c906a662-dfe5-4bb7-ad61-5b472d4027bc",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        88,
        448
      ],
      "parameters": {
        "model": {
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "ce9714c6-1d15-470b-a805-1041a7a63571",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        216,
        448
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"category\": { \"type\": \"string\", \"enum\": [\"sales_pre_purchase\",\"support_technical\",\"billing_refund\",\"complaint_escalation\"] },\n    \"priority\": { \"type\": \"string\", \"enum\": [\"low\",\"normal\",\"high\",\"urgent\"] },\n    \"summary\": { \"type\": \"string\", \"maxLength\": 280 },\n    \"reason\": { \"type\": \"string\", \"maxLength\": 140 },\n    \"subject\": { \"type\": \"string\", \"maxLength\": 280 },\n    \"from\": { \"type\": \"string\", \"maxLength\": 140 }\n  },\n  \"required\": [\"category\",\"priority\",\"summary\",\"subject\",\"from\"],\n  \"additionalProperties\": false\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "360cf165-a32a-4aa8-8770-af244fe67995",
      "name": "Routing Map",
      "type": "n8n-nodes-base.set",
      "position": [
        432,
        224
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "name": "label",
              "type": "string",
              "value": "={{ $json.output.category === 'sales_pre_purchase' ? 'Sales' : $json.output.category === 'support_technical' ? 'Support' : $json.output.category === 'billing_refund' ? 'Billing' : 'Complaint' }}"
            },
            {
              "name": "slackChannel",
              "type": "string",
              "value": "={{ \n  $json.output.category === 'sales_pre_purchase' ? 'C09B7HS98GN' :\n  $json.output.category === 'support_technical' ? 'C09B5JV2G9Y' :\n  $json.output.category === 'billing_refund' ? 'C09BYN135T2' :\n  'C09B5JV2G9Y'\n}}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "39e36a35-33f9-4f1b-a38d-cfffd4ba8127",
      "name": "Envoyer une Notification à Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        656,
        224
      ],
      "parameters": {
        "text": "=Priority: {{$json.output.priority}}\nFrom: {{ $json.output.from }}\nSummary: {{ $json.output.summary }}\nReason: {{ $json.output.reason }}",
        "user": {
          "value": "={{ $json.slackChannel }}"
        },
        "select": "user",
        "otherOptions": {
          "includeLinkToWorkflow": false
        },
        "authentication": "oAuth2"
      },
      "typeVersion": 2.3
    }
  ],
  "connections": {
    "d7d471c3-65e2-43d6-8472-31d278171fd9": {
      "main": [
        [
          {
            "node": "360cf165-a32a-4aa8-8770-af244fe67995",
            "type": "main",
            "index": 0
          }
        ]
      ],
      "ai_outputParser": [
        [
          {
            "node": "ce9714c6-1d15-470b-a805-1041a7a63571",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ],
      "ai_languageModel": [
        [
          {
            "node": "c906a662-dfe5-4bb7-ad61-5b472d4027bc",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "96e9c067-b27e-437c-9ea7-16e46cf1f09d": {
      "main": [
        [
          {
            "node": "d7d471c3-65e2-43d6-8472-31d278171fd9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "360cf165-a32a-4aa8-8770-af244fe67995": {
      "main": [
        [
          {
            "node": "39e36a35-33f9-4f1b-a38d-cfffd4ba8127",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cfcf1f18-7faa-408d-9cb6-a7eb7fab5886": {
      "main": [
        [
          {
            "node": "96e9c067-b27e-437c-9ea7-16e46cf1f09d",
            "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œuds7
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

Auteur
Matt Chong | n8n Creator

Matt Chong | n8n Creator

@mattxchong

Automation nerd fueled by good coffee, deep curiosity, and clean flows.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34