{
  "name": "06 Webhook - OpenAI Summary via HTTP Request",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "openai-summary-http-demo",
        "responseMode": "responseNode",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        220,
        300
      ],
      "id": "79917335-58f7-4dcb-9bb1-b0ba6bde0061",
      "name": "Webhook",
      "webhookId": "openai-summary-http-demo"
    },
    {
      "parameters": {
        "keepOnlySet": false,
        "values": {
          "string": [
            {
              "name": "title",
              "value": "={{$json.body.title}}"
            },
            {
              "name": "content",
              "value": "={{$json.body.content}}"
            },
            {
              "name": "prompt",
              "value": "={{'請把以下內容整理成 3 點摘要，使用繁體中文，每點不超過 30 字：\\n' + $json.body.content}}"
            }
          ]
        },
        "options": {}
      },
      "id": "79917335-58f7-4dcb-9bb1-b0ba6bde0062",
      "name": "Build Prompt",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        480,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.openai.com/v1/responses",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_OPENAI_API_KEY"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"model\": \"gpt-5.2\",\n  \"input\": [\n    {\n      \"role\": \"user\",\n      \"content\": [\n        {\n          \"type\": \"input_text\",\n          \"text\": $json.prompt\n        }\n      ]\n    }\n  ]\n}",
        "options": {}
      },
      "id": "79917335-58f7-4dcb-9bb1-b0ba6bde0063",
      "name": "OpenAI Responses API",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        760,
        300
      ]
    },
    {
      "parameters": {
        "keepOnlySet": false,
        "values": {
          "string": [
            {
              "name": "summary",
              "value": "={{$json.output_text}}"
            },
            {
              "name": "processed_at",
              "value": "={{$now}}"
            }
          ]
        },
        "options": {}
      },
      "id": "79917335-58f7-4dcb-9bb1-b0ba6bde0064",
      "name": "Normalize Summary",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        1020,
        300
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{$json}}",
        "options": {
          "responseCode": 200
        }
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.4,
      "position": [
        1280,
        300
      ],
      "id": "79917335-58f7-4dcb-9bb1-b0ba6bde0065",
      "name": "Respond to Webhook"
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Build Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Prompt": {
      "main": [
        [
          {
            "node": "OpenAI Responses API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Responses API": {
      "main": [
        [
          {
            "node": "Normalize Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Normalize Summary": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "settings": {},
  "meta": {}
}
