Creating Slack functions
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.
Slack functions catalog
The details for each Slack function can be found in our reference documentation.
Slack function example
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;
Timeouts for functions
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.
➡️ To learn how to add a Slack function to a workflow, head to the workflows section.
➡️ To browse all Slack functions, head to the Slack Function reference catalog
✨ To learn how to create your own custom functions, head to the custom functions section.