Skip to main content

30 posts tagged with "New Feature"

View All Tags

Introducing Work Objects

As you may have spied in the Slack CLI v3.9.0 release yesterday, support for Work Objects is now generally available! πŸŽ‰

Work Objects allow you to represent and collaborate on data from third-party services where the work is already happening, right in Slack. They have two primary components: an unfurl component, and a flexpane component.

We've also introduced a new entity_details_requested event and the entity.presentDetails API method, and have added support for Work Objects to the chat.unfurl API method. SDK support for these API updates is coming soon.

To learn how it all comes together to create a seamless experience for your users, check out the full documentation!

New features designed for Slack apps sending AI responses

We've introduced a new suite of features to help Slack apps provide an end-user experience typical of LLM tools:

  • Slack apps can now stream in their responses to the end user using three new API methods.
  • There are new Block Kit components to allow end users to quickly interact with AI responses.
  • The Node and Python SDKs have new utilities to streamline integration of these new features.

Read on for more info!

The Data Access API is here!

This API is now available in a limited release for interested partners. Use the Data Access API within apps that have the Agents & AI Apps feature enabled to access all the relevant Slack data you need to ensure a pleasant user experience for AI-enabled apps

Agents & AI Apps feature is here!

We're excited to announce that the following new features have launched!

  • Introducing the Agents & AI Apps feature, the new way you can build AI-powered, conversational apps integrated with your favorite Large Language Model (LLM).
  • The App Directory is now the Slack Marketplace! Get ready to explore a whole new world of apps, assistants, templates, connectors, and more.

What you see is what you get and more and less

This autumn, Slack will make what-you-see-is-what-you-get (WYSIWYG) editing available to users.

Once we release WYSIWYG editing, the text field found in message objects your app encounters will become an approximation of a user's more richly formatted message.

To capture a message's full nuance and vibrancy, your app may look to the new blocks attribute included with such messages.

A bric a brac of broadcasts built with blocks

The data structure that represents a message now contains additional new fields on top of all the existing fields your app may be currently expecting. The new structure took effect on February 13, 2019.

These changes come with Block Kitβ€”a new set of components for Slack apps that can be combined to create visually rich and compellingly interactive messages. You can read more about Block Kit below.

Even if you aren't using Block Kit to compose messages, its launch still affects the data structure of messages received via our APIs, so read on to learn how to prepare your apps.

Workspace token rotation

Workspace apps are deprecated

Workspace apps use an access token to represent all the permissions granted to your app by a workspace.

Workspace tokens are so potent and powerful that apps should take great care to keep them safe and secret. We're releasing a OAuth 2.0-based token expiration and rotation system that will make workspace tokens short-lived while providing your app a secure means to refresh tokens as needed.

For more detail on the ins and outs of token rotation, check out our full documentation.

Conversations APIs and scopes for workspace apps

Workspace apps can now use a simplified interface for working with the Conversations API methods. A workspace app can request three new scopes: conversations:history, conversations:read, and conversations:write. These three scopes cast an umbrella of permission over each different conversation type: channels, DMs, or anything in between.

Workspace apps are deprecated

These new scopes make it even easier to use Conversations API methods, allowing apps to negotiate permissions for, and then interact with, all types of conversations at once.

The latest and greatest conversations scopes

Don't let websocket URIs with query strings get you down

We now serve query string parameters on the wss:// WebSocket URIs produced by rtm.connect and rtm.start.

While the specification for WebSockets explicitly allows query string parameters, some third party libraries not fully implementing the spec may handle these parameters incorrectly, stripping them off and invalidating your attempts to open a connection.

Known issues​

Though we didn't anticipate issues sending query strings in websocket URIs, some libraries and frameworks may need tinkering with.

  • Use Slack API in Go AKA github.com/nlopes/slack? Update to the latest version of this Golang project to resolve connection issues. A recent commit merged with master fixes websocket URI handling.

Locale locale locale

Slack now supports multiple languages, and your app or integration can too.

Add a locale in user and conversation by using the include_locale=true parameter when requesting a bundle of Web API methods supporting it.

The locale field is a string containing a IETF language code, such as en-US. fr-FR, es-ES, or de-DE, and other future values.

We now support include_locale on these methods. Opt-in to receive a locale field in user profiles or the locale of a conversation.

If you don't include the parameter, no locale will be provided. It's opt-in.

You'll also see locale information changes in related user profile change events in the RTM and Events APIs.

Response metadata is on the way

We want to tell you even more about your API requests. On November 1st we'll begin including a response_metadata field in HTTP API responses.

At first it will include a warnings array, just as the top-level JSON response does today. API warnings are great example of the kind of information we want to communicate in this response metadata, so please forgive our duplication.

Later we'll include a messages array. It will include human-readable descriptions of errors or warnings generated by your request.

More event timestamps in the RTM API

Within the next few weeks, we'll add event_ts timestamp fields to additional streamed events you receive in the real-time messaging API.

What are these fields for?​

The event_ts field differs from the ts timestamp fields you already receive with most events. The ts field is associated with the object or transition the event is describing while the event_ts attribute refers to the streamed event.

The ts field is like a date scrawled on a letter contained within an envelope β€” it's part of the message itself.

The event_ts is like a postmark stamped on the envelope as part of the postal process, an artifact of the workflow used to deliver the message to the intended recipient.

As with ts, event_ts is expressed in a kind of "epoch time", contained within a string and including fractions of seconds.

An example event_ts timestamp value of "1361482916.000004", could be converted to UTC as 2013-02-21 21:41:56 UTC.

event_ts is especially useful when noting your real time progress through a channel's history.

Reminders API methods

In effect on April 14, 2016​

  • New reminders API methods for managing reminders in Slack
  • New reminders OAuth scopes for calling the new methods

New API methods​

The following API methods have been released, allowing you to programmatically add, remove, and manage reminders.

New OAuth scopes​

The following OAuth scopes will grant you access to the new methods listed above: