{
  "name": "Agent IA — Brouillons de réponse aux emails",
  "nodes": [
    {
      "parameters": {
        "content": "### 📧 Agent IA email — Kit n8n\nCe workflow lit vos derniers emails, les analyse avec un agent IA et rédige un **brouillon de réponse** directement dans le bon fil de discussion Gmail.\n\nVous gardez la main : rien ne part sans votre validation — vous relisez le brouillon et cliquez vous-même sur Envoyer.\n\nTemplate issu du kit de la formation complète n8n → [shubham-sharma.fr](https://shubham-sharma.fr)",
        "height": 260,
        "width": 460,
        "color": 4
      },
      "id": "sticky-titre-agent",
      "name": "Sticky Note — Présentation",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [-360, -360]
    },
    {
      "parameters": {
        "content": "### 🔑 À configurer après l'import\n1. **Gmail** : connectez votre compte dans les nœuds « Lire les derniers emails » et « Créer le brouillon ».\n2. **Anthropic** : créez une credential avec votre clé API ([console.anthropic.com](https://console.anthropic.com)) dans le nœud « Modèle Anthropic ».\n3. Ajustez la **limite** d'emails lus (2 par défaut, pour tester sans risque).\n\n💡 La mémoire utilise le **Thread ID** de l'email comme Session ID : l'agent garde le contexte de chaque conversation séparément.",
        "height": 300,
        "width": 480,
        "color": 5
      },
      "id": "sticky-config-agent",
      "name": "Sticky Note — Configuration",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [160, -360]
    },
    {
      "parameters": {
        "content": "### ⏰ Pour l'automatiser\nUne fois le workflow testé à la main, remplacez le déclencheur manuel par un **Schedule Trigger** (ex : toutes les heures) et filtrez les emails **non lus** dans « Lire les derniers emails » (Filters → Read Status).\n\n⚠️ Les emails automatiques (newsletters, notifications) génèrent aussi des brouillons : le system prompt demande à l'agent de les ignorer, vérifiez son comportement sur vos vrais emails.",
        "height": 280,
        "width": 400,
        "color": 3
      },
      "id": "sticky-automatiser",
      "name": "Sticky Note — Automatisation",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [680, -360]
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [-240, 0],
      "id": "node-trigger-manuel",
      "name": "Lancer à la main"
    },
    {
      "parameters": {
        "operation": "getAll",
        "limit": 2,
        "simple": false,
        "filters": {},
        "options": {}
      },
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.2,
      "position": [-16, 0],
      "id": "node-gmail-getall",
      "name": "Lire les derniers emails"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.headers.to }}\n{{ $json.from.text }}\n{{ $json.headers.subject }}\n{{ $json.text }}",
        "options": {
          "systemMessage": "Tu es mon assistant personnel de gestion d'emails. Pour chaque email reçu :\n\n1. Analyse l'expéditeur, le sujet et le contenu.\n2. Si c'est un email automatique (newsletter, notification, marketing), réponds exactement : PAS_DE_REPONSE\n3. Sinon, rédige une réponse professionnelle, chaleureuse et concise en français, qui répond aux questions posées et propose une suite concrète (rendez-vous, information, prochaine étape).\n\nFormat de sortie : UNIQUEMENT le corps de la réponse en HTML valide (balises <p>, <br>, listes si besoin). Pas d'objet, pas de commentaire, pas de texte avant ou après le HTML, pas de bloc de code. Ta sortie est insérée telle quelle dans un brouillon Gmail."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 3.1,
      "position": [352, 0],
      "id": "node-ai-agent",
      "name": "Agent IA — rédiger la réponse"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-6",
          "cachedResultName": "Claude Sonnet 4.6"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1.5,
      "position": [288, 224],
      "id": "node-anthropic-model",
      "name": "Modèle Anthropic"
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "={{ $json.threadId }}",
        "contextWindowLength": "=10000"
      },
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.4,
      "position": [464, 224],
      "id": "node-memory",
      "name": "Mémoire par conversation"
    },
    {
      "parameters": {
        "resource": "draft",
        "subject": "={{ $('Lire les derniers emails').item.json.headers.subject }}",
        "emailType": "html",
        "message": "={{ $json.output }}",
        "options": {
          "threadId": "={{ $('Lire les derniers emails').item.json.threadId }}"
        }
      },
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.2,
      "position": [704, 0],
      "id": "node-gmail-draft",
      "name": "Créer le brouillon"
    }
  ],
  "connections": {
    "Lancer à la main": {
      "main": [
        [
          {
            "node": "Lire les derniers emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Lire les derniers emails": {
      "main": [
        [
          {
            "node": "Agent IA — rédiger la réponse",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Modèle Anthropic": {
      "ai_languageModel": [
        [
          {
            "node": "Agent IA — rédiger la réponse",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Mémoire par conversation": {
      "ai_memory": [
        [
          {
            "node": "Agent IA — rédiger la réponse",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Agent IA — rédiger la réponse": {
      "main": [
        [
          {
            "node": "Créer le brouillon",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "pinData": {}
}
