หน้าแรก / บทความ / เครื่องมือ

n8n คืออะไร? สร้าง workflow อัตโนมัติแบบลากกล่องต่อกัน รันฟรีในเครื่องด้วย Docker

รู้จัก n8n เครื่องมือทำงานอัตโนมัติแบบลากกล่องต่อกัน ติดตั้งในเครื่องด้วย Docker โดยไม่ทำข้อมูลหาย สร้าง workflow ดึงข้อมูลจาก API ตามเวลา รับข้อมูลด้วย Webhook และรู้จัก AI Agent พร้อมวิธีแก้ปัญหาที่มือใหม่เจอบ่อย

งานหลายอย่างในแต่ละวันเป็นงานซ้ำเดิม ดึงข้อมูลจากที่หนึ่ง จัดรูปแบบนิดหน่อย แล้วส่งต่อไปอีกที่ เช่น เช็กอากาศทุกเช้าแล้วจดไว้ รับข้อมูลจากฟอร์มแล้วบันทึกลงตาราง หรือมีอีเมลเข้ามาแล้วแจ้งเตือนในแชตทีม ถ้าเขียนโค้ดเป็นก็เขียนสคริปต์เองได้ แต่ต้องดูแลเรื่องตั้งเวลา จัดการ error และเก็บรหัสผ่านเองทั้งหมด

n8n (อ่านว่า เอ็น-เอต-เอ็น ย่อมาจาก nodemation) คือเครื่องมือสร้าง workflow อัตโนมัติแบบลากกล่องมาต่อกันบนหน้าจอ แต่ละกล่องทำงานหนึ่งอย่าง ต่อกันเป็นสายแล้วข้อมูลจะไหลจากกล่องแรกไปกล่องสุดท้ายเอง ใช้บน n8n Cloud ก็ได้ หรือติดตั้งบนเครื่องตัวเองฟรีก็ได้ และเขียนโค้ดแทรกได้เมื่อจำเป็น

จบบทความนี้คุณจะ:

  • อธิบายได้ว่า workflow, node, trigger และ item ใน n8n คืออะไร
  • ติดตั้ง n8n ในเครื่องด้วย Docker โดยไม่ทำข้อมูลหาย
  • สร้าง workflow แรกที่ดึงข้อมูลจาก API ตามเวลา แล้วเผยแพร่ให้ทำงานเอง
  • รับข้อมูลจากภายนอกด้วย Webhook และทดสอบด้วย curl
  • รู้จัก AI Agent node และวิธีดูแล n8n ที่ติดตั้งเอง

n8n คือสายพานในโรงงาน

ลองนึกถึงสายพานในโรงงานครับ มีปุ่มหรือนาฬิกาเป็นตัวสั่งเดินเครื่อง ของจะวางบนสายพานแล้วผ่านสถานีทีละสถานี แต่ละสถานีทำหน้าที่เดียว เช่น ประกอบ ติดฉลาก บรรจุกล่อง n8n ทำงานแบบเดียวกัน

  • Trigger คือปุ่มเปิดเครื่อง เช่น ทุกวัน 8 โมง หรือมีคนส่งข้อมูลเข้ามา
  • Node คือสถานีงาน เช่น ดึงข้อมูลจากเว็บ แก้รูปแบบ หรือบันทึกลงตาราง
  • Connection คือสายพานที่ต่อระหว่างสถานี
  • Item คือของบนสายพาน ถ้ามี 3 ชิ้น สถานีถัดไปจะทำงานกับทีละชิ้นจนครบ 3 ชิ้น
workflow รายงานอากาศ Schedule Trigger ทุก 8 โมง ส่งต่อ HTTP Request ดึงข้อมูลอากาศ Edit Fields จัดข้อความ แล้ว Data table บันทึกเป็นแถวใหม่
workflow แรกในบทความนี้ ข้อมูลไหลจากซ้ายไปขวาเป็นชิ้นๆ

