[go: up one dir, main page]

Skip to main content

24 posts tagged with "New feature"

View All Tags

AI apps and assistants are here!

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

  • Introducing AI apps & assistants, 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: