Skip to content

Slack ​

חברו את סוכן ה-Triggerfish שלכם ל-Slack כדי שהסוכן יוכל להשתתף בשיחות מרחב העבודה. המתאם משתמש בפריימוורק Bolt עם Socket Mode, מה שמשמעו שלא נדרש URL ציבורי או נקודת webhook.

סיווג ברירת מחדל ​

Slack מוגדר כברירת מחדל לסיווג PUBLIC. זה משקף את המציאות שמרחבי עבודה של Slack כוללים לעיתים קרובות אורחים חיצוניים, משתמשי Slack Connect וערוצים משותפים. ניתן להעלות זאת ל-INTERNAL או גבוה יותר אם מרחב העבודה שלכם פנימי לחלוטין.

הגדרה ​

שלב 1: יצירת אפליקציית Slack ​

  1. גשו ל-api.slack.com/apps
  2. לחצו Create New App
  3. בחרו From scratch
  4. תנו שם לאפליקציה (למשל, "Triggerfish") ובחרו את מרחב העבודה
  5. לחצו Create App

שלב 2: הגדרת הרשאות טוקן בוט ​

נווטו ל-OAuth & Permissions בסרגל הצד והוסיפו את Bot Token Scopes הבאים:

הרשאהמטרה
chat:writeשליחת הודעות
channels:historyקריאת הודעות בערוצים ציבוריים
groups:historyקריאת הודעות בערוצים פרטיים
im:historyקריאת הודעות ישירות
mpim:historyקריאת הודעות ישירות קבוצתיות
channels:readרשימת ערוצים ציבוריים
groups:readרשימת ערוצים פרטיים
im:readרשימת שיחות הודעות ישירות
users:readחיפוש מידע משתמשים

שלב 3: הפעלת Socket Mode ​

  1. נווטו ל-Socket Mode בסרגל הצד
  2. העבירו את Enable Socket Mode למצב פעיל
  3. תתבקשו ליצור App-Level Token -- תנו לו שם (למשל, "triggerfish-socket") והוסיפו את ההרשאה connections:write
  4. העתיקו את App Token שנוצר (מתחיל ב-xapp-)

שלב 4: הפעלת אירועים ​

  1. נווטו ל-Event Subscriptions בסרגל הצד
  2. העבירו את Enable Events למצב פעיל
  3. תחת Subscribe to bot events, הוסיפו:
    • message.channels
    • message.groups
    • message.im
    • message.mpim

שלב 5: קבלת האישורים ​

אתם צריכים שלושה ערכים:

  • Bot Token -- גשו ל-OAuth & Permissions, לחצו Install to Workspace, ואז העתיקו את Bot User OAuth Token (מתחיל ב-xoxb-)
  • App Token -- הטוקן שיצרתם בשלב 3 (מתחיל ב-xapp-)
  • Signing Secret -- גשו ל-Basic Information, גללו ל-App Credentials, והעתיקו את Signing Secret

שלב 6: קבלת מזהה המשתמש שלכם ב-Slack ​

להגדרת זהות הבעלים:

  1. פתחו את Slack
  2. לחצו על תמונת הפרופיל שלכם בפינה העליונה
  3. לחצו Profile
  4. לחצו על תפריט שלוש הנקודות ובחרו Copy member ID

שלב 7: הגדרת Triggerfish ​

הוסיפו את ערוץ ה-Slack ל-triggerfish.yaml:

yaml
channels:
  slack:
    # botToken, appToken, signingSecret מאוחסנים ב-OS keychain
    ownerId: "U01234ABC"

סודות (טוקן בוט, טוקן אפליקציה, signing secret) מוזנים במהלך triggerfish config add-channel slack ומאוחסנים ב-OS keychain.

אפשרותסוגנדרשתיאור
ownerIdstringמומלץמזהה החבר שלכם ב-Slack לאימות בעלים
classificationstringלארמת סיווג (ברירת מחדל: PUBLIC)

אחסנו סודות בבטחה לעולם אל תכניסו טוקנים או סודות לניהול

גרסאות. השתמשו במשתני סביבה או ב-OS keychain. ראו ניהול סודות לפרטים. :::

שלב 8: הזמנת הבוט ​

לפני שהבוט יכול לקרוא או לשלוח הודעות בערוץ, עליכם להזמין אותו:

  1. פתחו את ערוץ ה-Slack שבו אתם רוצים את הבוט
  2. הקלידו /invite @Triggerfish (או השם שנתתם לאפליקציה)

הבוט יכול גם לקבל הודעות ישירות ללא הזמנה לערוץ.

שלב 9: הפעלת Triggerfish ​

bash
triggerfish stop && triggerfish start

שלחו הודעה בערוץ שבו הבוט נמצא, או שלחו לו הודעה ישירה, לאישור החיבור.

זהות בעלים ​

Triggerfish משתמש בזרימת ה-OAuth של Slack לאימות בעלים. כאשר הודעה מגיעה, המתאם משווה את מזהה המשתמש ב-Slack של השולח מול ה-ownerId המוגדר:

  • התאמה -- פקודת בעלים
  • ללא התאמה -- קלט חיצוני עם זיהום PUBLIC

חברות מרחב עבודה ​

לסיווג נמענים, חברות במרחב העבודה של Slack קובעת אם משתמש הוא INTERNAL או EXTERNAL:

  • חברי מרחב עבודה רגילים הם INTERNAL
  • משתמשי Slack Connect חיצוניים הם EXTERNAL
  • משתמשי אורח הם EXTERNAL

מגבלות הודעות ​

Slack תומך בהודעות עד 40,000 תווים. הודעות החורגות ממגבלה זו נחתכות. לרוב תגובות הסוכן, מגבלה זו לעולם אינה מושגת.

מחווני הקלדה ​

Triggerfish שולח מחווני הקלדה ל-Slack כאשר הסוכן מעבד בקשה. Slack אינו חושף אירועי הקלדה נכנסים לבוטים, כך שזה שליחה בלבד.

צ'אט קבוצתי ​

הבוט יכול להשתתף בערוצים קבוצתיים. הגדירו התנהגות קבוצתית ב- triggerfish.yaml:

yaml
groups:
  default_behavior: "mentioned-only"
  overrides:
    - channel: slack
      channel_name: "#ai-assistant"
      behavior: "always"
התנהגותתיאור
mentioned-onlyהגיבו רק כשהבוט מוזכר עם @
alwaysהגיבו לכל ההודעות בערוץ

שינוי סיווג ​

yaml
channels:
  slack:
    classification: INTERNAL

רמות תקפות: PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.