n8n x Instagram: โพสต์และเก็บข้อมูลอัตโนมัติ
คู่มือเชื่อม n8n กับ Instagram ผ่าน Meta Graph API โพสต์รูป Reels และ Story อัตโนมัติ ดึง Insights และ Monitor comments สำหรับ Business Account
Instagram automation ต้องการ Instagram Business Account หรือ Creator Account เท่านั้น Personal Account ไม่สามารถใช้ API ได้ ถ้า account ยังเป็น Personal ให้ switch ที่ account settings ก่อน ขั้นตอนนี้ฟรีและทำได้ใน 2 นาที
เมื่อมี Business Account แล้ว ทุกอย่างทำงานผ่าน Meta Graph API เดียวกันกับ Facebook ซึ่งหมายความว่าถ้าตั้งค่า Facebook Page automation ไว้แล้ว สามารถต่อยอด Instagram ได้โดยแทบไม่ต้องตั้งค่าใหม่ เพียงแต่ต้องเชื่อม Instagram Account กับ Facebook Page ก่อน
สิ่งที่ต้องเตรียม
- Instagram Business Account หรือ Creator Account
- Facebook Page ที่เชื่อมกับ Instagram Account
- Meta Developer App (ใช้อันเดียวกับ Facebook ได้เลย)
- Page Access Token ที่มี Instagram permissions
ขั้นตอนที่ 1: เชื่อม Instagram กับ Facebook Page
- ไปที่ Instagram Settings → Account → Linked Accounts
- เลือก Facebook แล้วเชื่อมกับ Page ที่ต้องการ
- ตรวจสอบที่ Facebook Page Settings → Instagram ว่าเชื่อมแล้ว
ขั้นตอนที่ 2: ดึง Instagram Business Account ID
GET https://graph.facebook.com/v18.0/{page-id}
?fields=instagram_business_account
&access_token={page_access_token}
Response มี id ของ Instagram Business Account ที่ต้องใช้ใน request ต่อไป บันทึกไว้เป็น constant ใน workflow
ขั้นตอนที่ 3: เพิ่ม Instagram Permissions
ใน Meta Developer App เพิ่ม permissions เหล่านี้
| Permission | ใช้สำหรับ |
|---|---|
instagram_basic | อ่านข้อมูล account พื้นฐาน |
instagram_content_publish | โพสต์รูปและวิดีโอ |
instagram_manage_comments | อ่านและตอบ comment |
instagram_manage_insights | ดึง account insights |
Workflow 1: โพสต์รูปอัตโนมัติ
การโพสต์รูปใน Instagram API ต้องทำสองขั้นตอนเสมอ ก่อนอื่นสร้าง media container แล้วจึง publish
Step 1: สร้าง Media Container
POST https://graph.facebook.com/v18.0/{ig-user-id}/media
Body:
{
"image_url": "{{ $json.image_url }}",
"caption": "{{ $json.caption }}",
"access_token": "{page_access_token}"
}
Response ส่งกลับมา id ซึ่งคือ container ID
Step 2: Publish Container
POST https://graph.facebook.com/v18.0/{ig-user-id}/media_publish
Body:
{
"creation_id": "{{ $json.id }}",
"access_token": "{page_access_token}"
}
หลัง publish สำเร็จ ได้รับ id ของโพสต์จริงใน Instagram
โครงสร้าง workflow เต็ม:
- Schedule Trigger — รันทุก 30 นาที
- Google Sheets — ดึงโพสต์ที่ status = pending
- IF — มีโพสต์ที่รอ publish หรือเปล่า
- HTTP Request — สร้าง media container
- Wait — รอ 30 วินาที (ให้ระบบ Meta process รูป)
- HTTP Request — Publish container
- Google Sheets — อัปเดต status และบันทึก post ID
ขั้นตอน Wait สำคัญมาก อย่าข้ามไป บาง workflow ที่ไม่รอแล้ว publish ทันที response จะ error เพราะรูปยังไม่ ready
Workflow 2: โพสต์ Reels อัตโนมัติ
Reels ใช้กระบวนการเดียวกันกับรูปภาพแต่เพิ่ม parameter media_type: REELS
Step 1: สร้าง Reels Container
POST https://graph.facebook.com/v18.0/{ig-user-id}/media
Body:
{
"media_type": "REELS",
"video_url": "{{ $json.video_url }}",
"caption": "{{ $json.caption }}",
"share_to_feed": true,
"access_token": "{page_access_token}"
}
ข้อกำหนดวิดีโอสำหรับ Reels:
- Format: MP4 หรือ MOV
- ขนาดไฟล์: ไม่เกิน 1GB
- ความยาว: 3 วินาที ถึง 15 นาที
- Aspect ratio: 9:16 (vertical)
- Resolution: ขั้นต่ำ 720p
หลังสร้าง container แล้ว ต้องรอให้วิดีโอ upload สำเร็จก่อน publish ตรวจสอบด้วย
GET https://graph.facebook.com/v18.0/{container-id}
?fields=status_code
รอจนกว่า status_code เป็น “FINISHED” จึง publish ได้
Workflow 3: ดึง Account Insights รายวัน
GET https://graph.facebook.com/v18.0/{ig-user-id}/insights
?metric=accounts_engaged,follower_count,impressions,
profile_views,reach,total_interactions
&period=day
&since={yesterday_unix}
&until={today_unix}
Metrics ที่ควรเก็บเพิ่มเติม สำหรับวัด content performance
GET https://graph.facebook.com/v18.0/{ig-user-id}/media
?fields=id,timestamp,like_count,comments_count,
impressions,reach,engagement,saved,video_views
&limit=20
บันทึกข้อมูลนี้ทุกวันใน Google Sheets เพื่อดู trend ว่าโพสต์ประเภทไหน perform ดีที่สุด
Carousel Posts
Instagram Carousel ต้องสร้าง container สำหรับแต่ละรูปก่อน แล้วจึงสร้าง carousel container รวม
// สร้าง item container แต่ละรูป (ทำซ้ำตามจำนวนรูป)
POST /{ig-user-id}/media
{
"image_url": "{url_รูปแต่ละใบ}",
"is_carousel_item": true
}
// สร้าง carousel container รวม
POST /{ig-user-id}/media
{
"media_type": "CAROUSEL",
"children": ["id1", "id2", "id3"],
"caption": "{caption}"
}
// Publish
POST /{ig-user-id}/media_publish
{
"creation_id": "{carousel_container_id}"
}
Hashtag Strategy อัตโนมัติ
สามารถใช้ AI node ช่วยสร้าง hashtag ตามเนื้อหาโพสต์ได้ เพิ่ม node ระหว่างขั้นตอนอ่านข้อมูลจาก Google Sheets กับการโพสต์
// OpenAI node prompt
Generate 20 relevant Instagram hashtags for this content in Thai market.
Mix of popular (#xxxxxx 1M+ posts) and niche hashtags (#xxxx 10K-100K posts).
Content: {{ $json.caption }}
Return as comma-separated list only, no explanations.
นำ output มา append ต่อท้าย caption ก่อนส่ง API
อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co
Related posts
n8n x Facebook Page: โพสต์และตอบคอมเมนต์อัตโนมัติ
คู่มือเชื่อม n8n กับ Facebook Page ผ่าน Meta Graph API โพสต์อัตโนมัติ ตอบคอมเมนต์ และดึง Insights ตั้งแต่สร้าง App จนรัน workflow จริง
สร้างคอนเทนต์อัตโนมัติด้วย AI + n8n
สร้างระบบผลิตคอนเทนต์ Social Media อัตโนมัติด้วย AI และ n8n ตั้งแต่เขียนข้อความ ไปจนถึงโพสต์ Facebook, Instagram, Line
n8n x Airtable: ใช้ Airtable เป็น Backend ง่ายๆ
เชื่อมต่อ n8n กับ Airtable เพื่ออ่าน เพิ่ม อัปเดต และลบข้อมูลอัตโนมัติ เหมาะสำหรับทีมที่ไม่มี Dev