Creating Slack functions | Slack Developer Docs
https://docs.slack.dev/tools/deno-slack-sdk/guides/creating-slack-functions/ • 49 KB fetched Open original page
Creating Slack functions | Slack Developer Docs
deno_slack_sdk
Skip to main content
Guides Reference Samples Tools
Changelog Dev Program
MANAGE APPS
* Overview
* Community-developed tools
* Slack MCP and Skills Plugin
* Sandboxes
* Deno Slack SDK
* Getting started
* Creating an app
* Using the app manifest
* Functions
* Creating functions
* Creating Slack functions
* Creating custom functions
* Controlling access to custom functions
* Creating connector functions
* Calling Slack API methods
* Integrating with services requiring external authentication
* Creating workflows
* Triggers
* Datastores
* Data types
* Interactivity
* Development & deployment
* Deno & TypeScript
* Reference
* Tutorials
* Java libraries
* JavaScript libraries
* Python libraries
* Slack CLI
* Slack GitHub Action
*
* Deno Slack SDK
* Functions
* Creating Slack functions Copy as markdown
On this page
Creating Slack functions
Workflow apps require a paid plan
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 Deno Slack 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.
Previous
Creating functions
Next
Creating custom functions
Copy as markdown
* Slack functions catalog
* Slack function example
* Timeouts for functions
.
*
Tools
* Slack CLI
* Bolt frameworks
* Slack SDKs
* Block Kit Builder
* Developer program
* Code samples & tutorials
* LLM? Read llms.txt
* All tools
Learn
* Learning paths
* Workshops
* Slack certifications
* Trailhead
* Resource library
* All learning resources
Community
* Slack community
* Slack events
Resources
* Docs
* Blog
* Slack marketplace
* Developer newsletter
Manage Apps
* Your apps
* Status
* Privacy
* Terms
* Cookie Preferences
* Support
* Changelog
* Your Privacy Choices
© 2026 Slack Technologies, LLC, a Salesforce company. All rights reserved. Various trademarks held by their respective owners.
*
*
*
Links found on this page
- Skip to main content [direct]
- Guides [direct]
- Reference [direct]
- Samples [direct]
- Tools [direct]
- Changelog [direct]
- Dev Program [direct]
- MANAGE APPS [direct]
- Overview [direct]
- Community-developed tools [direct]
- Slack MCP and Skills Plugin [direct]
- Sandboxes [direct]
- Deno Slack SDK [direct]
- Getting started [direct]
- Creating an app [direct]
- Using the app manifest [direct]
- Functions [direct]
- Creating Slack functions [direct]
- Creating custom functions [direct]
- Controlling access to custom functions [direct]
- Creating connector functions [direct]
- Calling Slack API methods [direct]
- Integrating with services requiring external authentication [direct]
- Creating workflows [direct]
- Triggers [direct]
- Datastores [direct]
- Data types [direct]
- Interactivity [direct]
- Development & deployment [direct]
- Deno & TypeScript [direct]
- Reference [direct]
- Tutorials [direct]
- Java libraries [direct]
- JavaScript libraries [direct]
- Python libraries [direct]
- Slack CLI [direct]
- Slack GitHub Action [direct]
- Browse our inventory of Slack functions [direct]
- Deno Slack SDK [direct]
- CreateChannel [direct]
- logging [direct]
- Block Kit Builder [direct]
- Code samples & tutorials [direct]
- LLM? Read llms.txt [direct]
- Learning paths [direct]
- Workshops [direct]
- Slack certifications [direct]
- Trailhead [direct]
- Resource library [direct]
- All learning resources [direct]
- Slack community [direct]
- Slack events [direct]
- Blog [direct]
- Slack marketplace [direct]
- Developer newsletter [direct]
- Status [direct]
- Privacy [direct]
- Terms [direct]
- Support [direct]
- Your Privacy Choices [direct]
|
|