You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add table of all available bot tools
- Document read_job_logs capability for viewing histograms and logs
- Document thread-based conversation behavior
- Explain restart resilience with automatic context recovery
- Add troubleshooting entry for thread message issues
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/slack-app-setup.md
+47Lines changed: 47 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -142,6 +142,22 @@ You should see:
142
142
143
143
## Bot Capabilities
144
144
145
+
### Available Tools
146
+
147
+
The bot has access to the following tools:
148
+
149
+
| Tool | Description |
150
+
|------|-------------|
151
+
|`submit_transfer`| Submit a new data transfer job |
152
+
|`check_status`| Check status of transfer jobs in the thread |
153
+
|`list_backends`| List available/allowed rclone backends |
154
+
|`cancel_job`| Cancel a running transfer job |
155
+
|`get_transfer_details`| Get detailed shard-level progress |
156
+
|`get_manifest_stats`| Scan a source path for file statistics |
157
+
|`check_path_exists`| Verify a bucket/path is accessible |
158
+
|`request_backend_access`| Request access to a new backend |
159
+
|`read_job_logs`| Read job logs and analysis data |
160
+
145
161
### Check data size before transferring
146
162
147
163
Ask the bot to scan a source and report statistics:
@@ -156,6 +172,22 @@ The bot will return:
156
172
- Suggested rclone flags based on file sizes
157
173
- Estimated transfer times
158
174
175
+
### View job logs and analysis
176
+
177
+
For running or completed jobs, ask the bot to show logs and analysis data:
178
+
179
+
```
180
+
@xfer-bot show me the file size histogram for job 12345
181
+
@xfer-bot what rclone commands were run for this transfer?
182
+
@xfer-bot show me the logs for job 12345
183
+
```
184
+
185
+
The bot can return:
186
+
- File size distribution histogram from manifest analysis
187
+
- Suggested rclone flags that were determined during setup
188
+
- Tail of prepare job stdout/stderr logs
189
+
- Extracted rclone commands that were run
190
+
159
191
### Custom rclone flags
160
192
161
193
Specify custom flags that are appended to the intelligent defaults:
@@ -178,6 +210,15 @@ The bot automatically analyzes file sizes and selects optimal rclone flags:
178
210
179
211
All transfers include `--stats 600s --progress` for ETA tracking.
180
212
213
+
### Thread-based conversations
214
+
215
+
The bot tracks conversations by Slack thread. Key behaviors:
216
+
217
+
-**Initial contact**: Mention the bot with `@xfer-bot` to start a conversation
218
+
-**Follow-ups**: Once the bot has responded in a thread, any user can ask follow-up questions without mentioning the bot
219
+
-**Persistent context**: The bot associates Slurm jobs with the thread they were submitted from, so asking "what's the status?" in a thread will show jobs from that thread
220
+
-**Restart resilience**: If the bot restarts, it automatically recovers thread context from Slack's API, so ongoing conversations continue working
221
+
181
222
## Running as a Service
182
223
183
224
For production, run the bot as a systemd service:
@@ -258,6 +299,11 @@ xfer-slackbot
258
299
- Verify `XFER_ALLOWED_CHANNELS` includes the channel ID (or is unset for all channels)
259
300
- Check logs for errors
260
301
302
+
### Bot doesn't respond to thread messages
303
+
- The bot only responds to threads where it has previously participated
304
+
- Someone must first mention the bot with `@xfer-bot` to start the conversation
305
+
- After a bot restart, the bot will automatically recover context by checking Slack's thread history
306
+
261
307
### "not_in_channel" errors
262
308
- The bot needs to be invited to channels before it can read/write messages
263
309
@@ -267,3 +313,4 @@ xfer-slackbot
267
313
268
314
### Permission errors
269
315
- Review OAuth scopes — you may need to reinstall the app after adding scopes
316
+
- The `channels:history` scope is required for the bot to recover thread context after restarts
0 commit comments