ข้อดีของการเห็นเป็นภาพคือดีบักง่าย กดดูได้ทุกกล่องว่าข้อมูลที่เข้าและออกหน้าตาเป็นยังไง ไม่ต้องเดาจาก log และ n8n มีกล่องสำเร็จรูปสำหรับเชื่อมแอปและบริการต่างๆ ให้เลือกเป็นพัน รวมถึงกล่อง AI ด้วย

ศัพท์ที่ต้องรู้

คำเทียบกับความหมาย
Workflowสายการผลิตหนึ่งสายชุดของ node ที่ต่อกันเพื่อทำงานหนึ่งเรื่อง
Nodeสถานีงานกล่องหนึ่งกล่องที่ทำงานหนึ่งอย่าง
Triggerปุ่มเปิดเครื่องnode ที่เริ่ม workflow ใน workflow จริงต้องมีอย่างน้อยหนึ่งตัว
Actionงานของสถานีสิ่งที่ node ทำ เช่น ส่งอีเมล เพิ่มแถว
Itemของหนึ่งชิ้นบนสายพานข้อมูลหนึ่งชุดในรูป JSON ที่ไหลระหว่าง node
Expressionสูตรในช่องกรอกข้อความใน {{ }} ที่ดึงค่าจากข้อมูล เช่น {{ $json.city }}
Executionการเดินเครื่องหนึ่งรอบการรัน workflow หนึ่งครั้ง ดูย้อนหลังได้
Credentialsบัตรผ่านข้อมูลล็อกอินของบริการต่างๆ เก็บแบบเข้ารหัส
Publishเปิดสายการผลิตจริงทำให้ workflow ทำงานเองตาม trigger (เดิมเรียกว่า Active)

ใช้แบบไหนดี: Cloud หรือติดตั้งเอง

แบบเหมาะกับค่าใช้จ่าย (ณ ต.ค. 2026)
n8n Cloudอยากเริ่มเร็ว ไม่อยากดูแลเครื่องทดลองฟรีไม่ต้องใช้บัตร แผน Starter 20€/เดือน (จ่ายรายปี)
ติดตั้งเอง (Community)อยากเรียนรู้ หรือใช้ในงานของตัวเองฟรี จ่ายแค่ค่าเครื่อง

บทความนี้ใช้แบบติดตั้งเองในเครื่อง เพราะฟรีและเห็นทุกอย่าง แต่เอกสารของ n8n เตือนไว้ว่า การดูแลเซิร์ฟเวอร์จริงเหมาะกับคนที่มีประสบการณ์ ถ้าพลาดอาจทำข้อมูลหายหรือมีช่องโหว่ได้

n8n ไม่ใช่ open source แบบเต็มตัว n8n ใช้สัญญาอนุญาตแบบ fair-code ชื่อ Sustainable Use License เปิดโค้ดให้ดูและแก้ได้ ใช้ฟรีในงานของตัวเองหรือในองค์กร และรับจ้างสร้าง workflow ให้ลูกค้าได้ แต่ห้ามเอา n8n ไปเปิดเป็นบริการให้คนอื่นเข้ามาสร้าง workflow เอง หรือเอาไปทำเป็นสินค้าแข่ง ถ้าจะทำแบบนั้นต้องคุยสัญญาเชิงพาณิชย์กับ n8n

ติดตั้งในเครื่องด้วย Docker

ณ ตอนเขียน n8n รุ่นเสถียรคือ 2.44.6 และกำลังจะออกรุ่น 3.0 ซึ่งจะเลิกให้ติดตั้งผ่าน npm แล้วใช้ Docker อย่างเดียว เราจึงเริ่มด้วย Docker เลย ติดตั้ง Docker Desktop ให้เรียบร้อย แล้วเช็กว่าใช้ได้

Terminal
docker --version

ขั้นแรกสร้าง volume ไว้เก็บข้อมูลของ n8n ก่อน

Terminal
docker volume create n8n_data

แล้วเปิด n8n (macOS / Linux / WSL ใช้แบบหลายบรรทัด)

Terminal (macOS / Linux)
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -e GENERIC_TIMEZONE="Asia/Bangkok" \
  -e TZ="Asia/Bangkok" \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

