Ρύθμιση ενσωμάτωσης Slack
Αυτός ο οδηγός δείχνει πώς να συνδέσετε το Slack σε έναν χώρο εργασίας του Control Center, είτε αφήνοντας το Control Center να δημιουργήσει την εφαρμογή είτε δημιουργώντας την μόνοι σας.
Για μια καθοδηγούμενη πρώτη εκτέλεση, δείτε Συνδέστε το Slack στον χώρο εργασίας σας.
Προϋποθέσεις
Ενότητα με τίτλο «Προϋποθέσεις»- Ο ρόλος
ownerήadminστον χώρο εργασίας του Control Center — η σύνδεση εφαρμογής συνομιλίας είναι αλλαγή ρυθμίσεων χώρου εργασίας - Άδεια δημιουργίας και εγκατάστασης εφαρμογών στον χώρο εργασίας του Slack
- Τίποτα δημόσια προσβάσιμο: η σύνδεση είναι εξερχόμενη (Socket Mode), οπότε ο διακομιστής δεν χρειάζεται εισερχόμενη θύρα, σήραγγα ή τομέα
Τρεις τρόποι για να αποκτήσετε την εφαρμογή
Ενότητα με τίτλο «Τρεις τρόποι για να αποκτήσετε την εφαρμογή»| Διαδρομή | Εσείς παρέχετε | Το Control Center κάνει |
|---|---|---|
| Καθοδηγούμενη | Ένα token ρύθμισης εφαρμογής (xoxe-…) |
Δημιουργεί την εφαρμογή με τα σωστά scopes, συμβάντα, Socket Mode και εντολή κάθετου· σας παραδίδει τα δύο βήματα για τα οποία το Slack δεν έχει API |
| Δημιουργία στο Slack | Τίποτα | Ανοίγει το Slack με την ίδια ρύθμιση προσυμπληρωμένη· εσείς επιλέγετε χώρο εργασίας και επιβεβαιώνετε |
| Χειροκίνητα | Τα token της έτοιμης εφαρμογής | Τα επαληθεύει και συνδέεται |
Η καθοδηγούμενη διαδρομή είναι η μόνη που αφήνει επίσης την εφαρμογή διαχειρίσιμη από το Control Center, και αυτό είναι που επιτρέπει την Προσαρμογή του chat bot. Μια εφαρμογή Δημιουργία στο Slack μπορεί αργότερα να αναβαθμιστεί σε διαχειριζόμενη, επικολλώντας ένα token ρύθμισης στο παράθυρο διαλόγου σύνδεσης.
Δεν υπάρχει σκόπιμα κουμπί «εγκατάσταση της εφαρμογής Slack του Control Center». Η εγκατάσταση μιας διανεμόμενης εφαρμογής Slack απαιτεί κοινόχρηστο client secret (το Slack δεν έχει PKCE) και το Socket Mode κατανέμει τα συμβάντα μιας εφαρμογής τυχαία στις συνδέσεις της — οπότε μία κοινόχρηστη εφαρμογή θα παρέδιδε τα μηνύματα του χώρου εργασίας σας στους διακομιστές άλλων. Κάθε χώρος εργασίας κατέχει επομένως τη δική του εφαρμογή και αυτές οι τρεις διαδρομές αφορούν το πόσο λίγη δουλειά σάς κοστίζει αυτό.
Επιλογή Α: αφήστε το Control Center να δημιουργήσει την εφαρμογή
Ενότητα με τίτλο «Επιλογή Α: αφήστε το Control Center να δημιουργήσει την εφαρμογή»- Δημιουργήστε ένα ζεύγος token ρύθμισης εφαρμογής στο api.slack.com/apps και αντιγράψτε το token refresh (
xoxe-…) - Στο Control Center, πηγαίνετε στις Ρυθμίσεις → Χώρος εργασίας → Γενικά και μετακινηθείτε στην κάρτα Γέφυρες συνομιλίας
- Στο τμήμα του Slack, κάντε κλικ στο Δημιουργία εφαρμογής για μένα
- Επικολλήστε το token, προσαρμόστε το όνομα εφαρμογής, το όνομα bot, τις περιγραφές και την εντολή κάθετου και μετά κάντε κλικ στο Δημιουργία εφαρμογής
- Ακολουθήστε τα δύο εναπομείναντα βήματα που δείχνει το παράθυρο διαλόγου, καθένα ως σύνδεσμο προς το Slack:
- Basic Information → App-Level Tokens: δημιουργήστε ένα token με το scope
connections:write(xapp-…) - Install App: εγκαταστήστε στον χώρο εργασίας και αντιγράψτε το Bot User OAuth Token (
xoxb-…)
- Basic Information → App-Level Tokens: δημιουργήστε ένα token με το scope
- Κάντε κλικ στο Επικόλληση των διαπιστευτηρίων και συνεχίστε με τη Σύνδεση
Το token ρύθμισης εναλλάσσεται σε κάθε χρήση. Το Control Center αποθηκεύει την εναλλαγμένη τιμή στην πορεία, οπότε δεν χρειάζεται να το επικολλήσετε ξανά.
Επιλογή Β: δημιουργήστε την στο Slack, προσυμπληρωμένη
Ενότητα με τίτλο «Επιλογή Β: δημιουργήστε την στο Slack, προσυμπληρωμένη»Ίδια εφαρμογή, χωρίς token ρύθμισης — το Slack σας δίνει τη δική του οθόνη δημιουργίας με ολόκληρο το manifest ήδη συμπληρωμένο.
- Στο Control Center, πηγαίνετε στις Ρυθμίσεις → Χώρος εργασίας → Γενικά και μετακινηθείτε στην κάρτα Γέφυρες συνομιλίας
- Στο τμήμα του Slack, κάντε κλικ στο Δημιουργία εφαρμογής για μένα
- Προσαρμόστε το όνομα εφαρμογής, το όνομα bot, τις περιγραφές και την εντολή κάθετου — αυτά ταξιδεύουν με τον σύνδεσμο
- Κάντε κλικ στο Δημιουργία στο Slack. Το πρόγραμμα περιήγησής σας ανοίγει τη σελίδα δημιουργίας εφαρμογής του Slack με τη ρύθμιση προσυμπληρωμένη
- Επιλέξτε τον χώρο εργασίας του Slack και επιβεβαιώστε. Τα scopes, τα συμβάντα, το Socket Mode και η εντολή κάθετου είναι ήδη σωστά
- Πίσω στο Control Center, ακολουθήστε τα δύο εναπομείναντα βήματα που δείχνει το παράθυρο διαλόγου:
- Basic Information → App-Level Tokens: δημιουργήστε ένα token με το scope
connections:write(xapp-…) - Install App: εγκαταστήστε στον χώρο εργασίας και αντιγράψτε το Bot User OAuth Token (
xoxb-…)
- Basic Information → App-Level Tokens: δημιουργήστε ένα token με το scope
- Κάντε κλικ στο Επικόλληση των διαπιστευτηρίων και συνεχίστε με τη Σύνδεση
Το Slack δεν αναφέρει ποια εφαρμογή δημιούργησε, οπότε το Control Center δεν μαθαίνει το app id και οι σύνδεσμοι στο βήμα 6 οδηγούν στη λίστα εφαρμογών σας αντί κατευθείαν σε εκείνη την εφαρμογή. Το Προσαρμογή bot χρειάζεται token ρύθμισης.
Επιλογή Γ: δημιουργήστε την εφαρμογή μόνοι σας
Ενότητα με τίτλο «Επιλογή Γ: δημιουργήστε την εφαρμογή μόνοι σας»Δημιουργήστε μια εφαρμογή στο api.slack.com/apps και μετά ρυθμίστε την ως εξής.
Socket Mode: ενεργοποιήστε το και αφήστε κάθε request URL κενό. Το Slack απορρίπτει manifest που ζητά ταυτόχρονα Socket Mode και παράδοση webhook.
Bot token scopes (OAuth & Permissions):
app_mentions:readassistant:writechannels:historychat:writecommandsgroups:historyim:historyusers:readusers:read.emailΣυνδρομές συμβάντων (συμβάντα bot):
app_home_openedapp_mentionmessage.channelsmessage.groupsmessage.imΤα message.channels και message.groups είναι αυτά που κάνουν να λειτουργεί μια απάντηση μέσα σε ένα ήδη γεφυρωμένο νήμα του Slack. Χωρίς αυτά, φτάνει μόνο η πρώτη αναφορά.
Εντολή κάθετου: /cc (οποιοδήποτε όνομα λειτουργεί — η γέφυρα χρησιμοποιεί όποια εντολή χρησιμοποιήθηκε τελευταία φορά).
App Home: ενεργοποιήστε την καρτέλα Messages και αφήστε την εγγράψιμη, ώστε τα μέλη να μπορούν να στέλνουν DM στο bot.
Token: δημιουργήστε ένα app-level token με connections:write, μετά εγκαταστήστε την εφαρμογή και αντιγράψτε το bot user OAuth token.
Σύνδεση
Ενότητα με τίτλο «Σύνδεση»- Πηγαίνετε στις Ρυθμίσεις → Χώρος εργασίας → Γενικά και μετακινηθείτε στην κάρτα Γέφυρες συνομιλίας
- Στο τμήμα του Slack, κάντε κλικ στο Σύνδεση Slack
- Συμπληρώστε τα πεδία:
| Πεδίο | Τιμή | Πού βρίσκεται στο Slack |
|---|---|---|
| Token bot | xoxb-… |
OAuth & Permissions → Bot User OAuth Token |
| Token επιπέδου εφαρμογής | xapp-… |
Basic Information → App-Level Tokens (connections:write) |
| Token ανανέωσης ρύθμισης εφαρμογής (προαιρετικό) | xoxe-… |
Το ζεύγος token ρύθμισης εφαρμογής στο api.slack.com/apps |
Το πρόθεμα κάθε τιμής ελέγχεται και στις δύο πλευρές πριν σταλεί οτιδήποτε, οπότε μια τιμή που επικολλήθηκε σε λάθος πεδίο απορρίπτεται με την ίδια φράση και στις δύο περιπτώσεις.
- Κάντε κλικ στο Σύνδεση
Το Control Center επαληθεύει το token bot με το auth.test του Slack πριν αποθηκεύσει οτιδήποτε, οπότε ένα τυπογραφικό λάθος αναφέρεται σε εσάς αντί να γίνει ένα socket που σιωπηλά δεν λειτουργεί ποτέ. Το app-level token μπορεί να αποδειχθεί μόνο ανοίγοντας το socket, οπότε ένα κακό token εμφανίζεται λίγο αργότερα ως σφάλμα σύνδεσης στην ίδια γραμμή.
Χωρίς το προαιρετικό token ρύθμισης εφαρμογής, η σύνδεση λειτουργεί μια χαρά — απλώς δεν μπορείτε να επεξεργαστείτε το bot από το Control Center.
Τι κάνει η σύνδεση
Ενότητα με τίτλο «Τι κάνει η σύνδεση»- Αποθηκεύει τα διαπιστευτήρια στον φάκελο του ίδιου του χώρου εργασίας, δίπλα στη βάση δεδομένων του, αναγνώσιμα μόνο από τον ιδιοκτήτη. Δεν ταξιδεύουν ποτέ πίσω σε πελάτη
- Ανοίγει μία σύνδεση Socket Mode για αυτόν τον χώρο εργασίας και αρχίζει να λαμβάνει αναφορές, απαντήσεις σε νήματα του Slack, DM και εντολές κάθετου
- Επανενεργοποιεί κάθε νήμα του Slack που είχε γεφυρωθεί προηγουμένως, ώστε μια επανασύνδεση να συνεχίζει τις υπάρχουσες συνομιλίες αντί να τις εγκαταλείπει
- Δεν κοστίζει τίποτα για χώρους εργασίας που δεν έχουν εφαρμογή συνομιλίας: χωρίς socket, χωρίς χρονομετρητές, χωρίς κίνηση
Επαλήθευση
Ενότητα με τίτλο «Επαλήθευση»Η γραμμή του Slack δείχνει μια ετικέτα κατάστασης: Ζωντανά, Σύνδεση…, Σφάλμα σύνδεσης (με το ίδιο το σφάλμα του Slack δίπλα του) ή Δεν έχει συνδεθεί. Για έλεγχο από άκρη σε άκρη:
- Στο Slack, προσκαλέστε το bot σε ένα κανάλι:
/invite @your-bot-name - Αναφέρετέ το με ένα αίτημα
- Εμφανίζεται μια απάντηση σε νήμα του Slack και ένας αντίστοιχος χώρος εμφανίζεται στο Control Center
Κάθε μέλος που θέλει να χρησιμοποιήσει τη γέφυρα συνδέει μετά τον δικό του λογαριασμό — δείτε Σύνδεση λογαριασμού Slack.
Πώς φαίνεται μια απάντηση στο Slack
Ενότητα με τίτλο «Πώς φαίνεται μια απάντηση στο Slack»Πάνω από τις λέξεις που μεταδίδονται βρίσκεται μία ομαδοποιημένη κάρτα με μια γραμμή ανά βήμα. Η προετοιμασία είναι μία γραμμή της οποίας ο τίτλος περνά από Working on it… σε Cloning … σε Starting the agent…. Η συλλογιστική προσθέτει μια γραμμή Thinking…· όταν ολοκληρωθεί αυτό το βήμα, μπορεί να εμφανιστεί σε αυτήν μια σύντομη σκέψη. Κάθε εργαλείο έχει τη δική του γραμμή (Read lib/main.dart). Η απάντηση φτάνει ως συνηθισμένο κείμενο κάτω από την κάρτα. Η κάρτα γίνεται πλήρης όταν ολοκληρωθεί η στροφή και σε σφάλμα όταν η εκτέλεση απέτυχε, διακόπηκε ή έφτασε το όριο στροφών της.
Η κάρτα ξεκινά τη στιγμή που το bot δέχεται την αναφορά — Working on it… — ώστε το νήμα του Slack να μη μένει σιωπηλό όσο ο χώρος εργασίας χτίζεται ακόμη. Η πρώτη σας αναφορά σε ένα κανάλι του Slack δημιουργεί τη συνομιλία, η οποία κλωνοποιεί τα αποθετήρια στα οποία δουλεύει ο πράκτορας, οπότε αυτή η γραμμή προετοιμασίας διαβάζεται μετά ως Cloning acme/widgets…, μετά Setting up Reviewer…, μετά Starting the agent… και μετά μια γραμμή Thinking… μόλις ο πράκτορας αρχίσει πράγματι να συλλογίζεται. Σε ένα μεγάλο αποθετήριο αυτή η πρώτη προετοιμασία παίρνει ώρα· η κάρτα είναι ο τρόπος να καταλάβετε ότι δουλεύει αντί να σας αγνοεί. Οι επόμενες αναφορές στο ίδιο νήμα του Slack ανοίγουν ακόμη με Working on it… και μετά παραλείπουν τα βήματα κλωνοποίησης, επειδή ο χώρος εργασίας υπάρχει ήδη.
Η συλλογιστική, ως τοίχος κειμένου και εξόδου εργαλείων, δεν φεύγει ποτέ από το Control Center — η σκέψη στη γραμμή Thinking… είναι μια σύντομη γραμμή, όχι πρακτικό. Το View in Control Center στην κάρτα ανοίγει την πλήρη συνομιλία στην εφαρμογή υπολογιστή — ο σύνδεσμος πηγαίνει στον δικό σας διακομιστή Control Center, ο οποίος παραδίδει το πρόγραμμα περιήγησης στην εφαρμογή.
Αν δεν συμβεί τίποτα όταν το πατήσετε, ο διακομιστής που έστειλε το μήνυμα δεν είναι προσβάσιμος από το μηχάνημα στο οποίο κάνατε κλικ (για παράδειγμα, ένας διακομιστής μόνο loopback από κινητό) ή το Control Center δεν εκτελείται εκεί. Ένας διακομιστής χωρίς προσβάσιμη διεύθυνση στέλνει κάρτα χωρίς κουμπί αντί για μία που δεν οδηγεί πουθενά.
Εναλλαγή token
Ενότητα με τίτλο «Εναλλαγή token»Επικολλήστε ξανά τη νέα τιμή στο παράθυρο διαλόγου σύνδεσης και κάντε κλικ στο Σύνδεση. Η σύνδεση αντικαθιστά όποια σύνδεση εκτελούνταν για αυτόν τον χώρο εργασίας, οπότε το socket καλείται ξανά με τα νέα διαπιστευτήρια.
Τα δύο απαιτούμενα token πρέπει να υπάρχουν σε κάθε σύνδεση. Το προαιρετικό token ρύθμισης εφαρμογής διατηρεί την αποθηκευμένη τιμή του όταν αφήνετε το πεδίο κενό, οπότε η εναλλαγή ενός token bot δεν σας κοστίζει ποτέ τη δυνατότητα επεξεργασίας της εφαρμογής.
Αποσύνδεση
Ενότητα με τίτλο «Αποσύνδεση»Κάντε κλικ στο Αποσύνδεση στη γραμμή του Slack (μόνο διαχειριστές). Το socket κλείνει και τα διαπιστευτήρια ξεχνιούνται.
Οι σύνδεσμοι χώρων και χρηστών επιβιώνουν σκόπιμα: η επανασύνδεση της ίδιας εφαρμογής αποκαθιστά κάθε γεφυρωμένο νήμα του Slack. Είναι εγγραφές με εύρος χώρου εργασίας, οπότε η διαγραφή του χώρου εργασίας τις αφαιρεί έτσι κι αλλιώς.
Αντιμετώπιση προβλημάτων
Ενότητα με τίτλο «Αντιμετώπιση προβλημάτων»Η γραμμή λέει «Σφάλμα σύνδεσης»
Ενότητα με τίτλο «Η γραμμή λέει «Σφάλμα σύνδεσης»»Διαβάστε το σφάλμα που εμφανίζεται δίπλα στην ετικέτα. Ένα διαπιστευτήριο που απορρίπτεται (invalid_auth, not_authed, token_revoked, account_inactive) είναι τελεσίδικο — η γέφυρα σταματά να επαναλαμβάνει και περιμένει νέα token, γιατί η ατέρμονη επανάληψη ενός ανακληθέντος token σας κερδίζει μόνο ένα όριο ρυθμού. Επικολλήστε ξανά τα token στο παράθυρο διαλόγου σύνδεσης.
Ένα σφάλμα missing_scope σημαίνει ότι η εφαρμογή είναι εγκατεστημένη με λιγότερα scopes από όσα χρειάζεται η γέφυρα. Προσθέστε το scope που λείπει, επανεγκαταστήστε την εφαρμογή στο Slack και μετά συνδεθείτε ξανά.
Κάθε παροδικό (μια σύνδεση που έπεσε, ένα κόλλημα του Slack) επανασυνδέεται μόνο του με εκθετική υποχώρηση με ανώτατο όριο τα 30 δευτερόλεπτα και η συνήθης εναλλαγή socket του Slack δεν κλιμακώνει αυτή την υποχώρηση.
Το bot δεν απαντά σε αναφορά
Ενότητα με τίτλο «Το bot δεν απαντά σε αναφορά»- Είναι το bot στο κανάλι; Το Slack παραδίδει μηνύματα καναλιού μόνο σε εφαρμογές που είναι μέλη. Εκτελέστε
/invite @your-bot-name - Είστε συνδεδεμένοι; Ένα μη συνδεδεμένο μέλος λαμβάνει απάντηση σε εκείνο το νήμα του Slack που εξηγεί πώς να συνδεθεί. Δείτε Σύνδεση λογαριασμού Slack
- Είστε μέλος του χώρου εργασίας με ρόλο εγγραφής; Σε έναν
viewerήguestλέγεται ότι ο ρόλος του είναι μόνο ανάγνωσης. Η γέφυρα δεν ξεκινά ποτέ εργασία για λογαριασμό κάποιου που δεν μπορεί να αποδώσει - Έχει ο χώρος εργασίας πράκτορες; Χωρίς πράκτορες, το μήνυμα αποθηκεύεται αλλά δεν έχει κανέναν να το απαντήσει
Απαντά σε κανάλι αλλά αγνοεί απλά μηνύματα
Ενότητα με τίτλο «Απαντά σε κανάλι αλλά αγνοεί απλά μηνύματα»Αυτό είναι σκόπιμο. Έξω από ένα DM, η γέφυρα ενεργεί μόνο σε μήνυμα που αναφέρει το bot ή σε απάντηση μέσα σε νήμα του Slack που ήδη κατέχει. Όλα τα άλλα είναι συνομιλία άλλων.
Οι απαντήσεις φτάνουν ως ένα μεγάλο μήνυμα αντί να μεταδίδονται σε ροή
Ενότητα με τίτλο «Οι απαντήσεις φτάνουν ως ένα μεγάλο μήνυμα αντί να μεταδίδονται σε ροή»Η γραμμή λέει «Η ζωντανή ροή είναι απενεργοποιημένη για αυτή την εφαρμογή Slack — οι απαντήσεις φτάνουν ως ένα μήνυμα». Οι απαντήσεις σε ροή του Slack χρειάζονται τη δυνατότητα Agents & AI Apps σε επί πληρωμή πλάνο· όταν το Slack την αρνείται, η γέφυρα σταματά να τη ζητά για όλη τη ζωή αυτής της σύνδεσης και αναρτά ολόκληρες απαντήσεις αντ’ αυτού. Τίποτα δεν χάνεται — το πλήρες πρακτικό είναι πάντα στο Control Center.
Η ροή χρειάζεται επίσης άγκυρα νήματος στο Slack, οπότε μια απάντηση που δεν έχει νήμα του Slack για να αναπτυχθεί αναρτάται ολόκληρη. Η κάρτα εργασίας φτάνει ούτως ή άλλως: σε μια ολόκληρη απάντηση ταξιδεύει με το ίδιο μήνυμα, ήδη ολοκληρωμένη.
Η απάντηση δεν έχει κάρτα από πάνω της
Ενότητα με τίτλο «Η απάντηση δεν έχει κάρτα από πάνω της»Οι κάρτες εργασίας του Slack είναι μέρος της ίδιας νέας επιφάνειας Agents & AI Apps με τη ροή και το Slack αρνείται μόνο τη στιγμή της κλήσης. Όταν το κάνει, το Control Center κρατά την απάντηση και απορρίπτει την κάρτα για όλη τη ζωή αυτής της σύνδεσης — μια απάντηση χωρίς γραμμή κατάστασης είναι καλύτερη από μια γραμμή κατάστασης χωρίς απάντηση.
«Το Control Center χρειάζεται token ρύθμισης εφαρμογής για επεξεργασία του bot»
Ενότητα με τίτλο ««Το Control Center χρειάζεται token ρύθμισης εφαρμογής για επεξεργασία του bot»»Η γραμμή Προσαρμογή bot είναι απενεργοποιημένη επειδή η σύνδεση δεν έχει token ρύθμισης εφαρμογής. Αυτό είναι αναμενόμενο για εφαρμογή φτιαγμένη χειροκίνητα ή μέσω Δημιουργία στο Slack — το Slack δεν είπε ποτέ στο Control Center ποια εφαρμογή είναι. Δημιουργήστε ένα ζεύγος token στο api.slack.com/apps και συνδεθείτε ξανά με το token refresh συμπληρωμένο.
Μια μεγάλη απάντηση κόβεται
Ενότητα με τίτλο «Μια μεγάλη απάντηση κόβεται»Το Slack περιορίζει ένα μεμονωμένο μήνυμα στους 40.000 χαρακτήρες, οπότε η γέφυρα περικόπτει στους 39.000 και προσθέτει στο τέλος έναν δείκτη προς το Control Center — μια συντομευμένη απάντηση είναι καλύτερη από μία που το Slack απορρίπτει εξαρχής. Το πλήρες κείμενο είναι πάντα στο πρακτικό του χώρου.