---
title: "N8N วิธีการการใช้งานเบื้องต้น | Part 2"
description: "พาสร้าง workflow แรกใน N8N ด้วยโจทย์ดึง URLs ของ domain ที่ต้องการจาก Wayback Machine"
canonical_url: "https://iamthana.com/blogs/2025-04-28-n8n-part-2"
---

> Index of every page on this site: [llms.txt](https://iamthana.com/llms.txt)

สำหรับใครที่ยังไม่ได้อ่าน Part 1 นะครับ สามารถไปอ่านได้ที่ [N8N Part 1](https://iamthana.com/blogs/2025-04-24-n8n-part-1)

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

โดยโจทย์ในครั้งนี้คือ **"ค้นหา URLs ต่าง ๆ ของ domain ที่ต้องการโดยใช้ Wayback machine"** ถ้านึกภาพไม่ออกคือการทำแบบนี้แหละครับ แต่เราจะทำให้มันเป็น workflow เพื่อนำไปต่อยอดในอนาคตนะครับ
![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-4.png)

## เริ่มต้นการสร้าง workflows

### ทำการสร้าง workflow ใหม่โดยการกดที่ปุ่มขวาบน ("Create Workflow") ได้เลยครับ

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image.png)

จากนั้นจะพบกับ UI หน้าตาโล่ง ๆ แบบนี้

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-1.png)

โดยเมื่อกดปุ่ม "+" กลางจอหรือมุมขวาบนแล้วจะพบกับ Trigger Node ครับ (ภายใน N8N เราจะเรียกเครื่องมือแต่ละตัวว่า Node นะครับ)

### อธิบายคร่าว ๆ ของ Trigger Node ประมาณนี้ครับ

Trigger Node คือจุดเริ่มต้นของ workflow ซึ่งสามารถทำได้หลายวิธีด้วยกันขึ้นอยู่กับจุดประสงค์ของ workflow นั้น ๆ ครับ เช่นหากเป็นประเภท Scheduler จะใช้ประเภท "On a scheduler" หากเป็นประเภท Webhook ที่รอรับสัญญาณจากแหล่งอื่นจะใช้เป็น "On webhook call" ครับ ยังมีอีกหลาย ๆ ตัวที่น่าสนใจเช่น

- On chat message: Node นี้จะเป็นการสร้างหน้า chat ui ขึ้นมาให้ครับ เหมาะสำหรับการนำมาใช้งานกับ AI Agent นั้นเอง
- On app event: Node นี้จะเป็นการรับ trigger จาก application อื่น ๆ ที่นำมาเชื่อมต่อครับ เช่น notion, telegram, airtable ซึ่งจำเป็นต้องเชื่อมต่อกันให้เรียบร้อยก่อนใช้งาน
- Trigger manual: Node นี้เป็นการสร้างปุ่มขึ้นมาให้กดครับ เหมาะสำหรับการใช้งานที่จำเป็นต้องกรอกข้อมูลก่อน หรือ ไม่ได้อยากทำให้มี external trigger มาครับ

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-2.png)

ซึ่งอันนี้เป็นแค่เพียงเบื้องต้นนะครับ จริง ๆ แล้ว N8N ยังสามารถทำอะไรได้มากกว่านั้นอีก (มากกกก) ไปกันต่อเลยครับ

โดยผมจะเริ่มจาก Trigger เบื้องต้นอย่าง "Trigger manually" ละกันครับ สามารถกดเลือกได้เลยครับ เมื่อเลือกแล้วจะมี Node โผล่มากลางจอแบบนี้ครับ

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-3.png)

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

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-5.png)

โดยให้เราเลือกเป็น "HTTP Request" ครับ

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-7.png)

จากนั้นจะพบกับหน้าต่างที่โผล่ขึ้นมาซึ่งจะแบ่งเป็น 3 ส่วนหลัก ๆ คือ

1. <span>

ซ้าย

</span>

 Input: เป็นส่วนที่ไว้ใช้แสดงผลข้อมูลที่มาจาก workflows การหน้าครับ
2. <span>

กลาง

</span>

 Settings: เป็นการตั้งค่าของ Node นั้น ๆ ซึ่งจะขึ้นอยู่กับว่าเป็น Node อะไร ในกรณีจะมี "Method", "URL", "Authentication" และอื่น ๆ ตามด้านล่างเลยครับ ซึ่งก็คือรูปแบบการ Call HTTP request ปกติเลย
3. <span>

ขวา

</span>

 Output: เป็นส่วนที่ไว้ใช้แสดงผลข้อมูลที่ได้จาก Node นี้ครับ

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-6.png)

กลับมาที่ Wayback machine สักแป้บนึงครับ ให้เราค้นหา request ที่จะนำมาใช้งาน ซึ่งในกรณีนี้จะเป็น `https://web.archive.org/web/timemap/json` ครับ

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-9.png)

กรอกข้อมูลต่าง ๆ ได้เลย โดยที่ส่วนของ URL แนะนำให้ใช้แค่ URL นะครับ แล้วแบ่งเอา Parameter ลงมาใส่ข้างล่างแทน แบบในรูปเลยครับ (แนะนำว่าให้ปรับ Limit เป็นค่าน้อย ๆ จากเดิน 10000 อาจจะลดลงเหลือ 30 ก็ได้ครับ) เสร็จแล้วกดปุ่ม Test Step ได้เลย ถ้าถูกต้องด้านขวามือจะมีข้อมูลขึ้นมาแบบนี้ครับ

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-10.png)

โดยที่ Output จะดูข้อมูลได้ 3 รูปแบบได้แก่ Table, JSON, Schema ซึ่งการทำงานจริง ๆ ของ N8N จะทำงานภายใต้ Object Array ครับ

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-11.png)

อันนี้ถ้าดูดี ๆ มันจะเป็นการ return มาแบบแปลก ๆ นะครับ ปกติแล้วมันควรจะ return มาเป็น json ในรูปแบบ

```json
[{
"original": "http://example.com:80/",
"mimetype": "text/html",
"..."
}]
```

แต่กรณีนี้ return มาเป็น

```json
[["original", "mimetype", "..."], ["value"...]]
```

ซึ่งมันเอาไปใช้ต่อม่ายได้ครับ '-' ดังนั้นให้กด "+" ด้านขวาแล้วเลือก Node "Code" เข้ามาช่วยได้เลยครับ

ให้ลองเอา Code นี้ไปใส่
![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-12.png)

```js
for (const item of $input.all()) {
  console.log(item)
}
return $input.all()
```

ก่อนกดปุ่มให้กด F12 เพื่อเปิด browser console เพื่อดูผลของ console.log ครับ

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-13.png)

โดยอันนี้แหละที่เราจะเอามาใช้ต่อได้ เอา Code อันนี้ไปใส่

```js
// Retrieve all data from the input
const inputItems = $input.all()

// Extract the headers from the first item
const headers = inputItems[0].json || []

// Initialize an array to store the new items
const newItems = []

// Iterate over each old item, starting from the second item since the first is the headers
for (let i = 1; i < inputItems.length; i++) {
  const item = inputItems[i].json || []
  const obj = {} // Use a plain JavaScript object

  // Map each value to its corresponding header
  for (let j = 0; j < headers.length; j++) {
    obj[headers[j]] = item[j]
  }

  // Add the new object to the newItems array
  newItems.push(obj)
}

// Return the JSON array of objects
return newItems
```

ใน code จะมี warning ของ interface อยู่นะครับ แต่มองข้ามไปได้ กดรันได้เลยฮะ ถ้าถูกต้องตรงฝั่งขวามือเราจะได้ Output หน้าตาเป็นแบบนี้ครับ ถือว่าถูกต้องและใช้งานต่อได้

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-14.png)

ซึ่งต่อไปก็ขึ้นอยู่กับเราว่าจะเอาข้อมูลจาก workflow นี้ไปทำอะไรต่อ เช่นนำไปเก็บใน Database, นำไปใช้วิเคราะห์ต่อ, นำไป filter ข้อมูลที่สนใจอันนี้ขึ้นอยู่กับจุดประสงค์แล้วครับ

บนเส้นเมื่อรันแล้วจะเจอกับเลขอยู่นะครับ ซึ่งหมายถึงจำนวนข้อมูลปกติแล้ว N8N จะทำการ Loop ในข้อมูลแต่ละชุดให้เลยครับ จากด้านซ้ายมีข้อมูล 31 Object (รวม header) เอามาแปลงเป็นข้อมูลด้านขวาซึ่งจะเหลือ 30 Object ครับ
![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-15.png)

ต่อไปผมจะลองใช้งาน Filter ดูนะครับ โดยที่จะ filter `mimetype: text/html` ออกมาอย่างเดียว เลือกเป็น Data transformation และ Filter

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-16.png)

เลือกเป็น Schema แล้วดูตรง Node ที่ชื่อว่า "Code" ซึ่งเป็น Node ก่อนหน้า ในที่นี้เราสามารถ drag & drop ข้อมูลที่เราต้องการได้เลยครับ ให้เลือก "mimetype" ลากมาวางตรง "value1"

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-17.png)

ส่วน OP: เลือกเป็น "is equal to" และ value ใส่เป็น "text/html" แบบในรูปครับ
![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-18.png)

เมื่อกด "Test Step" จะพบว่าข้อมูลจะถูกแยกเป็น 2 ส่วนคือ"Kept" (เก็บไว้) และ "Discarded" (เอาทิ้ง) ซึ่งจะเป็นตามเงื่อนไขที่เราตั้งไว้ครับ
![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-19.png)

ปลายเส้นก็จะเหลือข้อมูล 1 item ตามที่เรา filter ไว้เลยครับ เย่

![](https://iamthana.com/images/2025-04-28-n8n-part-2/image-20.png)

การใช้งาน N8N ก็จะมีประมาณนี้ครับ ไม่ยากไม่ง่ายจนเกินไปเนอะ ไว้มาต่อกัน EP 3 นะครับ

## Sitemap

See the full [sitemap](https://iamthana.com/sitemap.md) for all pages.