บน Windows ให้พิมพ์บรรทัดเดียวใน PowerShell

PowerShell (Windows)
docker run -it --rm --name n8n -p 5678:5678 -e GENERIC_TIMEZONE="Asia/Bangkok" -e TZ="Asia/Bangkok" -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
ส่วนความหมาย
-p 5678:5678เปิดพอร์ต 5678 ของเครื่องเราไปที่ n8n
GENERIC_TIMEZONEเขตเวลาของ n8n ใช้กับ node ตั้งเวลา (ค่าเริ่มต้นคือนิวยอร์ก)
TZเขตเวลาของระบบใน container
-v n8n_data:/home/node/.n8nเก็บข้อมูลไว้ใน volume ไม่หายเมื่อปิด container
--rmลบตัว container เมื่อปิด (ข้อมูลยังอยู่ใน volume)
ผลลัพธ์ที่ควรเห็นท้ายสุด (ประมาณนี้)
Editor is now accessible via:
http://localhost:5678

ห้ามลืม -v ในโฟลเดอร์ .n8n มีทั้งฐานข้อมูล workflow และกุญแจเข้ารหัส credentials ถ้าเปิด container โดยไม่มี volume ข้อมูลทั้งหมดอยู่ใน container ที่ถูกลบทิ้งตอนปิด (เพราะ --rm) และเมื่อหากุญแจเดิมไม่เจอ n8n จะสร้างกุญแจใหม่ ทำให้ credentials เก่าถอดรหัสไม่ได้อีก

เปิด http://localhost:5678 จะเจอหน้าสมัครบัญชีเจ้าของ (owner) รหัสผ่านต้องยาวอย่างน้อย 8 ตัว มีตัวเลขและตัวพิมพ์ใหญ่อย่างน้อยอย่างละตัว กด Next แล้วจะเข้าหน้าหลักของ n8n หน้าล็อกอินนี้ปิดไม่ได้แม้ใช้ในเครื่อง

ทางเลือกอื่น เช่น สคริปต์บรรทัดเดียว curl -fsSL https://get.n8n.io | sh (ต้องมี Docker Compose บน Windows ให้รันใน WSL) หรือ npx n8n (ต้องใช้ Node.js 24 และจะใช้ไม่ได้ตั้งแต่ n8n 3.0)

เช็กว่าได้แล้ว: เปิด http://localhost:5678 ได้ และล็อกอินด้วยบัญชีเจ้าของได้

workflow แรก: เก็บรายงานอากาศทุกเช้า

เราจะทำตาม workflow ตัวอย่างของ n8n คือดึงอากาศของเบอร์ลินทุกเช้า แปลงเป็นประโยค แล้วบันทึกลงตาราง ไม่ต้องใช้บัญชีหรือ API key ใดๆ

ตั้ง trigger

  1. กด Personal ที่เมนูซ้าย แล้วกด Create workflow มุมขวาบน ตั้งชื่อ Weather Log
  2. กด Add first step แล้วเลือก On a schedule
  3. ตั้ง Trigger at Hour เป็น 8am แล้วปิดหน้าต่างด้วย x

ดึงข้อมูลด้วย HTTP Request

  1. กด + หลัง trigger พิมพ์ http แล้วเลือก HTTP Request
  2. ใส่ URL https://mockingbird.n8n.io/v1/weather/berlin
  3. เปลี่ยนชื่อ node เป็น Get Berlin Weather แล้วกด Execute step

ช่อง OUTPUT ทางขวาจะแสดงข้อมูลที่ได้ กดดูแบบ JSON ได้

OUTPUT ของ Get Berlin Weather (ตัวอย่าง ค่าจะเปลี่ยนทุกวัน)
{
  "city": "berlin",
  "date": "2026-10-24",
  "temp_c": 12.5,
  "feels_like_c": 9.9,
  "humidity_pct": 84,
  "wind_kmh": 20.8,
  "precip_mm": 0,
  "condition": "overcast"
}

