สรุปสั้น ๆ
สลักบอตสำหรับเอเจนต์เขียนโค้ดคือแอป Slack ที่ผูกกับเอเจนต์ AI หนึ่งตัว ดังนั้นข้อความส่วนตัวและการกล่าวถึงจะกลายเป็นการสนทนากับเอเจนต์ และทุกคำตอบจะไปอยู่ในเธรดเดียวกัน ใน Sharkly บอตแต่ละตัวจะผูกกับ Agent เพียงหนึ่งตัวเท่านั้น และ Agent ตัวนั้นจะตอบโดยใช้คำสั่ง โมเดล สกิล และรีโปที่คุณตั้งค่าไว้ให้มัน
- เปิด api.slack.com/apps แล้วสร้าง App Configuration Token จากนั้นคัดลอก Refresh Token
- ใน Sharkly เปิด Integrations เลือก Slack แล้วเลือก Connect Agent
- เลือก Agent ที่ต้องการผูก และตั้งชื่อแอปได้ตามต้องการ (Slack จำกัดชื่อแอปไว้ที่ 35 ตัวอักษร)
- วาง Refresh Token แล้วเลือก Create & Install
- อนุมัติหน้า OAuth ที่เปิดขึ้นในหน้าต่างที่ Slack แสดง
- รอให้สถานะบอตเปลี่ยนจาก Installing เป็น Connected แล้วส่งข้อความส่วนตัวหาบอต
ทำไมเอเจนต์เขียนโค้ดของคุณควรตอบใน Slack
ทีมของคุณใช้เอเจนต์เขียนโค้ดอยู่แล้ว บางคนเปิด Claude Code ไว้ในเทอร์มินัล บางคนเขียนสคริปต์รัน Codex และผลลัพธ์ก็ไปกองอยู่ในประวัติเชลล์ของแต่ละคน แต่ในขณะเดียวกัน คำถามที่เอเจนต์เหล่านั้นตอบได้กลับถูกถามใน Slack เพราะ Slack คือที่ที่ทีมคุยกัน
ช่องว่างตรงนี้มีต้นทุน เมื่อ PM ถามว่าทำไมเอนด์พอยต์ export ถึงเริ่มล้มเหลว คำถามนั้นจะไปถึงนักพัฒนา ซึ่งต้องไปถามเอเจนต์แล้วส่งคำตอบกลับมา การส่งต่อแบบนี้ทำให้คำถามที่เอเจนต์ตอบได้ในเก้าสิบวินาทีกลายเป็นเรื่องที่ใช้เวลานานเป็นชั่วโมง
Sharkly ปิดช่องว่างนี้จากฝั่งแพลตฟอร์ม Sharkly ไม่ได้มาแทน Claude Code, Codex หรือเครื่องมือรันงานอื่น ๆ แต่เข้ามาเพิ่มชั้นของงานที่แชร์ร่วมกัน บริบท การควบคุม และการรีวิวให้กับเครื่องมือเหล่านั้น ส่วนการเชื่อมต่อกับ Slackของ Sharkly จะขยายชั้นนี้เข้ามาในเวิร์กสเปซของคุณ เพื่อให้เพื่อนร่วมทีมได้คำตอบในจุดที่คำถามถูกถามขึ้นมา
สองการเชื่อมต่อ สองหน้าที่
การเชื่อมต่อนี้มีสองรูปแบบที่เป็นอิสระต่อกัน และการสับสนระหว่างทั้งสองคือสาเหตุที่ทำให้เกิดความเข้าใจผิดบ่อยที่สุด:
| การเชื่อมต่อ | ทำอะไร | ใครเป็นคนตั้งค่า |
|---|---|---|
| การเชื่อมต่อเวิร์กสเปซ Slack | ติดตั้งแอป Slack ที่ใช้ร่วมกันของ Sharkly เพื่อให้ผู้คนสร้าง Task จาก Slack โพสต์ลิงก์กลับไปยัง Task และแสดงตัวอย่างลิงก์ Task ของ Sharkly ได้ | เจ้าขององค์กรและผู้ดูแลระบบ |
| การผูกบอตกับ Agent | สร้างและติดตั้งแอป Slack เฉพาะสำหรับ Sharkly Agent หนึ่งตัว เพื่อให้ข้อความกลายเป็นการสนทนากับ Agent | สมาชิก สำหรับ Agent ที่ตนมีสิทธิ์ใช้งาน |
ทั้งสองเป็นการติดตั้งแยกกันและขับเคลื่อนด้วยแอป Slack คนละตัว และจะใช้อันใดอันหนึ่งโดยไม่มีอีกอันก็ได้ ยังมีข้อจำกัดอีกสองข้อ: เวิร์กสเปซ Slack หนึ่งแห่งเชื่อมต่อกับองค์กร Sharkly ได้เพียงหนึ่งแห่งในแต่ละช่วงเวลา และการทำงานกับ Slack ภายใน Space automations ใช้การเชื่อมต่อรูปแบบที่สาม ซึ่ง Slack ทำหน้าที่เป็นแอ็กชันแต่ยังไม่สามารถเริ่มเวิร์กโฟลว์ได้ในเวอร์ชันนี้ คู่มือนี้จะพูดถึงเฉพาะการผูกบอตกับ Agent
Sharkly Agent Slack bot คืออะไร?
บอตของ Agent เชื่อม Sharkly Agent หนึ่งตัวเข้ากับแอป Slack หนึ่งแอป ข้อความจะกลายเป็นการสนทนากับ Agent และคำตอบจะกลับไปยัง DM หรือเธรดเดิม Agent ที่ตอบก็คือเพื่อนร่วมทีมที่ตั้งค่าไว้คนเดียวกับที่คุณเห็นในส่วนอื่น ๆ ของ Sharkly ทั้งคำสั่ง โมเดล สกิล และองค์ความรู้จากรีโปก็เหมือนกันทั้งหมด
การผูกเป็นแบบหนึ่งต่อหนึ่งอย่างเคร่งครัด และคุณผูกได้ทั้ง Personal Agents ของตัวเองรวมถึง Agents ที่แชร์ใน Space ที่คุณได้รับอนุญาตให้ใช้
การติดตั้งนี้มาพร้อมสองช่องทาง ข้อความส่วนตัวจะสร้างเซสชันแชตสำหรับช่อง DM นั้น และข้อความต่อ ๆ ไปจะสนทนาต่อในเซสชันเดิม Agent จึงยังจำบริบทไว้ได้ ไม่ต้องเริ่มใหม่ทุกครั้ง ส่วนการกล่าวถึงในช่องแชตจะตัดส่วนที่กล่าวถึงออก ส่งข้อความที่เหลือให้ Agent และตอบกลับในเธรดที่เริ่มจากข้อความของคุณ
@ReleaseShark summarize the decision in this thread and list the next steps
Sharkly จะไม่สนใจข้อความจากบอตตัวอื่น เหตุการณ์แก้ไขข้อความ และเหตุการณ์เข้าร่วมช่อง ซึ่งช่วยป้องกันการตอบกลับวนไปวนมาเมื่อมีแอปหลายตัวอยู่ในช่องเดียวกัน
วิธีเชื่อมต่อเอเจนต์ AI เข้ากับ Slack
คุณต้องมี Agent ที่ตั้งค่าได้ (ดูคู่มือเริ่มต้นใช้งาน) และมีสิทธิ์สร้าง Slack App Configuration Token รวมถึงติดตั้งแอปให้ทีมเป้าหมาย

