Skip to content

Commit 1acc870

Browse files
committed
updated assitant references to AI apps
1 parent b32a80b commit 1acc870

File tree

3 files changed

+21
-17
lines changed

3 files changed

+21
-17
lines changed
Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
---
2-
title: Agents & Assistants
2+
title: AI Apps
33
lang: en
4-
slug: /concepts/assistant
4+
slug: /concepts/ai-apps
55
---
66

77
:::info This feature requires a paid plan
88
If you don't have a paid workspace for development, you can join the [Developer Program](https://api.slack.com/developer-program) and provision a sandbox with access to all Slack features for free.
99
:::
1010

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!
11+
AI apps comprise a new messaging experience for Slack. If you're unfamiliar with using AI apps 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!
1212

13-
## Configuring your app to support assistants {#configuring-your-app}
13+
## Configuring your app to support AI features {#configuring-your-app}
1414

15-
1. Within [App Settings](https://api.slack.com/apps), enable the **Agents & Assistants** feature.
15+
1. Within [App Settings](https://api.slack.com/apps), enable the **Agents & AI Apps** feature.
1616

1717
2. Within the App Settings **OAuth & Permissions** page, add the following scopes:
1818
* [`assistant:write`](https://api.slack.com/scopes/assistant:write)
@@ -25,16 +25,16 @@ Agents and assistants comprise a new messaging experience for Slack. If you're u
2525
* [`message.im`](https://api.slack.com/events/message.im)
2626

2727
:::info
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!
28+
You _could_ implement your own AI app 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!
2929
:::
3030

3131
## The `Assistant` class instance {#assistant-class}
3232

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:
33+
The `Assistant` class can be used to handle the incoming events expected from a user interacting with an AI app in Slack. A typical flow would look like:
3434

3535
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-
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.
37-
3. [The user responds](#handling-the-user-response). The Assistant class handles the incoming [`message.im`](https://api.slack.com/events/message.im) event.
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.
37+
3. [The user responds](#handling-the-user-response). The `Assistant` class handles the incoming [`message.im`](https://api.slack.com/events/message.im) event.
3838

3939

4040
```python
@@ -97,7 +97,7 @@ def respond_in_assistant_thread(
9797
app.use(assistant)
9898
```
9999

100-
While the `assistant_thread_started` and `assistant_thread_context_changed` events do provide Slack-client thread context information, the `message.im` event does not. Any subsequent user message events won't contain thread context data. For that reason, Bolt not only provides a way to store thread context — the `threadContextStore` property — but it also provides an instance that is utilized by default. This implementation relies on storing and retrieving [message metadata](https://api.slack.com/metadata/using) as the user interacts with the assistant.
100+
While the `assistant_thread_started` and `assistant_thread_context_changed` events do provide Slack-client thread context information, the `message.im` event does not. Any subsequent user message events won't contain thread context data. For that reason, Bolt not only provides a way to store thread context — the `threadContextStore` property — but it also provides an instance that is utilized by default. This implementation relies on storing and retrieving [message metadata](https://api.slack.com/metadata/using) as the user interacts with the app.
101101

102102
If you do provide your own `threadContextStore` property, it must feature `get` and `save` methods.
103103

@@ -107,13 +107,13 @@ Refer to the [module document](https://tools.slack.dev/bolt-python/api-docs/slac
107107

108108
## Handling a new thread {#handling-a-new-thread}
109109

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.
110+
When the user opens a new thread with your AI app, the [`assistant_thread_started`](https://api.slack.com/events/assistant_thread_started) event will be sent to your app.
111111

112112
:::tip
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.
113+
When a user opens an AI app 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.
114114
:::
115115

116-
### Block Kit interactions in the assistant thread {#block-kit-interactions}
116+
### Block Kit interactions in the AI app thread {#block-kit-interactions}
117117

118118
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.
119119

@@ -243,7 +243,7 @@ def respond_to_bot_messages(logger: logging.Logger, set_status: SetStatus, say:
243243

244244
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.
245245

246-
If you use the built-in `Assistant` middleware without any custom configuration, the updated context data is automatically saved as [message metadata](https://api.slack.com/metadata/using) of the first reply from the assistant bot.
246+
If you use the built-in `Assistant` middleware without any custom configuration, the updated context data is automatically saved as [message metadata](https://api.slack.com/metadata/using) of the first reply from the app.
247247

248248
As long as you use the built-in approach, you don't need to store the context data within a datastore. The downside of this default behavior is the overhead of additional calls to the Slack API. These calls include those to `conversations.history`, which are used to look up the stored message metadata that contains the thread context (via `get_thread_context`).
249249

@@ -256,9 +256,9 @@ assistant = Assistant(thread_context_store=FileAssistantThreadContextStore())
256256

257257
## Handling the user response {#handling-the-user-response}
258258

259-
When the user messages your assistant, the [`message.im`](https://api.slack.com/events/message.im) event will be sent to your app.
259+
When the user messages your app, the [`message.im`](https://api.slack.com/events/message.im) event will be sent to your app.
260260

261-
Messages sent to the assistant do not contain a [subtype](https://api.slack.com/events/message#subtypes) and must be deduced based on their shape and any provided [message metadata](https://api.slack.com/metadata/using).
261+
Messages sent to the app do not contain a [subtype](https://api.slack.com/events/message#subtypes) and must be deduced based on their shape and any provided [message metadata](https://api.slack.com/metadata/using).
262262

263263
There are three utilities that are particularly useful in curating the user experience:
264264
* [`say`](https://tools.slack.dev/bolt-python/api-docs/slack_bolt/#slack_bolt.Say)

docs/docusaurus.config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ const config = {
7272
'/concepts/executing-steps'
7373
],
7474
},
75+
{
76+
to: '/concepts/ai-apps',
77+
from: '/concepts/assistant'
78+
}
7579
],
7680
},
7781
],

docs/sidebars.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const sidebars = {
3939
"concepts/app-home",
4040
],
4141
},
42-
"concepts/assistant",
42+
"concepts/ai-apps",
4343
"concepts/custom-steps",
4444
{
4545
type: "category",

0 commit comments

Comments
 (0)