Slack credentials#
คุณสามารถใช้ credentials เหล่านี้เพื่อยืนยันตัวตนกับ node ต่อไปนี้:
Supported authentication methods#
- API access token:
- จำเป็นสำหรับ Slack Trigger node
- ใช้กับ Slack node ได้ แต่ไม่แนะนำ
- OAuth2:
- เป็นวิธีที่แนะนำสำหรับ Slack node
- ใช้กับ Slack Trigger node ไม่ได้
Related resources#
ดูข้อมูลเพิ่มเติมเกี่ยวกับบริการนี้ได้ที่ Slack's API documentation
Using API access token#
ในการตั้งค่า credential นี้ คุณต้องมีบัญชี Slack และ:
- Access Token
วิธีสร้าง access token ให้สร้าง Slack app ขึ้นมาใหม่:
- เปิดหน้า Slack API Apps
- เลือก Create New App > From scratch
- กรอก App Name
- เลือก Workspace ที่จะใช้พัฒนาแอป
- กด Create App รายละเอียดแอปจะเปิดขึ้นมา
- ที่เมนูซ้ายใต้ Features เลือก OAuth & Permissions
- ในส่วน Scopes ให้เลือก scopes ที่เหมาะสมกับแอปของคุณ ดูรายการแนะนำได้ที่ Scopes
- หลังจากเพิ่ม scopes แล้ว ให้เลื่อนไปที่ส่วน OAuth Tokens แล้วเลือก Install to Workspace (ต้องเป็น admin ของ Slack workspace)
- กด Allow
- คัดลอก Bot User OAuth Token แล้วนำไปใส่ในช่อง Access Token ใน n8n credential
- ถ้าคุณใช้ credential นี้กับ Slack Trigger ให้ทำตามขั้นตอนใน Slack Trigger configuration เพื่อจบการตั้งค่าแอป
ดูรายละเอียดเพิ่มเติมได้ที่ Slack API Quickstart
Slack Trigger configuration#
ถ้าต้องการใช้ Slack app กับ Slack Trigger node:
- ไปที่ Features > Event Subscriptions
- เปิดใช้งาน Enable Events
-
ใน n8n ให้คัดลอก Webhook URL แล้วนำไปใส่ในช่อง Request URL ของ Slack app
Request URL
Slack อนุญาตให้ใช้ request URL ได้แค่ 1 อันต่อแอป ถ้าคุณต้องการทดสอบ workflow ให้เลือกวิธีใดวิธีหนึ่งต่อไปนี้:
- ทดสอบด้วย Test URL ก่อน แล้วค่อยเปลี่ยน Slack app ไปใช้ Production URL หลังจากทดสอบเสร็จ
- ใช้ Production URL พร้อมกับเปิด execution logging
-
เมื่อยืนยันแล้ว ให้เลือก bot events ที่ต้องการ subscribe ใช้ฟิลด์ Trigger on ใน n8n เพื่อกรอง request เหล่านี้
- ถ้าต้องการใช้งาน event ที่ไม่มีในลิสต์ ให้เพิ่มเป็น bot event แล้วเลือก Any Event ใน n8n node
ดูรายละเอียดเพิ่มเติมได้ที่ Quickstart | Configuring the app for event listening
Using OAuth2#
หมายเหตุสำหรับผู้ใช้ n8n Cloud
ผู้ใช้ Cloud ไม่จำเป็นต้องให้รายละเอียดการเชื่อมต่อ เลือก Connect my account เพื่อเชื่อมต่อผ่านเบราว์เซอร์ของคุณ
ถ้าคุณ self-hosting n8n และต้องการตั้งค่า OAuth2 เองตั้งแต่ต้น คุณต้องมีบัญชี Slack และ:
- Client ID
- Client Secret
วิธีขอข้อมูลทั้งสองนี้ ให้สร้าง Slack app ขึ้นมาใหม่:
- เปิดหน้า Slack API Apps
- เลือก Create New App > From scratch
- กรอก App Name
- เลือก Workspace ที่จะใช้พัฒนาแอป
- กด Create App รายละเอียดแอปจะเปิดขึ้นมา
- ที่ Settings > Basic Information เปิดส่วน App Credentials
- คัดลอก Client ID และ Client Secret แล้วนำไปใส่ใน n8n
- ที่เมนูซ้ายใต้ Features เลือก OAuth & Permissions
- ในส่วน Redirect URLs ให้เลือก Add New Redirect URL
- คัดลอก OAuth Callback URL จาก n8n แล้วนำไปใส่ใน Slack
- กด Add
- กด Save URLs
- ในส่วน Scopes ให้เลือก scopes ที่เหมาะสมกับแอปของคุณ ดูรายการได้ที่ Scopes
- หลังจากเพิ่ม scopes แล้ว ให้เลื่อนไปที่ส่วน OAuth Tokens แล้วเลือก Install to Workspace (ต้องเป็น admin ของ Slack workspace)
- กด Allow
- ตอนนี้คุณสามารถกดปุ่ม OAuth ใน n8n credential เพื่อเชื่อมต่อได้เลย
ดูรายละเอียดเพิ่มเติมได้ที่ Slack API Quickstart และ Installing with OAuth
Scopes#
Scopes คือสิทธิ์การเข้าถึงที่แอปจะได้รับ
- ถ้าต้องการให้แอปทำงานแทนผู้ใช้ที่ authorize แอป ให้เพิ่ม scopes ที่ต้องการใน User Token Scopes
- ถ้าคุณสร้าง bot ให้เพิ่ม scopes ที่ต้องการใน Bot Token Scopes
นี่คือลิสต์ scopes ที่ OAuth credential ต้องใช้ เหมาะสำหรับเริ่มต้น:
Scope name | Notes |
---|---|
channels:read |
|
channels:write |
ใช้กับ bot token scope ไม่ได้ |
chat:write |
|
files:read |
|
files:write |
|
groups:read |
|
im:read |
|
mpim:read |
|
reactions:read |
|
reactions:write |
|
stars:read |
ใช้กับ bot token scope ไม่ได้ |
stars:write |
ใช้กับ bot token scope ไม่ได้ |
usergroups:read |
|
usergroups:write |
|
users.profile:read |
|
users.profile:write |
ใช้กับ bot token scope ไม่ได้ |
users:read |
Common issues#
Token expired#
Slack มีฟีเจอร์ token rotation ที่คุณสามารถเปิดใช้งานสำหรับ bot token และ user token ได้ ซึ่งจะทำให้ token ทุกตัวหมดอายุหลังจาก 12 ชั่วโมง แม้ว่าฟีเจอร์นี้อาจมีประโยชน์สำหรับการทดสอบ แต่ n8n credentials ที่ใช้ token ซึ่งเปิดใช้งานฟีเจอร์นี้จะใช้งานไม่ได้หลังจากหมดอายุ หากคุณต้องการใช้ Slack credentials ของคุณใน production ฟีเจอร์นี้จะต้อง ปิด อยู่
หากต้องการตรวจสอบว่าแอป Slack ของคุณเปิดใช้งาน token rotation หรือไม่ โปรดดูที่ Slack API Documentation | Token Rotation
หากแอปของคุณใช้ token rotation
โปรดทราบ หากแอป Slack ของคุณใช้ token rotation คุณจะไม่สามารถปิดใช้งานได้อีก คุณจำเป็นต้องสร้างแอป Slack ใหม่โดยปิดใช้งาน token rotation แทน