เอกสารประกอบ
การเชื่อมต่อ Slack ด้วย incoming webhook
สร้าง Slack incoming webhook สำหรับแชนเนล เพิ่มลงใน AutoPSEO ส่งข้อความทดสอบ และแก้ไขข้อผิดพลาดที่ Slack ส่งกลับมาเมื่อโพสต์ไม่สำเร็จ
AutoPSEO โพสต์ไปยัง Slack ผ่าน incoming webhook โดย Slack จะให้ URL ที่เขียนข้อความลงในแชนเนลเดียว คุณนำ URL นั้นมาวางใน AutoPSEO แล้วรายงานและการแจ้งเตือนจะเริ่มส่งเข้ามาที่แชนเนลนั้น AutoPSEO ไม่ติดตั้งอะไรใน workspace ของคุณเลย จึงไม่สามารถอ่านข้อความ แสดงรายการแชนเนล หรือโพสต์ไปยังที่ใดที่ webhook ไม่ได้ชี้ไป หากต้องการรับข้อความในหลายแชนเนล ให้เพิ่มรายการหนึ่งรายการต่อแชนเนล
สร้าง webhook ใน Slack
Slack ออก incoming webhook ผ่าน Slack app โดยทำตาม คู่มือ incoming webhook ของ Slack ดังนี้
- สร้าง Slack app สำหรับ workspace ของคุณ หรือเปิด app ที่คุณใช้ส่งการแจ้งเตือนอยู่แล้ว ตั้งชื่อที่ทีมของคุณจำได้ง่าย เช่น รายงาน SEO
- ในหน้าการตั้งค่าของ app ให้เปิด Incoming Webhooks แล้วเปิดใช้ Activate Incoming Webhooks
- คลิก Add New Webhook to Workspace เลือกแชนเนลแล้วกดอนุมัติ สำหรับแชนเนลส่วนตัว คุณต้องเป็นสมาชิกของแชนเนลนั้นก่อน
- คัดลอก URL ใหม่จาก Webhook URLs for Your Workspace โดย URL จะขึ้นต้นด้วย
https://hooks.slack.com/services/
ทำขั้นตอนที่ 3 และ 4 ซ้ำสำหรับแต่ละแชนเนลที่เหลือ app หนึ่งตัวมี webhook ได้หลายรายการ URL ที่สร้างจาก webhook แบบ custom integration รุ่นเก่าของ Slack ก็ยังใช้งานได้เช่นกัน แต่ Slack แนะนำให้ย้ายไปใช้ app
Slack ถือว่า URL นี้เป็นความลับ ใครก็ตามที่มี URL สามารถโพสต์ลงในแชนเนลได้ ให้วางลงใน AutoPSEO เท่านั้น และอย่าใส่ไว้ใน ticket, wiki หรือภาพหน้าจอ
เพิ่มลงใน AutoPSEO
- ที่หน้า Slack, Teams & Webhooks ให้ค้นหา Slack - Connected workspaces แล้วคลิก Add to Slack ฟอร์ม New channel จะเปิดขึ้นโดยเลือก Slack เป็นปลายทางไว้ให้แล้ว
- Name: ป้ายชื่อที่ใช้ในรายการของ AutoPSEO ประวัติการส่ง และข้อความทดสอบ เช่น
#seo-alerts - Webhook URL: วาง URL จาก Slack สำหรับรายการ Slack นั้น AutoPSEO รับเฉพาะที่อยู่
httpsบน slack.com และจะแจ้งทันทีหาก URL ไม่ตรงตามนี้ - คลิก Add channel แล้วคลิก Send test ที่แถวของรายการใหม่ ข้อความสั้น ๆ ที่ระบุชื่อรายการควรปรากฏใน Slack ภายในไม่กี่วินาที และ AutoPSEO จะแสดงระยะเวลาที่ Slack ใช้ตอบกลับ
URL จะถูกเก็บแบบเข้ารหัส (AES-GCM) หลังจากนั้นรายการจะแสดงเฉพาะโฮสต์และอักขระตัวท้าย ๆ ของ URL ดังนั้นควรตั้งชื่อให้รู้ชัดว่าแต่ละรายการส่งไปยังแชนเนลใดใน Slack
ขั้นตอนต่อไปคือกำหนดสิ่งที่จะโพสต์ ได้แก่ รายงานตามกำหนดเวลา หรือ การแจ้งเตือน จากนั้นตาราง Slack - Subscriptions ใต้รายการจะแสดงกฎทั้งหมดที่โพสต์ในแต่ละแชนเนลของ Slack พร้อมกำหนดเวลา และสถานะว่าใช้งานอยู่หรือหยุดชั่วคราว
หลายแชนเนลและหลาย workspace
webhook URL หนึ่งรายการผูกกับแชนเนลเดียวใน workspace เดียว และ Slack ไม่อนุญาตให้ข้อความเปลี่ยนแชนเนลที่ webhook ถูกสร้างขึ้นมา ซึ่งทำให้การทำงานคาดเดาได้ง่าย
- หนึ่งแชนเนลของ Slack ต่อหนึ่งรายการ หากต้องการแยกลูกค้าระหว่าง
#client-aและ#client-bให้สร้าง webhook สำหรับแต่ละแชนเนลแล้วเพิ่มทั้งสองรายการ - หลาย workspace ก็ใช้วิธีเดียวกัน เพราะแต่ละ webhook อยู่ใน workspace ที่คุณสร้างมันขึ้นมา
- หนึ่งรายการรองรับได้หลายกฎ คุณจะส่งรายงานประจำสัปดาห์และการแจ้งเตือนทราฟฟิกลดลงไปยังรายการเดียวกัน หรือแยกการแจ้งเตือนไปไว้ในแชนเนลที่คึกคักกว่าก็ได้
เหตุที่ข้อความไม่ถูกส่งถึง
Send test จะแสดงสาเหตุให้ทันที สำหรับข้อความที่ตั้งเวลาไว้ ให้เปิด Delivery history ซึ่งเก็บคำตอบของ Slack สำหรับทุกความพยายามที่ล้มเหลว
| สิ่งที่ AutoPSEO แสดง | ความหมาย | สิ่งที่ควรทำ |
|---|---|---|
| Slack rejected the URL (no_service) | webhook ถูกลบหรือปิดใช้งานใน Slack หรือ URL พิมพ์ผิด | สร้าง webhook ใหม่ เพิ่มลงในระบบ แล้วลบรายการเก่า |
| The Slack channel no longer exists, or is archived | Slack ตอบกลับด้วย channel_not_found หรือ channel_is_archived | สร้าง webhook สำหรับแชนเนลที่ยังใช้งานอยู่ |
| Slack is rate limiting us | Slack ตอบกลับด้วย HTTP 429 | รอสักครู่ แล้วใช้ Send now หรือ Test rule |
| Timed out after 10 seconds | Slack ไม่ตอบกลับภายในเวลาที่กำหนด | ลองใหม่ภายหลัง |
| Your trial has ended | ไม่มีแผนหรือช่วงทดลองใช้ที่ใช้งานอยู่ | เลือกแผน การส่งตามกำหนดเวลาจะกลับมาทำงานเมื่อมีแผน |
รายงานตามกำหนดเวลาที่ส่งไม่สำเร็จจะไม่ถูกส่งซ้ำในรอบเวลาเดิม ดังนั้นให้ใช้ Send now หลังจากแก้สาเหตุแล้ว ส่วนการแจ้งเตือนที่โพสต์ไม่ได้จะถูกประเมินอีกครั้งในการตรวจสอบรอบถัดไป (เวลาที่การแจ้งเตือนทำงาน)
การลบแชนเนล Slack
Delete ที่แถวของรายการจะลบ URL ที่เก็บไว้ และหลังจากมีการยืนยันที่บอกจำนวนกฎ ก็จะลบทุกกฎที่โพสต์ไปยังรายการนั้นด้วย AutoPSEO ไม่เปลี่ยนแปลงสิ่งใดใน Slack webhook จะยังทำงานต่อไปจนกว่าจะมีคนลบออกใน Slack app ดังนั้นหากคิดว่าอาจมีผู้อื่นเห็น URL นั้น ให้ลบใน Slack ด้วย