Developing automations requires a paid plan. Don't have one? Join the Developer Program and provision a sandbox with access to all Slack features for free.
Slack functions are essentially Slack-native actions, like creating a channel or sending a message. Use them alongside your custom functions in a workflow. Browse our inventory of Slack functions.
Slack functions need to be imported from the standard library built into the Slack Deno SDKβall Slack functions are children of the Schema.slack.functions
object. Just like custom functions, Slack functions can be added to steps in a workflow using the addStep
method.
Slack functions define their own inputs and outputs, as detailed for each Slack function in the catalog below.
When building workflows using functions, there is a 60 second timeout for a deployed function and a 15 second timeout for a locally-run function.
For deployed functions using a block_suggestion
, block_actions
, view_submission
, or view_closed
payload, there is a 10 second timeout.
If a function has not finished running within its respective time limit, you will see an error in your log. Refer to logging for more details.
The details for each Slack function can be found in our reference documentation.
Bookmarks
Canvas
canvas_copy
- Copy a canvascanvas_create
- Create a canvascanvas_update_content
- Updates a canvaschannel_canvas_create
- Create channel canvasshare_canvas
- Share a canvasshare_canvas_in_thread
- Share a canvas in threadChannel management
archive_channel
- Archive a channelcreate_channel
- Create a new channelinvite_user_to_channel
- Invite a user to a channelupdate_channel_topic
- Update a channel's topicHelpers
Interactivity
Messaging
reply_in_thread
- Reply to a message by creating or adding to a threadsend_dm
- Send a direct messagesend_ephemeral_message
- Send an ephemeral message (one that only the recipient can see)send_message
- Send a messagePinned items
User management
Here's an example of a workflow that creates a new Slack channel using the CreateChannel
Slack function:
import { DefineWorkflow, Schema } from "deno-slack-sdk/mod.ts";
// Define a workflow that can pass the parameters for the Slack function
const myWorkflow = DefineWorkflow({
callback_id: "channel-creator",
title: "Channel Creator",
input_parameters: {
properties: { channel_name: { type: Schema.types.string } },
required: ["channel_name"],
},
});
const createChannelStep = myWorkflow.addStep(
Schema.slack.functions.CreateChannel,
{
channel_name: myWorkflow.inputs.channel_name,
is_private: false,
},
);
export default myWorkflow;
β‘οΈ To learn how to add a Slack function to a workflow, head to the workflows section.
β¨ To learn how to create your own custom functions, head to the custom functions section.
Have 2 minutes to provide some feedback?
We'd love to hear about your experience building Slack automations. Please complete our short survey so we can use your feedback to improve.