Skip to content

Conversation

@matticbot
Copy link
Contributor

This PR contains the following updates:

Package Change Age Confidence
@slack/web-api (source) 7.9.1 -> 7.12.0 age confidence

Release Notes

slackapi/node-slack-sdk (@​slack/web-api)

v7.12.0

Compare Source

v7.11.0

Compare Source

AI-Enabled Features: Loading States, Text Streaming, and Feedback Buttons
🍿 Preview
2025-10-06-loading-state-text-streaming-feedback.mov
📚 Changelog
⚡ Getting Started

Try the AI Agent Sample app to explore the AI-enabled features and existing Assistant helper:

##### Create a new AI Agent app
$ slack create slack-ai-agent-app --template slack-samples/bolt-js-assistant-template
$ cd slack-ai-agent-app/

##### Add your OPENAI_API_KEY
$ export OPENAI_API_KEY=sk-proj-ahM...

##### Run the local dev server
$ slack run

After the app starts, send a message to the "slack-ai-agent-app" bot for a unique response.

⌛ Loading States

Loading states allows you to not only set the status (e.g. "My app is typing...") but also sprinkle some personality by cycling through a collection of loading messages:

app.event('message', async ({ client, context, event, logger }) => {
    // ...
    await client.assistant.threads.setStatus({
        channel_id: channelId,
        thread_ts: threadTs,
        status: 'thinking...',
        loading_messages: [
            'Teaching the hamsters to type faster…',
            'Untangling the internet cables…',
            'Consulting the office goldfish…',
            'Polishing up the response just for you…',
            'Convincing the AI to stop overthinking…',
        ],
    });

    // Start a new message stream
});
🔮 Text Streaming Helper

The client.chatStream() helper utility can be used to streamline calling the 3 text streaming methods:

app.event('message', async ({ client, context, event, logger }) => {
    // ...

    // Start a new message stream
    const streamer = client.chatStream({
        channel: channelId,
        recipient_team_id: teamId,
        recipient_user_id: userId,
        thread_ts: threadTs,
    });

    // Loop over OpenAI response stream
    // https://platform.openai.com/docs/api-reference/responses/create
    for await (const chunk of llmResponse) {
        if (chunk.type === 'response.output_text.delta') {
            await streamer.append({
                markdown_text: chunk.delta,
            });
        }
    }

    // Stop the stream and attach feedback buttons
    await streamer.stop({ blocks: [feedbackBlock] });
});
🔠 Text Streaming Methods

Alternative to the Text Streaming Helper is to call the individual methods.

1) client.chat.startStream

First, start a chat text stream to stream a response to any message:

app.event('message', async ({ client, context, event, logger }) => {
    // ...
    const streamResponse = await client.chat.startStream({
        channel: channelId,
        recipient_team_id: teamId,
        recipient_user_id: userId,
        thread_ts: threadTs,
    });

    const streamTs = streamResponse.ts
2) client.chat.appendStream

After starting a chat text stream, you can then append text to it in chunks (often from your favourite LLM SDK) to convey a streaming effect:

for await (const chunk of llmResponse) {
    if (chunk.type === 'response.output_text.delta') {
        await client.chat.appendSteam({
            channel: channelId,
            markdown_text: chunk.delta,
            ts: streamTs,
        });
    }
}
3) client.chat.stopStream

Lastly, you can stop the chat text stream to finalize your message:

await client.chat.stopStream({
    blocks: [feedbackBlock],
    channel: channelId,
    ts: streamTs,
});
👍🏻 Feedback Buttons

Add feedback buttons to the bottom of a message, after stopping a text stream, to gather user feedback:

const feedbackBlock = {
    type: 'context_actions',
    elements: [{
        type: 'feedback_buttons',
        action_id: 'feedback',
        positive_button: {
            text: { type: 'plain_text', text: 'Good Response' },
            accessibility_label: 'Submit positive feedback on this response',
            value: 'good-feedback',
        },
        negative_button: {
            text: { type: 'plain_text', text: 'Bad Response' },
            accessibility_label: 'Submit negative feedback on this response',
            value: 'bad-feedback',
        },
    }],
};

// Using the Text Streaming Helper
await streamer.stop({ blocks: [feedbackBlock] });
// Or, using the Text Streaming Method
await client.chat.stopStream({
    blocks: [feedbackBlock],
    channel: channelId,
    ts: streamTs,
});
What's Changed
👾 Enhancements
  • feat: add ai-enabled features text streaming methods, feedback blocks, and loading state in #​2399 - Thanks @​zimeg!
📚 Documentation
  • docs: update package homepage to docs.slack.dev tools reference in #​2369 - Thanks @​zimeg!
  • docs: autogenerate package reference to language specific paths in #​2337 - Thanks @​zimeg!
🤖 Dependencies
🧰 Maintenance

