Slack Trigger node#
ใช้ Slack Trigger node เพื่อรับเหตุการณ์ต่าง ๆ ที่เกิดขึ้นใน Slack และเชื่อมต่อ Slack กับแอปอื่น ๆ ได้แบบอัตโนมัติ n8n รองรับ event หลากหลาย เช่น ข้อความใหม่, การกด reaction, หรือการสร้าง channel ใหม่
ในหน้านี้จะมีรายการ event ที่ Slack Trigger node สามารถตอบสนองได้ พร้อมลิงก์ไปยังแหล่งข้อมูลเพิ่มเติม
Credentials
คุณสามารถดูข้อมูลการตั้งค่า authentication สำหรับ node นี้ได้ ที่นี่
Examples and templates
ถ้าต้องการดูตัวอย่างการใช้งานและ template สำหรับเริ่มต้นใช้งาน ลองดูที่หน้า Slack integrations ของ n8n ได้เลย
Events#
- Any Event: node จะ trigger เมื่อมี event ใด ๆ ใน Slack
- Bot / App Mention: node จะ trigger เมื่อ bot หรือ app ของคุณถูก mention ใน channel ที่ app อยู่
- File Made Public: node จะ trigger เมื่อมีการ แชร์ไฟล์เป็นสาธารณะ
- File Shared: node จะ trigger เมื่อมีการ แชร์ไฟล์ ใน channel ที่ app อยู่
- New Message Posted to Channel: node จะ trigger เมื่อมีข้อความใหม่ใน channel ที่ app อยู่
- New Public Channel Created: node จะ trigger เมื่อมีการสร้าง public channel ใหม่
- New User: node จะ trigger เมื่อมีการเพิ่มผู้ใช้ใหม่ใน Slack
- Reaction Added: node จะ trigger เมื่อมีการเพิ่ม reaction ในข้อความที่ app อยู่
Parameters#
เมื่อคุณตั้งค่า event ที่ต้องการ trigger แล้ว คุณสามารถใช้ parameter ที่เหลือเพื่อกำหนดพฤติกรรมของ node ได้เพิ่มเติม:
-
Watch Whole Workspace: กำหนดว่า node ควรดู event ที่เลือกในทุก channel ใน workspace (เปิดใช้งาน) หรือไม่ (ปิดใช้งาน, ค่าเริ่มต้น)
Caution
การตั้งค่านี้จะใช้การประมวลผลหนึ่งครั้งสำหรับทุก event ในทุก channel ที่ bot หรือ app ของคุณอยู่ ใช้อย่างระมัดระวัง!
-
Channel to Watch: เลือก channel ที่ node ควรดู event ที่เลือก Parameter นี้จะปรากฏเฉพาะเมื่อคุณไม่เปิดใช้งาน Watch Whole Workspace คุณสามารถเลือก channel ได้ดังนี้:
- From list: node จะใช้ credential ของคุณเพื่อค้นหารายการ channel ใน workspace เพื่อให้คุณเลือก channel ที่ต้องการ
- By ID: ป้อน ID ของ channel ที่คุณต้องการดู Slack จะแสดง ID ของ channel ที่ด้านล่างของรายละเอียด channel พร้อมปุ่มคัดลอก
- By URL: ป้อน URL ของ channel ที่คุณต้องการดู โดยใช้รูปแบบ
https://app.slack.com/client/<channel-address>
- Download Files: กำหนดว่าจะดาวน์โหลดไฟล์และใช้ใน output ของ node (เปิดใช้งาน) หรือไม่ (ปิดใช้งาน, ค่าเริ่มต้น) ใช้ parameter นี้ร่วมกับ event File Made Public และ File Shared
Options#
คุณสามารถปรับแต่งพฤติกรรมของ node ได้เพิ่มเติมเมื่อคุณ Add Option:
- Resolve IDs: กำหนดว่าจะเปลี่ยน ID ให้เป็นชื่อที่เกี่ยวข้องและส่งคืน (เปิดใช้งาน) หรือไม่ (ปิดใช้งาน, ค่าเริ่มต้น)
- Usernames or IDs to ignore: เลือกชื่อผู้ใช้หรือป้อน string ของ user ID ที่เข้ารหัสคั่นด้วยเครื่องหมายจุลภาคเพื่อไม่ให้รับ event จากผู้ใช้เหล่านั้น เลือกจากรายการ หรือระบุ ID โดยใช้ expression
Related resources#
n8n มี app node สำหรับ Slack คุณสามารถดูเอกสาร node ได้ ที่นี่
ดู ตัวอย่าง workflow และเนื้อหาที่เกี่ยวข้อง บนเว็บไซต์ของ n8n
ดูเอกสาร Slack's documentation สำหรับรายละเอียดเกี่ยวกับ API ของพวกเขา
Required scopes#
ในการใช้ node นี้ คุณต้องสร้างแอปพลิเคชันใน Slack และเปิดใช้งาน event subscriptions ดูข้อมูลเพิ่มเติมได้ที่ Slack credentials | Slack Trigger configuration
คุณต้องเพิ่ม scope ที่เหมาะสมให้กับ Slack app ของคุณเพื่อให้ trigger node นี้ทำงานได้
node ต้องการ scope สำหรับ conversations.list และ users.list อย่างน้อยที่สุด ดู Scopes | Slack credentials สำหรับรายการ scope ที่สมบูรณ์ยิ่งขึ้น
Common issues#
นี่คือข้อผิดพลาดและปัญหาทั่วไปที่เกิดขึ้นกับ Slack Trigger node และขั้นตอนในการแก้ไขหรือแก้ปัญหา
Workflow only works in testing or production#
Slack อนุญาตให้คุณลงทะเบียน webhook เพียงอันเดียวต่อแอป ซึ่งหมายความว่าคุณไม่สามารถสลับจากการใช้ URL ทดสอบไปยัง URL การผลิต (และในทางกลับกัน) โดยไม่ต้องกำหนดค่า URL webhook ที่ลงทะเบียนใหม่
คุณอาจมีปัญหากับสิ่งนี้หากคุณพยายามทดสอบ workflow ที่ใช้งานอยู่ใน production Slack จะส่ง event ไปยังหนึ่งในสอง URL webhook เท่านั้น ดังนั้นอีกอันจะไม่ได้รับการแจ้งเตือน event
เพื่อแก้ปัญหานี้ คุณสามารถปิดใช้งาน workflow ของคุณเมื่อทดสอบ:
Halts production traffic
การดำเนินการนี้จะปิดใช้งาน workflow การผลิตของคุณชั่วคราวสำหรับการทดสอบ workflow ของคุณจะไม่ได้รับ traffic การผลิตในขณะที่ถูกปิดใช้งาน
- ไปที่หน้า workflow ของคุณ
- สลับสวิตช์ Active ในแผงด้านบนเพื่อปิดใช้งาน workflow ชั่วคราว
- แก้ไข Request URL ใน Slack Trigger configuration ของคุณเพื่อใช้ URL webhook ทดสอบแทน URL webhook การผลิต
- ทดสอบ workflow ของคุณโดยใช้ URL webhook ทดสอบ
- เมื่อคุณทดสอบเสร็จแล้ว ให้แก้ไข Request URL ใน Slack Trigger configuration ของคุณเพื่อใช้ URL webhook การผลิตแทน URL webhook ทดสอบ
- สลับสวิตช์ Inactive เพื่อเปิดใช้งาน workflow อีกครั้ง URL webhook การผลิตควรกลับมาทำงานได้
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 แทน