mockingbird เป็น API ตัวอย่างของ n8n มีข้อมูลประมาณ 40 เมืองในยุโรปเท่านั้น ถ้าเปลี่ยนเป็น bangkok จะได้ error 404 ครับ

จัดข้อความด้วย Edit Fields

  1. กด + เลือก Data transformation แล้วเลือก Edit Fields (Set)
  2. กด Add Field ตั้ง Name เป็น report
  3. ช่อง Value พิมพ์ข้อความ แล้วลาก city, temp_c และ condition จากช่อง INPUT มาวาง
  4. เปลี่ยนชื่อ node เป็น Format Weather Message แล้วกด Execute step
ค่าในช่อง Value
The temperature in {{ $json.city }} is {{ $json.temp_c }}°C. It's currently {{ $json.condition }}.

ตอนลากช่องข้อมูลมาวาง n8n จะสลับช่องนั้นเป็นโหมด Expression และใส่ {{ $json.city }} ให้เอง $json คือข้อมูลของ item ที่กำลังทำงานอยู่ จะพิมพ์ภาษาไทยลงไปแทนก็ได้ เช่น ตอนนี้ {{ $json.city }} อุณหภูมิ {{ $json.temp_c }} องศา

บันทึกลง Data table

  1. ไปที่ Personal แล้วเปิด Data tables กด Create data table ตั้งชื่อ weather_data
  2. กด Add Column เพิ่มคอลัมน์ชื่อ report
  3. กลับไปที่ workflow เพิ่ม node Data table เลือก Insert row
  4. เลือกตาราง weather_data และตั้ง Mapping Column Mode เป็น Map Automatically

กด Execute workflow เพื่อรันทั้งสาย แล้วเปิดตาราง weather_data จะเห็นแถวใหม่ที่มีประโยครายงานอากาศ

เช็กว่าได้แล้ว: ทุก node มีเครื่องหมายสำเร็จ และตาราง weather_data มีแถวใหม่ 1 แถว

เผยแพร่ให้ทำงานเอง

ตอนนี้ workflow ยังเป็นแบบร่าง (draft) n8n บันทึกการแก้ให้อัตโนมัติภายในไม่กี่วินาที แต่ร่างจะไม่ทำงานเองจนกว่าจะเผยแพร่ กด Publish ที่แถบด้านบน (หรือ Shift+P) แล้วกด Publish อีกครั้งในหน้าต่างยืนยัน

หลังเผยแพร่ trigger จะทำงานจริง workflow นี้จะรันทุกวันตอน 8 โมงตามเขตเวลาที่ตั้งไว้ ดูผลแต่ละรอบได้ที่แท็บ Executions ของ workflow ถ้าแก้ workflow หลังเผยแพร่ ปุ่มจะขึ้นว่ามีการแก้ที่ยังไม่เผยแพร่ ต้องกด Publish อีกครั้งการแก้นั้นถึงจะมีผล ส่วนการหยุดให้กด Unpublish

ทำไมแยกร่างกับตัวจริง เราแก้และทดสอบในร่างได้เรื่อยๆ โดยไม่กระทบตัวที่ทำงานอยู่ ถ้าแก้พังกลางทาง ตัวที่เผยแพร่ไว้ยังทำงานแบบเดิมต่อไป และการรันทดสอบจากหน้าแก้ ไม่นับเป็นโควตาการทำงานจริงของแผน Cloud

ข้อมูลไหลระหว่างกล่องยังไง

ข้อมูลที่วิ่งระหว่าง node เป็นรายการ (array) ของ item เสมอ แต่ละ item เก็บข้อมูลไว้ใต้ json

หน้าตาข้อมูลระหว่าง node (ย่อ)
[
  { "json": { "city": "berlin", "temp_c": 12.5 } },
  { "json": { "city": "paris", "temp_c": 14.1 } }
]

เมื่อ node ได้รับ 2 item มันจะทำงาน 2 รอบ รอบละ item เช่น node เพิ่มแถวในตารางจะเพิ่ม 2 แถว นี่คือเหตุผลที่ไม่ต้องเขียนลูปเองใน n8n