- เปิด api.slack.com/apps แล้วไปที่ Your App Configuration Tokens
- สร้าง App Configuration Token แล้วคัดลอก Refresh Token (เอกสารของ Slack) ให้ถือว่ามันเป็นความลับและส่งผ่านแบบฟอร์มการเชื่อมต่อของ Sharkly เท่านั้น
- ใน Sharkly เปิด Integrations แล้วเลือก Slack
- เลือก Connect Agent แล้วเลือก Agent ที่ต้องการผูก
- ใส่ชื่อแอปก็ได้ตามต้องการ หากเว้นว่างไว้จะใช้ชื่อของ Agent แทน
- วาง Refresh Token แล้วเลือก Create & Install
- ทำการอนุญาต OAuth ของ Slack ให้เสร็จในหน้าต่างที่เปิดขึ้น หากไม่มีอะไรปรากฏขึ้น ให้อนุญาตป๊อปอัปแล้วลองใหม่
- รอให้สถานะบอตเปลี่ยนจาก Installing เป็น Connected
Sharkly จะแลก Refresh Token เป็น configuration access token ที่มีอายุสั้น สร้างแอปจาก manifest ที่ครอบคลุมตัวตนของบอต มุมมอง Slack Assistant, OAuth redirect, callback และสโคปของ Events API จากนั้นจึงเปิด Slack เพื่อติดตั้ง
ตรวจสอบได้โดยส่ง DM หาบอต หากมีคำตอบกลับมา แปลว่าเส้นทางทั้งหมดทำงานครบ: รับเหตุการณ์ สร้างเซสชัน รันเสร็จ และส่งคำตอบกลับมา ถ้าบอตยังค้างอยู่ที่ Installing แสดงว่า OAuth callback ยังไม่ได้บันทึกบอตโทเคน ให้เปิดหน้าต่างติดตั้งอีกครั้งแล้วทำขั้นตอนให้เสร็จ หากเลือก Agent ไม่ได้ แสดงว่า Agent นั้นถูกผูกกับแอปอื่นไปแล้ว
ทริกเกอร์ของสลักบอต: การกล่าวถึง อีโมจิ และทุกข้อความ
ค่าเริ่มต้นบอตจะตอบเฉพาะข้อความส่วนตัวและการกล่าวถึงในช่องเท่านั้น ไม่ตอบอย่างอื่น ในการตั้งค่า Slack ของ Agent แต่ละทริกเกอร์จะเป็นแถวที่คุณเปิดปิดได้:
- ถูกกล่าวถึงในช่องเป็นค่าเริ่มต้น Agent จะทำงานเมื่อมีคนเรียกชื่อบอตเท่านั้น และคำตอบจะไปอยู่ในเธรดใต้ข้อความที่กล่าวถึง
- รีแอ็กชันอีโมจิในช่องเปลี่ยนการรีแอ็กชันให้กลายเป็นทริกเกอร์ รีแอ็กด้วยอีโมจิที่ตั้งไว้ แล้วบอตจะเปิดเธรดพร้อมบริบทใกล้เคียง
- ทุกข้อความในช่องทำให้ Agent ทำงานกับข้อความทั่วไปในช่องที่คุณเลือกไว้อย่างเจาะจง ใช้กับทุกช่องไม่ได้ และแอปอื่นที่โพสต์ในช่องนั้นก็กระตุ้นมันได้เช่นกัน
หลักการตัดสินใจที่ทำให้เรื่องนี้ไม่วุ่นวาย: ในช่องที่ใช้ร่วมกันให้เปิดเฉพาะการกล่าวถึง เพราะการเปิดทริกเกอร์แบบกว้างจะสร้างเสียงรบกวนและเปิดเผยบริบทที่ไม่เกี่ยวข้องให้ Agent เห็น เปิด "ทุกข้อความในช่อง" เฉพาะในช่องเฉพาะกิจที่ทุกคนเข้าใจดีว่าข้อความจะถูกส่งไปถึง Agent ส่วนทริกเกอร์อีโมจิอยู่ตรงกลางระหว่างสองขั้วนั้น เพราะจะไม่มีอะไรไปถึง Agent เลยจนกว่าจะมีคนตั้งใจรีแอ็ก
เธรดในแต่ละช่องถือเป็นการสนทนากับ Agent แยกกัน ดังนั้นสองเธรดในช่องเดียวกันคือสองเซสชันที่มีบริบทต่างกัน และผู้คนสามารถสนทนาต่อในเธรดได้โดยไม่ต้องกล่าวถึงบอตอีก แอปนี้ยังเปิดใช้ Slack Assistant ซึ่งเป็นแผงที่ Slack มีไว้สำหรับแอป AIด้วย
การสนทนาใน Slack ไม่ใช่ Task
การสนทนากับบอตของ Agent จะไม่สร้าง Task ขึ้นมาเอง และเส้นแบ่งนี้เป็นเจตนาที่ตั้งใจไว้ หลักการจากการแชตกับการมอบหมาย Taskยังใช้ได้เหมือนเดิม: แชตเมื่อคุณต้องการคำตอบ และมอบหมาย Task เมื่อคุณต้องการผลงานที่จะมีคนมารีวิว
เมื่อ Agent สร้าง Task จาก Slack คุณสามารถผูกเธรดปัจจุบันไปพร้อมกันได้ หลังผูกแล้ว คอมเมนต์ใน Task และข้อความในเธรดจะซิงก์กัน การผูกเธรดคือสิ่งที่ทำให้การเชื่อมต่อนี้คุ้มค่า: การ討論เริ่มต้นใน Slack กลายเป็น Task และจากจุดนั้นความคืบหน้า อุปสรรค และผลลัพธ์จะกลับไปอยู่ใน Task ขณะที่เธรดยังอัปเดตให้คนที่อยู่ในบทสนทนาเห็นอยู่เสมอ
เมื่อใดที่สลักบอตไม่ใช่เครื่องมือที่ใช่
คุณต้องการแค่การสร้าง Task และตัวอย่างลิงก์ ใช้การเชื่อมต่อเวิร์กสเปซอย่างเดียวก็พอ สแลชคอมมานด์ ทางลัด ลิงก์กลับ และการแสดงตัวอย่างลิงก์ ล้วนมาจากแอปที่ใช้ร่วมกันทั้งนั้น
คุณต้องการส่งข้อความเข้าช่องตามตารางเวลาหรือตามเหตุการณ์ นั่นคือแอ็กชัน Slack ภายในเวิร์กโฟลว์ automation ไม่ใช่การสนทนา และเนื่องจากเหตุการณ์ของ Slack ยังเริ่มเวิร์กโฟลว์ไม่ได้ในเวอร์ชันนี้ ให้เริ่มจากตารางเวลา การเปลี่ยนสถานะ คีย์เวิร์ดในคอมเมนต์ หรือเว็บฮุกแทน
งานนั้นต้องรันกับรีโปและมีการรีวิวตอนท้าย ให้มอบหมายเป็น Task ใช้บอตเพื่อถาม ใช้ Task เพื่อลงมือสร้าง
คุณอยากได้บอตตัวเดียวที่ทำหน้าที่แทนทุกคนในทีม การผูกแบบนั้นไม่มีอยู่จริง ทีมผู้เชี่ยวชาญหลายคนที่ประสานงานกันในงานจริงควรอยู่ใน Crew ที่ทำ Task อยู่ ไม่ใช่ในช่องที่เต็มไปด้วยบอต
ความปลอดภัยและสิทธิ์การเข้าถึง
- App Configuration Refresh Token จะถูกแลกระหว่างการตั้งค่า และไม่ได้ถูกใช้เป็นบอตโทเคนที่ติดตั้งแล้ว ส่วน client secret, signing secret และ OAuth bot token ที่สร้างขึ้นจะถูกเข้ารหัสไว้ที่พักข้อมูล
- Callback ของ Events API จะถูกตรวจสอบด้วย signing secret ที่จัดเก็บไว้ ลายเซ็นที่ไม่ถูกต้องจะถูกปฏิเสธ และขนาดของเนื้อหาเหตุการณ์มีข้อจำกัด
- ตรวจดูสโคปที่ขอไว้ก่อนอนุญาต: การกล่าวถึง ข้อความส่วนตัว ประวัติเธรดในช่องสาธารณะและช่องส่วนตัว การส่งข้อความ การเปิด DM และการอัปเดตสถานะ Assistant
- เจ้าของและผู้ดูแลระบบจัดการเวิร์กสเปซที่ใช้ร่วมกันและการผูกทั้งหมด ส่วนสมาชิกจัดการการผูกสำหรับ Agent ที่ตนมีสิทธิ์ใช้งาน
การยกเลิกการเชื่อมต่อไม่ทำลายข้อมูลใด ๆ Agent จะหยุดรับข้อความผ่านบอตนั้น แต่ประวัติใน Slack ยังอยู่ครบ และข้อความที่ผ่านมาไม่กลายเป็น Task
บทสรุป
สลักบอตสำหรับเอเจนต์เขียนโค้ดจะคุ้มค่าก็ต่อเมื่อมันเปลี่ยนสถานที่ที่บทสนทนาเกิดขึ้น โดยไม่เปลี่ยนที่ที่งานนั้นอยู่ ให้ผูก Agent หนึ่งตัวที่คุณไว้ใจอยู่แล้ว คงค่าเริ่มต้นแบบตอบเฉพาะเมื่อถูกกล่าวถึงไว้จนกว่าช่องไหนจะต้องการมากกว่านั้น และใช้การผูกเธรดทันทีที่การแชตกลายเป็นงานจริง หากคุณยังไม่มี Agent สร้างตัวหนึ่งก่อน
คำถามที่พบบ่อย
ต้องเชื่อมต่อเวิร์กสเปซ Slack ก่อนผูกบอตของ Agent ไหม?
ไม่ต้อง การเชื่อมต่อทั้งสองรูปแบบเป็นอิสระต่อกัน คุณจำเป็นต้องมีการเชื่อมต่อเวิร์กสเปซเฉพาะเมื่อต้องการสร้าง Task จาก Slack ใช้ลิงก์กลับ ตัวอย่างลิงก์ และ DM แจ้งเตือนจาก Inbox เท่านั้น
สลักบอตตัวเดียวรองรับ Sharkly Agent หลายตัวได้ไหม?
ไม่ได้ บอตแต่ละตัวผูกกับ Agent เพียงหนึ่งตัว และ Agent หนึ่งตัวมีการผูกได้เพียงหนึ่งรายการในแต่ละช่วงเวลา หากต้องการให้มี Agents หลายตัวใน Slack ต้องสร้างบอตแยกให้แต่ละตัว
การแชตกับบอตสร้าง Task ให้อัตโนมัติไหม?
ไม่ การสนทนาจะกลายเป็น Task ก็ต่อเมื่อคุณสร้าง Task ขึ้นมาอย่างตั้งใจ เมื่อบทสนทนากลายเป็นงานที่ต้องมีผู้รับผิดชอบ สถานะ หรือการรีวิว หาก Agent เป็นคนสร้างจาก Slack คุณผูกเธรดไว้ได้ เพื่อให้คอมเมนต์และข้อความซิงก์กัน
ข้อความใน Slack เริ่มเวิร์กโฟลว์ automation ของ Sharkly ได้ไหม?
ยังไม่ได้ในเวอร์ชันนี้ Slack ใช้ได้ในเวิร์กโฟลว์ในฐานะแอ็กชัน แต่ทริกเกอร์จาก Slack ผ่าน Events API ยังไม่ได้เชื่อมต่อไว้



