{
  "name": "Gmail Summarize",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "gmail-summarize",
        "responseMode": "responseNode",
        "options": {}
      },
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "resource": "message",
        "operation": "getAll",
        "returnAll": false,
        "limit": "={{ $json.max_results || 10 }}",
        "options": {
          "q": "={{ $json.query || 'is:unread' }}"
        }
      },
      "name": "Gmail Get Messages",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2,
      "position": [
        450,
        300
      ],
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "functionCode": "// Process and summarize emails\nconst emails = items.map(item => ({\n  id: item.json.id,\n  from: item.json.payload.headers.find(h => h.name === 'From')?.value || 'Unknown',\n  subject: item.json.payload.headers.find(h => h.name === 'Subject')?.value || 'No Subject',\n  snippet: item.json.snippet || '',\n  date: item.json.payload.headers.find(h => h.name === 'Date')?.value || ''\n}));\n\nconst summary = {\n  total: emails.length,\n  emails: emails.slice(0, 5),\n  text_summary: `You have ${emails.length} email(s). ${emails.slice(0, 3).map((e, i) => `${i+1}. From ${e.from.split('<')[0].trim()}: ${e.subject}`).join('. ')}`\n};\n\nreturn [{ json: summary }];"
      },
      "name": "Summarize Emails",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        650,
        300
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ $json }}"
      },
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        850,
        300
      ]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Gmail Get Messages",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail Get Messages": {
      "main": [
        [
          {
            "node": "Summarize Emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Emails": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}