Milestone: https://github.com/slackapi/node-slack-sdk/milestone/147?closed=1
Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/[@​slack/web-api](https://redirect.github.com/slack/web-api)[@​7](https://redirect.github.com/7).10.0...[@​slack/web-api](https://redirect.github.com/slack/web-api)[@​7](https://redirect.github.com/7).11.0
Package: https://www.npmjs.com/package/@​slack/web-api/v/7.11.0

v7.10.0

Compare Source

What's Changed

Messaging with markdown_text is supported in this release, alongside a few methods to feature workflows in channel:

const response = await client.chat.postMessage({
  channel: "C0123456789",
  markdown_text: "**bold**"
});
👾 Enhancements
  • feat(web-api): add workflows.featured.{add|list|remove|set} methods in #​2303 - Thanks @​zimeg!
  • feat(web-api): add markdown_text property to chat.{postEphemeral|postMessage|scheduleMessage|update} methods in #​2330 - Thanks @​hello-ashleyintech!
🐛 Bugs
  • fix(web-api): remove bounds on assistant.threads.setSuggestedPrompts prompts count in types in #​2297 - Thanks @​zimeg!
📚 Documentation
🤖 Dependencies
🧰 Maintenance
🎉 New Contributors

Package: https://www.npmjs.com/package/@​slack/web-api/v/7.10.0
Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/[@​slack/web-api](https://redirect.github.com/slack/web-api)[@​7](https://redirect.github.com/7).9.3...[@​slack/web-api](https://redirect.github.com/slack/web-api)[@​7](https://redirect.github.com/7).10.0
Milestone: https://github.com/slackapi/node-slack-sdk/milestone/144?closed=1

v7.9.3

Compare Source

What's Changed

This release has a few small updates to align with arguments of various Slack API methods.

👾 Enhancements
🐛 Fixes
🧰 Maintenance

Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/[@​slack/web-api](https://redirect.github.com/slack/web-api)[@​7](https://redirect.github.com/7).9.2...[@​slack/web-api](https://redirect.github.com/slack/web-api)[@​7](https://redirect.github.com/7).9.3
Milestone: https://github.com/slackapi/node-slack-sdk/milestone/143

v7.9.2

Compare Source

What's Changed
🐛 Fixes
📖 Docs
🧰 Maintenance

Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/[@​slack/socket-mode](https://redirect.github.com/slack/socket-mode)[@​2](https://redirect.github.com/2).0.4...[@​slack/web-api](https://redirect.github.com/slack/web-api)[@​7](https://redirect.github.com/7).9.2
Milstone: https://github.com/slackapi/node-slack-sdk/milestone/141?closed=1


Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 02:59 AM, on day 1 of the month ( * 0-2 1 * * ) in timezone UTC, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@matticbot matticbot requested a review from jeherve as a code owner November 3, 2025 18:37
@matticbot matticbot added [Status] Needs Review This PR is ready for review. [Type] Janitorial labels Nov 3, 2025
@matticbot matticbot requested a review from a team November 3, 2025 18:37
@github-actions
Copy link
Contributor

github-actions bot commented Nov 3, 2025

Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.

  • To test on WoA, go to the Plugins menu on a WoA dev site. Click on the "Upload" button and follow the upgrade flow to be able to upload, install, and activate the Jetpack Beta plugin. Once the plugin is active, go to Jetpack > Jetpack Beta, select your plugin (Jetpack or WordPress.com Site Helper), and enable the renovate/slack-web-api-7.x branch.
  • To test on Simple, run the following command on your sandbox:
bin/jetpack-downloader test jetpack renovate/slack-web-api-7.x
bin/jetpack-downloader test jetpack-mu-wpcom-plugin renovate/slack-web-api-7.x

Interested in more tips and information?

  • In your local development environment, use the jetpack rsync command to sync your changes to a WoA dev blog.
  • Read more about our development workflow here: PCYsg-eg0-p2
  • Figure out when your changes will be shipped to customers here: PCYsg-eg5-p2

@github-actions github-actions bot added [Action] Repo Gardening Github Action: manage PR and issues in your Open Source project [Action] Test Results to Slack Actions GitHub actions used to automate some of the work around releases and repository management E2E Tests labels Nov 3, 2025
@jp-launch-control
Copy link

Code Coverage Summary

This PR did not change code coverage!

That could be good or bad, depending on the situation. Everything covered before, and still is? Great! Nothing was covered before? Not so great. 🤷

Full summary · PHP report · JS report

Copy link
Contributor

@tbradsha tbradsha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems safe. slackapi/node-slack-sdk#2330 is good to know about, but no changes are currently needed.

@tbradsha tbradsha self-assigned this Nov 3, 2025
@tbradsha tbradsha merged commit 1eafd77 into trunk Nov 3, 2025
120 of 123 checks passed
@tbradsha tbradsha deleted the renovate/slack-web-api-7.x branch November 3, 2025 20:14
@github-actions github-actions bot removed the [Status] Needs Review This PR is ready for review. label Nov 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Action] Repo Gardening Github Action: manage PR and issues in your Open Source project [Action] Test Results to Slack Actions GitHub actions used to automate some of the work around releases and repository management E2E Tests [Type] Janitorial

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants