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/english/concepts/acknowledge.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,9 +10,7 @@ Depending on the type of request, your acknowledgement may be different. For exa
10
10
11
11
We recommend calling `ack()` right away before initiating any time-consuming processes such as fetching information from your database or sending a new message, since you only have 3 seconds to respond before Slack registers a timeout error.
12
12
13
-
:::info
14
-
15
-
When working in a FaaS / serverless environment, our guidelines for when to `ack()` are different. See the section on [Lazy listeners (FaaS)](/concepts/lazy-listeners) for more detail on this.
13
+
:::info[When working in a FaaS / serverless environment, our guidelines for when to `ack()` are different. See the section on [Lazy listeners (FaaS)](/concepts/lazy-listeners) for more detail on this.]
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!
27
+
:::info[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).]
28
+
29
+
That being said, using the `Assistant` class will streamline the process. And we already wrote this nice guide for you!
30
+
29
31
:::
30
32
31
33
## The `Assistant` class instance {#assistant-class}
@@ -101,16 +103,14 @@ While the `assistant_thread_started` and `assistant_thread_context_changed` even
101
103
102
104
If you do provide your own `threadContextStore` property, it must feature `get` and `save` methods.
103
105
104
-
:::tip
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
+
:::tip[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
107
:::
107
108
108
109
## Handling a new thread {#handling-a-new-thread}
109
110
110
111
When the user opens a new thread with your AI app, the [`assistant_thread_started`](https://docs.slack.dev/reference/events/assistant_thread_started) event will be sent to your app.
111
112
112
-
:::tip
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.
113
+
:::tip[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.]
114
114
:::
115
115
116
116
### Block Kit interactions in the AI app thread {#block-kit-interactions}
Copy file name to clipboardExpand all lines: docs/english/concepts/message-listening.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,7 @@ To listen to messages that [your app has access to receive](https://docs.slack.d
8
8
9
9
`message()` accepts an argument of type `str` or `re.Pattern` object that filters out any messages that don't match the pattern.
10
10
11
-
:::info
12
-
13
-
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.
11
+
:::info[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.]
Copy file name to clipboardExpand all lines: docs/english/concepts/web-api.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,7 @@ You can call [any Web API method](https://docs.slack.dev/reference/methods) usin
8
8
9
9
The token used to initialize Bolt can be found in the `context` object, which is required to call most Web API methods.
10
10
11
-
:::info
12
-
13
-
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.
11
+
:::info[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.]
Copy file name to clipboardExpand all lines: docs/english/getting-started.md
+8-12Lines changed: 8 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,9 +15,7 @@ When you're finished, you'll have this ⚡️[Getting Started with Slack app](ht
15
15
### Create an app {#create-an-app}
16
16
First thing's first: before you start developing with Bolt, you'll want to [create a Slack app](https://api.slack.com/apps/new).
17
17
18
-
:::tip
19
-
20
-
We recommend using a workspace where you won't disrupt real work getting done — [you can create a new one for free](https://slack.com/get-started#create).
18
+
:::tip[We recommend using a workspace where you won't disrupt real work getting done — [you can create a new one for free](https://slack.com/get-started#create).]
21
19
22
20
:::
23
21
@@ -55,9 +53,7 @@ We're going to use bot and app-level tokens for this guide.
55
53
56
54
6. Navigate to **Socket Mode** on the left side menu and toggle to enable.
57
55
58
-
:::tip
59
-
60
-
Treat your tokens like passwords and [keep them safe](https://docs.slack.dev/authentication/best-practices-for-security). Your app uses tokens to post and retrieve information from Slack workspaces.
56
+
:::tip[Treat your tokens like passwords and [keep them safe](https://docs.slack.dev/authentication/best-practices-for-security). Your app uses tokens to post and retrieve information from Slack workspaces.]
61
57
62
58
:::
63
59
@@ -169,9 +165,9 @@ When an event occurs, Slack will send your app some information about the event,
169
165
170
166
2. Add your Request URL. Slack will send HTTP POST requests corresponding to events to this [Request URL](https://docs.slack.dev/apis/events-api/#subscribing) endpoint. Bolt uses the `/slack/events` path to listen to all incoming requests (whether shortcuts, events, or interactivity payloads). When configuring your Request URL within your app configuration, you'll append `/slack/events`, e.g. `https://<your-domain>/slack/events`. 💡 As long as your Bolt app is still running, your URL should become verified.
171
167
172
-
:::tip
168
+
:::tip[For local development, you can use a proxy service like ngrok to create a public URL and tunnel requests to your development environment.]
173
169
174
-
For local development, you can use a proxy service like ngrok to create a public URL and tunnel requests to your development environment. Refer to [ngrok's getting started guide](https://ngrok.com/docs#getting-started-expose) on how to create this tunnel. And when you get to hosting your app, we've collected some of the most common hosting providers Slack developers use to host their apps [on our API site](https://docs.slack.dev/distribution/hosting-slack-apps/).
170
+
Refer to [ngrok's getting started guide](https://ngrok.com/docs#getting-started-expose) on how to create this tunnel. And when you get to hosting your app, we've collected some of the most common hosting providers Slack developers use to host their apps [on our API site](https://docs.slack.dev/distribution/hosting-slack-apps/).
175
171
176
172
:::
177
173
@@ -266,9 +262,9 @@ With Socket Mode on, basic interactivity is enabled by default, so no further ac
266
262
267
263
Similar to events, you'll need to specify a URL for Slack to send the action (such as *user clicked a button*). Back on your app configuration page, click on **Interactivity & Shortcuts** on the left side. You'll see that there's another **Request URL** box.
268
264
269
-
:::tip
265
+
:::tip[By default, Bolt is configured to use the same endpoint for interactive components that it uses for events]
270
266
271
-
By default, Bolt is configured to use the same endpoint for interactive components that it uses for events, so use the same request URL as above (for example, `https://8e8ec2d7.ngrok.io/slack/events`). Press the **Save Changes** button in the lower right hand corner, and that's it. Your app is set up to handle interactivity!
267
+
Use the same request URL as above (for example, `https://8e8ec2d7.ngrok.io/slack/events`). Press the **Save Changes** button in the lower right hand corner, and that's it. Your app is set up to handle interactivity!
272
268
273
269
:::
274
270
@@ -366,9 +362,9 @@ The value inside of `say()` is now an object that contains an array of `blocks`.
366
362
367
363
You'll notice in the button `accessory` object, there is an `action_id`. This will act as a unique identifier for the button so your app can specify what action it wants to respond to.
368
364
369
-
:::tip
365
+
:::tip[The [Block Kit Builder](https://app.slack.com/block-kit-builder) is a simple way to prototype your interactive messages.]
370
366
371
-
The [Block Kit Builder](https://app.slack.com/block-kit-builder) is an simple way to prototype your interactive messages. The builder lets you (or anyone on your team) mockup messages and generates the corresponding JSON that you can paste directly in your app.
367
+
The builder lets you (or anyone on your team) mockup messages and generates the corresponding JSON that you can paste directly in your app.
Copy file name to clipboardExpand all lines: docs/english/legacy/steps-from-apps.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,7 @@ lang: en
4
4
slug: /legacy/steps-from-apps
5
5
---
6
6
7
-
:::danger
8
-
9
-
Steps from Apps is a deprecated feature.
7
+
:::danger[Steps from Apps is a deprecated feature.]
10
8
11
9
Steps from Apps are different than, and not interchangeable with, Slack automation workflows. We encourage those who are currently publishing steps from apps to consider the new [Slack automation features](https://docs.slack.dev/workflows/), such as [custom steps for Bolt](https://docs.slack.dev/workflows/workflow-steps).
0 commit comments