เชื่อม Slack เข้ากับเวิร์กสเปซ
สิ่งที่คุณจะสร้าง
หัวข้อที่มีชื่อว่า “สิ่งที่คุณจะสร้าง”เมื่อจบบทสอนนี้ คุณจะมี:
- แอป Slack ที่สร้างขึ้นสำหรับเวิร์กสเปซของคุณ พร้อมสิทธิ์และเหตุการณ์ที่ตั้งไว้ถูกต้องแล้ว
- การเชื่อมต่อที่ทำงานอยู่ระหว่าง Slack กับ Control Center
- บัญชี Slack ของคุณเองที่ลิงก์กับผู้ใช้ Control Center ของคุณ
- เอเจนต์ที่ตอบคุณในเธรด Slack และตั๋วงานที่เปิดจากคำสั่งสแลช
สิ่งที่ต้องมีก่อน:
- เวิร์กสเปซแรกของคุณ และ สั่งงานเอเจนต์ตัวแรก เสร็จแล้ว — เวิร์กสเปซที่ไม่มีเอเจนต์รับข้อความ Slack ได้ แต่ไม่มีใครตอบมัน
- เอเจนต์ CEO ของเวิร์กสเปซมีอะแดปเตอร์และโมเดลตั้งไว้ที่ การตั้งค่า → เวิร์กสเปซ → เอเจนต์ สะพานปลุก CEO ไม่ใช่เอเจนต์ที่คุณตั้งค่าไว้ในบทสอนก่อน และเอเจนต์ที่ไม่มีอะแดปเตอร์จะรันบนลูปในตัวด้วยโมเดลเริ่มต้นของ Anthropic
- บทบาท
ownerหรือadminในเวิร์กสเปซ Control Center (การเชื่อมต่อแอปแชทพูดแทนเวิร์กสเปซทั้งหมด) - สิทธิ์ในการสร้างและติดตั้งแอปในเวิร์กสเปซ Slack ของคุณ
ไม่มีอะไรในที่นี้ต้องใช้ที่อยู่สาธารณะ ทันเนล หรือพอร์ตขาเข้า Control Center เชื่อม ออก ไปยัง Slack ผ่าน Socket Mode จึงใช้งานได้จากแล็ปท็อปที่อยู่หลัง NAT
ขั้นตอนที่ 1: ขอโทเค็นการตั้งค่าแอป Slack
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 1: ขอโทเค็นการตั้งค่าแอป Slack”นี่คือความลับเดียวที่คุณต้องไปเอามาด้วยมือ มันทำให้ Control Center สร้างและแก้ไขแอปให้คุณได้ในภายหลัง
- เปิด api.slack.com/apps
- เลื่อนลงไปที่ส่วนโทเค็นการตั้งค่าแอปที่ด้านล่างของหน้า
- สร้างคู่โทเค็นสำหรับเวิร์กสเปซ Slack ของคุณ
- คัดลอกโทเค็น refresh — มันเริ่มต้นด้วย
xoxe-
ขั้นตอนที่ 2: ให้ Control Center สร้างแอป
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 2: ให้ Control Center สร้างแอป”- ใน Control Center ไปที่ การตั้งค่า → เวิร์กสเปซ → ทั่วไป แล้วหาการ์ด สะพานแชท
- ในบล็อก Slack คลิก สร้างแอปให้ฉัน
- วางโทเค็นการตั้งค่าแอป
- ตรวจดูว่าบอทจะมีหน้าตาอย่างไร:
- ชื่อแอป: ชื่อที่ Slack แสดงในรายการแอป เช่น
Control Center · Acme - ชื่อบอท: สิ่งที่ผู้คนพิมพ์ตามหลัง
@เช่นcontrol-center - คำอธิบายสั้น และ สิ่งที่บอทบอกว่าทำได้
- คำสั่งสแลช: ค่าเริ่มต้นคือ
ccคำสั่งจึงเป็น/cc - ข้อความตรง: เปิดไว้เพื่อให้สมาชิกส่งข้อความส่วนตัวถึงบอทได้
- ชื่อแอป: ชื่อที่ Slack แสดงในรายการแอป เช่น
- คลิก สร้างแอป
Control Center ประกอบนิยามแอปทั้งหมดให้ — เปิด Socket Mode พร้อมสโคปของบอทและการสมัครรับเหตุการณ์ที่จำเป็น คำสั่งสแลช และแท็บ Messages — แล้วสร้างมันขึ้นใน Slack
ขั้นตอนที่ 3: ทำสองขั้นตอนที่มีเพียง Slack เท่านั้นที่ทำได้
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 3: ทำสองขั้นตอนที่มีเพียง Slack เท่านั้นที่ทำได้”Slack ไม่มี API สำหรับสร้างโทเค็นระดับแอปหรือติดตั้งแอป ไดอะล็อกจึงยื่นทั้งสองอย่างให้คุณเป็นลิงก์:
- สร้างโทเค็นระดับแอป — เปิด Basic Information → App-Level Tokens สร้างโทเค็นที่มีสโคป
connections:writeแล้วคัดลอกมัน มันเริ่มต้นด้วยxapp- - ติดตั้งแอป — เปิด Install App ติดตั้งลงในเวิร์กสเปซของคุณ แล้วคัดลอก Bot User OAuth Token มันเริ่มต้นด้วย
xoxb-
เก็บค่าทั้งสองไว้ใช้ในขั้นตอนถัดไป
ขั้นตอนที่ 4: เชื่อมต่อ
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 4: เชื่อมต่อ”- กลับมาที่ไดอะล็อก คลิก วางข้อมูลรับรอง
- กรอก โทเค็นบอท (
xoxb-…) และ โทเค็นระดับแอป (xapp-…) - เว้น โทเค็นการตั้งค่าแอป ว่างไว้ — อันจากขั้นตอนที่ 1 ถูกเก็บไว้แล้ว (Slack หมุนเวียนมันใหม่และ Control Center บันทึกอันใหม่ไว้)
- คลิก เชื่อมต่อ
Control Center ตรวจสอบโทเค็นบอทกับ Slack ก่อนจะเก็บอะไรลงไป แล้วจึงเปิด socket แถวนั้นตอนนี้แสดงชื่อบอทและชื่อเวิร์กสเปซ Slack ของคุณพร้อมแท็ก สด
ขั้นตอนที่ 5: ลิงก์บัญชี Slack ของคุณเอง
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 5: ลิงก์บัญชี Slack ของคุณเอง”การเชื่อมต่อทำให้บอทเข้าถึงได้ ส่วนการลิงก์ทำให้ คุณ ถูกจดจำได้ จนกว่าตัวตน Slack ของคุณจะถูกลิงก์ บอทจะไม่ลงมือกับข้อความของคุณ — มันไม่เคยระบุข้อความว่าเป็นของคนที่ติดตั้งแอป
การลิงก์เป็นเรื่องส่วนตัว จึงอยู่คนละหน้ากับการเชื่อมต่อระดับเวิร์กสเปซ
- ไปที่ การตั้งค่า → เวิร์กสเปซ → โปรไฟล์และตัวตน แล้วหาการ์ด บัญชีแชทที่ลิงก์
- คลิก ลิงก์บัญชี Slack ของฉัน
- คัดลอกคำสั่งที่มันแสดง เช่น
/cc link K7M2QP - ใน Slack ส่งคำสั่งนั้นถึงบอททางข้อความส่วนตัว
- บอทตอบว่า “ลิงก์แล้ว — คุณคือ …”
รหัสนี้ใช้ได้ครั้งเดียวและหมดอายุใน 15 นาที ถ้าอีเมล Slack ของคุณตรงกับผู้ใช้ Control Center ที่เป็นสมาชิกของเวิร์กสเปซนี้อยู่แล้ว สะพานจะลิงก์คุณให้อัตโนมัติในครั้งแรกที่คุณคุยกับมัน และคุณข้ามขั้นตอนนี้ได้
ถ้าคุณกล่าวถึงบอทก่อนที่จะทำขั้นนี้เสร็จ มันจะปฏิเสธและบอกเหตุผล การปฏิเสธทั้งสามแบบนั้นต่างกัน อ่านให้ดีว่าคุณเจอแบบไหน:
- ผู้ส่งที่ยังไม่ได้ลิงก์: บอทจะบอกวิธีลิงก์ให้ กลับมาที่ขั้นตอนนี้
- ลิงก์แล้ว แต่ไม่ใช่สมาชิกของเวิร์กสเปซนี้: ขอให้แอดมินเชิญคุณ
- สมาชิกที่มีบทบาทอ่านอย่างเดียว (viewer หรือ guest): บอทจะไม่เริ่มงานแทนคุณ
ขั้นตอนที่ 6: มอบงานให้เอเจนต์
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 6: มอบงานให้เอเจนต์”-
ใน Slack เชิญบอทเข้าแชนเนล:
/invite @control-center -
กล่าวถึงมันด้วยคำขอจริง ๆ:
@control-center สรุป PR ที่เปิดอยู่บนรีโป api
สะพานจะ:
- สร้างสเปซ Control Center สำหรับเธรด Slack นั้น ตั้งชื่อตามแชนเนล Slack และคำขอของคุณ
- ปลุกเอเจนต์ประตูหน้าของเวิร์กสเปซ (เอเจนต์ CEO เมื่อมี ไม่อย่างนั้นก็เอเจนต์ตัวแรก)
- สตรีมคำตอบของเอเจนต์กลับเข้าเธรด Slack ขณะที่มันถูกเขียนขึ้น
ตอบกลับในเธรด Slack เดียวกันเพื่อคุยต่อ — ไม่ต้องกล่าวถึงอีก เพราะตอนนี้เธรด Slack เชื่อมผ่านสะพานแล้ว หรือจะส่งข้อความส่วนตัวถึงบอทแทนการใช้แชนเนลก็ได้ บทสนทนาทางข้อความส่วนตัวแต่ละอันขับสเปซ Control Center ของตัวเอง พร้อมชื่อเรื่องและบรรทัดสถานะ “กำลังคิด…” ขณะที่เอเจนต์ทำงาน
การสตรีมต้องใช้ API สตรีมของ Slack ซึ่งไม่ใช่ทุกแพ็กเกจที่มี ถ้าแอปของคุณถูกปฏิเสธ สะพานจะหยุดพยายามไปตลอดทั้งการเชื่อมต่อนั้น แล้วโพสต์คำตอบแต่ละอันเป็นข้อความเดียวแทน และการ์ดสะพานแชทจะระบุว่า “สตรีมสดปิดสำหรับแอป Slack นี้ — คำตอบมาเป็นข้อความเดียว” ส่วนอื่น ๆ ทำงานเหมือนเดิม
ขั้นตอนที่ 7: เปิดตั๋วงานโดยไม่ต้องออกจาก Slack
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 7: เปิดตั๋วงานโดยไม่ต้องออกจาก Slack”/cc ticket Fix the flaky login test | It fails on CI about once a day.บอทตอบด้วยคีย์ของตั๋วงานที่มันเปิดไว้ ตั๋วงานนี้เป็นตั๋วงาน Control Center ภายในเครื่องธรรมดา ๆ ที่คุณเป็นผู้รายงาน พร้อมให้มอบหมายแก่เอเจนต์ /cc help แสดงรายการทุกอย่างที่คำสั่งนี้ทำได้
คุณสร้างแอป Slack จาก Control Center เชื่อมต่อมันผ่าน socket ขาออก ลิงก์ตัวตน Slack ของคุณกับผู้ใช้ Control Center ของคุณ และขับเอเจนต์จากเธรด Slack ทุกอย่างที่เกิดขึ้นใน Slack มีอยู่ใน Control Center ด้วย: เธรด Slack คือสเปซ คำตอบคือทรานสคริปต์ ตั๋วงานคือตั๋วงาน
ถัดไป: ตั้งค่าการผสาน Slack ครอบคลุมเส้นทางสร้างแอปด้วยตัวเอง การหมุนเวียนโทเค็น และการแก้ปัญหา สำหรับโมเดลที่อยู่เบื้องหลัง อ่าน สะพานแชท