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
Copy file name to clipboardExpand all lines: docs/content/basic/assistant.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ If you don't have a paid workspace for development, you can join the [Developer
10
10
11
11
Agents and assistants comprise a new messaging experience for Slack. If you're unfamiliar with using agents and assistants within Slack, you'll want to read the [API documentation on the subject](https://api.slack.com/docs/apps/ai). Then come back here to implement them with Bolt!
12
12
13
-
## Configuring your app to support assistants
13
+
## Configuring your app to support assistants {#configuring-your-app}
14
14
15
15
1. Within [App Settings](https://api.slack.com/apps), enable the **Agents & Assistants** feature.
16
16
@@ -28,9 +28,9 @@ Agents and assistants comprise a new messaging experience for Slack. If you're u
28
28
You _could_ implement your own assistants by [listening](event-listening) for the `assistant_thread_started`, `assistant_thread_context_changed`, and `message.im` events (see implementation details below). That being said, using the `Assistant` class will streamline the process. And we already wrote this nice guide for you!
29
29
:::
30
30
31
-
## The `Assistant` class instance
31
+
## The `Assistant` class instance {#assistant-class}
32
32
33
-
The `Assistant` can be used to handle the incoming events expected from a user interacting with an assistant in Slack. A typical flow would look like:
33
+
The `Assistant`class can be used to handle the incoming events expected from a user interacting with an assistant in Slack. A typical flow would look like:
34
34
35
35
1.[The user starts a thread](#handling-a-new-thread). The `Assistant` class handles the incoming [`assistant_thread_started`](https://api.slack.com/events/assistant_thread_started) event.
36
36
2.[The thread context may change at any point](#handling-thread-context-changes). The Assistant class can handle any incoming [`assistant_thread_context_changed`](https://api.slack.com/events/assistant_thread_context_changed) events. The class also provides a default context store to keep track of thread context changes as the user moves through Slack.
@@ -105,15 +105,15 @@ If you do provide your own `threadContextStore` property, it must feature `get`
105
105
Refer to the [module document](https://tools.slack.dev/bolt-python/api-docs/slack_bolt/kwargs_injection/args.html) to learn the available listener arguments.
106
106
:::
107
107
108
-
## Handling a new thread
108
+
## Handling a new thread {#handling-a-new-thread}
109
109
110
110
When the user opens a new thread with your assistant, the [`assistant_thread_started`](https://api.slack.com/events/assistant_thread_started) event will be sent to your app.
111
111
112
112
:::tip
113
113
When a user opens an assistant thread while in a channel, the channel info is stored as the thread's `AssistantThreadContext` data. You can grab that info by using the `get_thread_context` utility, as subsequent user message event payloads won't include the channel info.
114
114
:::
115
115
116
-
### Block Kit interactions in the assistant thread
116
+
### Block Kit interactions in the assistant thread {#block-kit-interactions}
117
117
118
118
For advanced use cases, Block Kit buttons may be used instead of suggested prompts, as well as the sending of messages with structured [metadata](https://api.slack.com/metadata) to trigger subsequent interactions with the user.
When the user switches channels, the [`assistant_thread_context_changed`](https://api.slack.com/events/assistant_thread_context_changed) event will be sent to your app.
245
245
@@ -254,7 +254,7 @@ from slack_bolt import FileAssistantThreadContextStore
## Full example: Assistant Template {#full-example}
286
286
287
287
Below is the `assistant.py` listener file of the [Assistant Template repo](https://github.com/slack-samples/bolt-python-assistant-template) we've created for you to build off of.
0 commit comments