Your experience while developing on the new platform is largely governed by the SDKs and CLI you use to interact with it. The tools change as the platform changes and we release new versions regularly. Let us know how we're doing.
slack uninstallcommand, you will now receive a warning message confirming that all of the data related to this app will also be deleted (i.e. the app's related workflows, functions, and datastores). See update here.
slack manifest validate --verbose, you are now prompted to choose an AppID. This change fixes a bug where an app manifest may have previously been validated against an incorrect AppID. Since each app may have a slightly different manifest depending on what stage of development it's in (for example, a local development app vs. a deployed app), you can now specify the app to validate your local project's manifest against.
user_id>flag that adds or removes a user directly, e.g.
slack collaborator add U123456789or
slack collaborator add email@example.com.
slack createand choose our Scaffolded app to familiarize yourself more closely with datastores on the new Slack platform.
Beginning January 19th, 2023, you must specify all domains you'll use for remote HTTP requests in the
outgoingDomains property of your app's manifest.
outgoingDomainswill be enforced on all workspaces for Slack-hosted apps. Previously,
outgoingDomainswas only enforced on workspaces with Admin-Approved Apps enabled.
outgoingDomainswill be enforced on all workspaces for Slack-hosted apps.
hooks.slack.comwas being implicitly added as an approved outgoing domain on AAA-enabled workspaces. After January 19th, 2023, it will be removed from that list and will need to be added explicitly as an outgoing domain if your functions make network requests to
slack runcommand will enforce your app's
slack run. If you recieve a "Requires net access to <domain_name>" error message, add the listed domain to your
outgoingDomainssetting and try again. Once you're done, redeploy it using the command
AO12345678instead of text, e.g.
slack manifest validateno longer throws
requires_socket_mode_enablederrors when validating the Hello World starter template manifest.
slack workspace defaultcommand.
enterprise_idas a parameter to application functions (and their interactivity handlers) in the deno-slack-sdk. See all available function context parameters here.
placeholdertext for the following Block Kit elements: channels_select, conversations_select, multi_channels_select, multi_users_select, and users_select.
slack activitycommand to now support selecting local app development application.
slack external-auth add-secretcommand warning message text.
slack-debug-[date].logfile will log the response and request. No other activity will be logged.
slack activity --tail, the command will exit once a timeout is reached.
slack trigger infocommand to CLI to display trigger ID, type, name, and URL e.g.
slack trigger info --trigger-id "Ft123ABC456".
slack feedbackcommand to CLI. We would love to know about your experience (good or not so good) using the Slack CLI. Use this command to submit feedback or submit it directly here.
slack-debug-20220915.log. This log file will be accessible in the
.slack/logsfolder on your computer. Note: The CLI will auto-cleanup log files older than one week from the
slack workspacecommand will return an 'Error: unknown command' if an invalid command is executed e.g.
slack trigger <invalid_command>or
slack workspace <invalid_command>.
slack collaboratorsdefault to
slack auth listand
slack collaborators listcommand if no additional arguments are passed in the command.
FunctionHandleris no longer exported. Use the
SlackFunctionHandlertype when building custom functions instead. Alternatively, use the new
SlackFunctionhelper included in this release.
DefineType()no longer accepts
callback_idas a property. The
callback_idhas been deprecated in favor of
options.client_secret_env_keyproperty has been removed from
DefineOAuth2Provider()in favor of using the
add-secretCLI command. If you are using
client_secret_env_key, you can remove it and then use
add-secretinstead to provide the value.
rich_textare still supported.
block_actions/view_submission/view_closedinteractivity event payload:
urihas been renamed to
stringtype. If you're using
format: "uri"as either an
OpenForminput field or top-level string parameter in a custom function, please update to
reverse-stringapp template has been removed.
slack run. On workspaces that don't require admin approval to install apps,
slack runwill start a local development server without first having to have an admin accept the Terms of Service.
interactive_blockshas been added to the following built-in functions:
slack runwatches for filesystem changes.
Each built-in function now requires scopes to be included in the
manifest.ts file. See updates here.
Using autogenerated shortcuts to run your function will no longer be supported on the future platform. In its place, we have introduced workflows and triggers to automate your function. Add your function to a workflow and assign that workflow a trigger to power your functions.
view_closedevents with the new ViewsRouter API. Allowing you to create custom visual flows within your app.
slack trigger accesscommand. Read more
Link triggers are replacing Global Shortcuts as the tool that powers your functions. This means that you will no longer be able to create Global Shortcuts on the new Slack platform and that functions must be added to workflows and have a trigger configured in order for them to be used.
Link triggers will allow you to add more interactivity and user input into your app (try out the new OpenForm built-in function). Simultaneously, leverage workflows to automate tasks more seamlessly throughout your workspace. Since triggers and workflows go hand in hand i.e. you need to configure a trigger to start your workflow, see the Migrating to workflows and triggers guide for instructions on how to migrate the previous version of your app to a modern version that leverages workflows and triggers.
OpenFormwhich allows you to gather user input
SendMessage: message_link, changed input parameter
metadata, changed output parameter
RemoveUserFromUsergroupinput parameter from
is_privateis now an optional input
collaboratorsCLI commands to the singular form
slack var. Use the command
slack envwith the appropriate subcommand to add, list, and remove environment variables.
blocks(see here), and
messages_tab_enabled. You can now hide the Messages tab in your app with the new
featuresproperty in the manifest.
nameproperty and deprecated
DefineTypedefinition. Check out our updated code sample here!
slack runis to now persist the dev version of your app. in your workspace between runs. (If you do want to remove it between runs, you can use the
upgradecommand. Now you can run
slack upgradeto update your CLI and SDK together.
.slackdirectory when executing CLI commands in user's home directory.
distributecommand, your app must be deployed again for other users to have access to your function. Read more.
slack activitycommand. Read more.
cache_errorbug that affected some users when using
slack loginwithout errors.