ต้องการเขียนแบบนี้
ค่าของ item ปัจจุบัน{{ $json.temp_c }}
ค่าที่อยู่ข้างในอีกชั้น{{ $json.body.name }}
ค่าจาก node อื่นตามชื่อ{{ $('Get Berlin Weather').item.json.city }}

ถ้าเจอ error ว่า Referenced node is unexecuted แปลว่า node ที่อ้างถึงยังไม่เคยรัน ให้กด Execute step ของ node ก่อนหน้าก่อน

แตกทางด้วย If ลองเพิ่ม node If ต่อจาก HTTP Request ตั้งเงื่อนไขเป็น Number ว่า {{ $json.temp_c }} is greater than 10 จะได้ทางออกสองทาง ทาง true สำหรับวันที่อุ่นกว่า 10 องศา และทาง false สำหรับวันที่หนาว แต่ละทางต่อ node คนละแบบได้ ถ้าแค่อยากตัด item ที่ไม่ผ่านทิ้ง ใช้ node Filter แทน

ไม่อยากยิง API ซ้ำทุกครั้งที่ทดสอบ หลังรัน node หนึ่งครั้ง กด Pin data ที่ช่อง OUTPUT ข้อมูลชุดนั้นจะถูกใช้ซ้ำตอนทดสอบโดยไม่เรียก API ใหม่ ประหยัดเวลาและโควตา และไม่มีผลกับตอนทำงานจริง เพราะการรันจริงไม่สนข้อมูลที่ปักไว้

รับข้อมูลจากภายนอกด้วย Webhook

Webhook คือการเปิดประตูให้ระบบอื่นส่งข้อมูลเข้ามาเริ่ม workflow ได้ เหมือน API endpoint ที่เราสร้างเองโดยไม่ต้องเขียนเซิร์ฟเวอร์

  1. สร้าง workflow ใหม่ กด Add first step เลือก On webhook call
  2. ตั้ง HTTP Method เป็น POST และ Path เป็น hello
  3. ตั้ง Respond เป็น When Last Node Finishes เพื่อตอบกลับด้วยผลของ node สุดท้าย
  4. ต่อ Edit Fields เพิ่ม field ชื่อ greeting ค่าเป็น สวัสดี {{ $json.body.name }} (พอพิมพ์ {{ n8n จะสลับช่องเป็นโหมด Expression ให้)
  5. ปิดหน้าต่าง node แล้วกด Execute workflow ที่ด้านล่างของหน้าจอ

ตอนนี้ n8n เปิด Test URL รอข้อมูลอยู่ และรับได้ ครั้งเดียวต่อการกดหนึ่งครั้ง (ถ้ากด Listen for test event ในหน้าต่างของ node Webhook จะรออยู่ 120 วินาที) ส่งข้อมูลเข้าไปจาก Terminal

Terminal (macOS / Linux)
curl -X POST http://localhost:5678/webhook-test/hello \
  -H "Content-Type: application/json" \
  -d '{"name":"DevKub"}'
PowerShell (Windows)
Invoke-RestMethod -Method Post -Uri http://localhost:5678/webhook-test/hello -ContentType "application/json" -Body '{"name":"DevKub"}'
ผลลัพธ์ที่ควรเห็น (ประมาณนี้)
{"greeting":"สวัสดี DevKub"}

ข้อมูลที่ส่งมากับ Webhook แยกเป็น headers, params, query และ body ชื่อที่เราส่งไปจึงอยู่ที่ $json.body.name

เรื่องTest URLProduction URL
หน้าตา/webhook-test/hello/webhook/hello
ใช้ได้เมื่อกด Execute workflow หรือ Listen for test event แล้วรออยู่หลังกด Publish ไปจนกว่าจะ Unpublish
ดูข้อมูลที่ไหนในหน้าแก้ workflow ทันทีแท็บ Executions
Webhook มีสองประตู Test URL ใช้ได้หลังกด Execute workflow รับได้ครั้งเดียว ส่วน Production URL ใช้ได้หลัง Publish และรับได้ตลอด
ส่งให้ถูกประตู แล้วจะไม่เจอ 404

ความสับสนอันดับหนึ่งของมือใหม่คือ ใช้ URL ผิดตัว ส่งไปที่ /webhook-test/ ทั้งที่ n8n ไม่ได้รอข้อมูลทดสอบอยู่ หรือส่งไปที่ /webhook/ ทั้งที่ยังไม่ Publish ทั้งสองแบบจะได้ error กลับมา

อย่าเปิด Webhook ทิ้งไว้แบบไม่มีกุญแจ Webhook ที่เผยแพร่แล้วใครรู้ URL ก็ส่งข้อมูลเข้ามาได้ ถ้าจะใช้จริงให้ตั้ง Authentication ของ node (Basic, Header หรือ JWT) หรือจำกัด IP ด้วยตัวเลือก IP(s) Allowlist และอย่าลืมว่า n8n ใน localhost ระบบภายนอกส่งเข้ามาไม่ถึง ถ้าอยากรับข้อมูลจากบริการจริงต้องติดตั้ง n8n บนเซิร์ฟเวอร์ที่มีโดเมน เช่น ด้วย Coolify

เช็กว่าได้แล้ว: curl ได้ข้อความ สวัสดี DevKub กลับมา และ node Webhook แสดงข้อมูลที่ส่งเข้าไป

เพิ่ม AI ด้วย AI Agent

n8n มี node กลุ่ม AI ให้ต่อโมเดลภาษาเข้ากับ workflow ได้ โครงพื้นฐานคือ

  1. On chat message trigger ที่เปิดหน้าแชตให้ทดสอบ ทุกข้อความที่ส่งคือการรัน workflow หนึ่งครั้ง
  2. AI Agent ตัวกลางที่คิดว่าจะตอบยังไงและจะใช้เครื่องมือไหน
  3. Chat Model สมองของ agent เช่น OpenAI Chat Model, Anthropic Chat Model หรือ Ollama Chat Model ต่อเข้าช่องของ AI Agent
  4. Memory เช่น Simple Memory ให้มันจำบทสนทนาก่อนหน้าได้
  5. Tool เช่น Calculator, Wikipedia หรือ HTTP Request ให้ agent เรียกใช้เองเมื่อจำเป็น

ถ้าอยากใช้โมเดลในเครื่องฟรีผ่าน Ollama (อ่านพื้นฐานได้ที่ Ollama คืออะไร) ระวังเรื่อง localhost เพราะ n8n อยู่ใน container ซึ่งมี localhost ของตัวเอง ต้องตั้ง Base URL ของ credentials เป็น http://host.docker.internal:11434 (บน Linux ต้องเพิ่ม --add-host host.docker.internal:host-gateway ตอน docker run)

ดูแล n8n ที่ติดตั้งเอง

  • อัปเดตอย่างน้อยเดือนละครั้ง ตามคำแนะนำของ n8n อ่าน release notes ก่อน และสำรองข้อมูลก่อนทุกครั้ง
  • สำรองโฟลเดอร์ .n8n (ใน volume n8n_data) ข้างในมีกุญแจเข้ารหัส ถ้าไม่มีกุญแจนี้ ฐานข้อมูลที่กู้มาจะถอดรหัส credentials ไม่ได้
  • ตั้งเขตเวลา ผ่าน GENERIC_TIMEZONE หรือที่ Settings ของ workflow ไม่งั้นงานตั้งเวลาจะรันตามเวลานิวยอร์ก
  • ใช้ HTTPS เมื่อขึ้นเซิร์ฟเวอร์จริง ผ่าน reverse proxy และตั้ง N8N_WEBHOOK_URL ให้เป็นโดเมนจริง ไม่งั้น URL ของ Webhook จะผิด
  • ตรวจความปลอดภัย ด้วย n8n audit ซึ่งจะเตือนเรื่องเช่น Webhook ที่ไม่มีการป้องกัน หรือ credentials ที่ไม่ได้ใช้

อัปเดตเวอร์ชันที่รันด้วย docker run ทำได้โดยดึง image ใหม่ แล้วปิดและเปิด container ใหม่ด้วยคำสั่งเดิม ข้อมูลยังอยู่ใน volume

Terminal
docker pull docker.n8n.io/n8nio/n8n

เจอปัญหา ลองเช็กตามนี้

อาการสาเหตุวิธีแก้
ปิดเปิด n8n แล้ว workflow หายหมดเปิด container โดยไม่มี -vใส่ -v n8n_data:/home/node/.n8n ทุกครั้ง
ส่งไป Test URL แล้วได้ 404 is not registeredn8n ไม่ได้รอข้อมูลทดสอบอยู่ (รับได้ครั้งเดียวต่อการกดหนึ่งครั้ง)กด Execute workflow แล้วส่งใหม่
ส่งไป Production URL แล้วได้ 404ยังไม่ได้ Publishกด Publish ก่อน
งานตั้งเวลาไม่รันยังไม่ได้ Publish หรือแก้แล้วไม่ Publish ใหม่Publish อีกครั้ง
งานตั้งเวลารันผิดเวลาเขตเวลาเป็นค่าเริ่มต้น (นิวยอร์ก)ตั้ง GENERIC_TIMEZONE=Asia/Bangkok
เปิดผ่าน IP แล้วขึ้นเรื่อง secure cookien8n บังคับคุกกี้แบบ HTTPSใช้ localhost หรือตั้ง HTTPS (ไม่แนะนำให้ปิดด้วย N8N_SECURE_COOKIE=false)
Referenced node is unexecutednode ที่อ้างถึงยังไม่เคยรันกด Execute step ของ node ก่อนหน้า
ต่อ Ollama ไม่ได้จาก n8n ใน Dockerlocalhost ใน container ไม่ใช่เครื่องเราใช้ http://host.docker.internal:11434

ไปต่อ

  • เลือก workflow สำเร็จรูปจากคลังของ n8n ที่ n8n.io/workflows มีให้เลือกเป็นหมื่นแบบ แต่ต้องใส่ credentials และปรับค่าเอง
  • ส่งต่อ workflow ให้เพื่อนได้ด้วยเมนู Download (ได้ไฟล์ JSON) และ Import from File ก่อนแชร์ให้เช็กว่าไม่มี token หรือรหัสผ่านติดไปใน node HTTP Request
  • เอกสารทางการ docs.n8n.io เริ่มจากหัวข้อ Build your first workflow ที่เราทำไปแล้ว

สรุป

  • n8n คือเครื่องมือสร้าง workflow อัตโนมัติแบบลากกล่องต่อกัน trigger เริ่มงาน node ทำงานทีละขั้น และข้อมูลไหลเป็น item
  • ติดตั้งในเครื่องด้วย Docker และต้องมี -v n8n_data:/home/node/.n8n เสมอ ไม่งั้นข้อมูลและกุญแจเข้ารหัสหาย
  • workflow ที่แก้อยู่คือร่าง ต้องกด Publish ถึงจะทำงานเองตาม trigger และดูผลได้ที่แท็บ Executions
  • Expression ใช้ {{ $json.ชื่อ }} ดึงค่าจาก item และ node หนึ่งทำงานกับทุก item ที่ได้รับเอง
  • Webhook มี Test URL (/webhook-test/ ใช้ได้ตอน n8n รอข้อมูลทดสอบ) และ Production URL (/webhook/ ใช้ได้หลัง Publish)

พร้อมแล้วก็ไปทำ Quiz ท้ายบทด้านล่างเพื่อรับ XP ได้เลยครับ

Quiz ท้ายบท

5 ข้อ · ข้อละ 10 XP

ทดสอบความเข้าใจเรื่อง n8n ตอบถูกข้อละ 10 XP

  • 5 ข้อ
  • ไม่จับเวลา
  • เฉลยทันทีทุกข้อ