Incoming webhooks can do it. Slash commands and interactive messages speak it fluently. The message builder knows no other format. But, until now, chat.postMessage
stubbornly refused to understand your messages composed in impeccable JSON.
Finally, Slack allows you to send JSON to a wide selection of write-based Web API methods. Additionally, now you can better separate concerns when presenting your credentials to Slack.
A large selection of Web API write methods now support properly formatted JSON POST bodies. This is most useful for methods supporting complex JSON parameters like chat.postMessage
, chat.postEphemeral
, chat.update
, chat.unfurl
, and dialog.open
.
Mostly things should "just work." If you run into a situation where a method doesn't understand what seems like valid JSON — especially methods that take arrays or objects — please let us know!
Additionally, we now support and prefer passing tokens in HTTP Authorization
headers.
First we'll review how to use an Authorization
header to transmit your OAuth credentials. You may already be familiar with this process if you've used other APIs or even our Files API.
Then we'll cover submitting JSON in the Web API, which depends on this authorization knowledge.
We now strongly encourage using the Authorization
HTTP header to convey your app or integration's tokens.
To make use of sending JSON on write operations, you must provide your token value using an Authorization
HTTP header.
Tokens used in the Slack API are bearer tokens. To specify this type of token to Slack, you must pre-pend Bearer
to your HTTP Authorization
header's value.
If your authorization token was a bot user token like xoxb-1234-56789abcdefghjijklmnop
, then your Authorization
header value would be Bearer xoxb-1234-56789abcdefghjijklmnop
.
Best practice:
GET /api/users.info?user=W123456
Authorization: Bearer xoxb-1234-56789abcdefghijklmnop
Still accepted, but discouraged:
GET /api/users.info?user=W123456&token=xoxb-1234-56789abcdefghijklmnop
You can send your token via Authorization
header using all Web API methods. Just don't send it multiple ways at once!
Here's an example using the popular command line tool, cURL:
curl -X GET -H 'Authorization: Bearer xoxb-1234-56789abcdefghijklmnop' \
https://slack.com/api/users.info?user=W123456
To send JSON to the Web API, use the authorization procedure above: present your bearer tokens, whatever their token type, in a HTTP Authorization
header.
Additionally specify the Content-type
header as application/json
. Your POST body should contain nothing but your JSON body.
Methods supporting comma-separated value arguments should support presentation of arguments as a JSON array or as a string with comma-separated values.
Methods accepting JSON objects or arrays, like chat.postMessage
and chat.unfurl
, should support presenting those arguments natively in JSON.
The most common use case for sending JSON is preserving your message structure when using multiple platform tools together: incoming webhooks, slash commands, interactive messages, chat.postMessage
, etc.
Don't send a mixture of query parameters, POST parameters, or JSON attributes. Choose one model per request.
Creating a public channel with conversations.create
:
POST /api/conversations.create
Content-type: application/json
Authorization: Bearer xoxa-xxxxxxxxx-xxxx
{"name":"something-urgent"}
Posting a message with menus using chat.postMessage
:
POST /api/chat.postMessage
Content-type: application/json
Authorization: Bearer xoxa-xxxxxxxxx-xxxx
{"channel":"C061EG9SL","text":"I hope the tour went well, Mr. Wonka.","attachments":[{"text":"Who wins the lifetime supply of chocolate?","fallback":"You could be telling the computer exactly what it can do with a lifetime supply of chocolate.","color":"#3AA3E3","attachment_type":"default","callback_id":"select_simple_1234","actions":[{"name":"winners_list","text":"Who should win?","type":"select","data_source":"users"}]}]}
Note how the attachments
argument is sent as a straight-forward JSON array.
Here's how to do that with cURL:
curl -X POST -H 'Authorization: Bearer xoxb-1234-56789abcdefghijklmnop' \
-H 'Content-type: application/json' \
--data '{"channel":"C061EG9SL","text":"I hope the tour went well, Mr. Wonka.","attachments": [{"text":"Who wins the lifetime supply of chocolate?","fallback":"You could be telling the computer exactly what it can do with a lifetime supply of chocolate.","color":"#3AA3E3","attachment_type":"default","callback_id":"select_simple_1234","actions":[{"name":"winners_list","text":"Who should win?","type":"select","data_source":"users"}]}]}' \
https://slack.com/api/chat.postMessage
You can still send application/x-www-form-urlencoded
data the way you're used to on a method URL's query string or POST body.
You can still use HTTP POST on read methods, though those methods do not understand attributes presented as JSON.
You don't have to send your access tokens via the Authorization
HTTP header, but we'd prefer that you did.
Nothing changes with parts of the platform that aren't the Web API.
We anticipate no issues. This is a backwards compatible, opt-in change that we're confident will make development against Slack easier for many.
There is a slim chance that if you've been sending application/x-www-form-urlencoded
data to us but claiming its application/json
or vice-versa, or if you have a habit of gratuitously including the same token
field in a variety of different ways, you'll find us at a loss for how to consider your request.
As of October 30, 2017 you can send application/json
POSTs to the methods detailed above. Additionally, you may now use Authorization
HTTP headers to transmit tokens throughout the Web API.
Please contact us if you have any questions or concerns at feedback@slack.com.
These write methods currently support sending a HTTP POST with application/json
.
Method & Description | Description |
---|---|
admin.apps.approve Approve an app for installation on a workspace. | Approve an app for installation on a workspace. |
admin.apps.clearResolution Clear an app resolution | Clear an app resolution |
admin.apps.config.lookup Look up the app config for connectors by their IDs | Look up the app config for connectors by their IDs |
admin.apps.config.set Set the app config for a connector | Set the app config for a connector |
admin.apps.requests.cancel Cancel app request for team | Cancel app request for team |
admin.apps.restrict Restrict an app for installation on a workspace. | Restrict an app for installation on a workspace. |
admin.apps.uninstall Uninstall an app from one or many workspaces, or an entire enterprise organization. | Uninstall an app from one or many workspaces, or an entire enterprise organization. |
admin.audit.anomaly.allow.getItem API to allow enterprise grid admins to read the allow list of IP blocks and ASNs from the enterprise configuration. | API to allow enterprise grid admins to read the allow list of IP blocks and ASNs from the enterprise configuration. |
admin.audit.anomaly.allow.updateItem API to allow enterprise grid admins to write/overwrite the allow list of IP blocks and ASNs from the enterprise configuration. | API to allow enterprise grid admins to write/overwrite the allow list of IP blocks and ASNs from the enterprise configuration. |
admin.auth.policy.assignEntities Assign entities to a particular authentication policy. | Assign entities to a particular authentication policy. |
admin.auth.policy.getEntities Fetch all the entities assigned to a particular authentication policy by name. | Fetch all the entities assigned to a particular authentication policy by name. |
admin.auth.policy.removeEntities Remove specified entities from a specified authentication policy. | Remove specified entities from a specified authentication policy. |
admin.conversations.archive Archive a public or private channel. | Archive a public or private channel. |
admin.conversations.convertToPrivate Convert a public channel to a private channel. | Convert a public channel to a private channel. |
admin.conversations.convertToPublic Convert a private channel to a public channel. | Convert a private channel to a public channel. |
admin.conversations.create Create a public or private channel-based conversation. | Create a public or private channel-based conversation. |
admin.conversations.delete Delete a public or private channel. | Delete a public or private channel. |
admin.conversations.disconnectShared Disconnect a connected channel from one or more workspaces. | Disconnect a connected channel from one or more workspaces. |
admin.conversations.getConversationPrefs Get conversation preferences for a public or private channel. | Get conversation preferences for a public or private channel. |
admin.conversations.getCustomRetention This API endpoint can be used by any admin to get a conversation's retention policy. | This API endpoint can be used by any admin to get a conversation's retention policy. |
admin.conversations.getTeams Get all the workspaces a given public or private channel is connected to within this Enterprise org. | Get all the workspaces a given public or private channel is connected to within this Enterprise org. |
admin.conversations.invite Invite a user to a public or private channel. | Invite a user to a public or private channel. |
admin.conversations.linkObjects Link a Salesforce record to a channel | Link a Salesforce record to a channel |
admin.conversations.removeCustomRetention This API endpoint can be used by any admin to remove a conversation's retention policy. | This API endpoint can be used by any admin to remove a conversation's retention policy. |
admin.conversations.rename Rename a public or private channel. | Rename a public or private channel. |
admin.conversations.search Search for public or private channels in an Enterprise organization. | Search for public or private channels in an Enterprise organization. |
admin.conversations.setConversationPrefs Set the posting permissions for a public or private channel. | Set the posting permissions for a public or private channel. |
admin.conversations.setCustomRetention This API endpoint can be used by any admin to set a conversation's retention policy. | This API endpoint can be used by any admin to set a conversation's retention policy. |
admin.conversations.setTeams Set the workspaces in an Enterprise grid org that connect to a public or private channel. | Set the workspaces in an Enterprise grid org that connect to a public or private channel. |
admin.conversations.unarchive Unarchive a public or private channel. | Unarchive a public or private channel. |
admin.conversations.unlinkObjects Unlink a Salesforce record from a channel | Unlink a Salesforce record from a channel |
admin.functions.list Look up functions by a set of apps | Look up functions by a set of apps |
admin.functions.permissions.lookup Lookup the visibility of multiple Slack functions and include the users if it is limited to particular named entities. | Lookup the visibility of multiple Slack functions and include the users if it is limited to particular named entities. |
admin.functions.permissions.set Set the visibility of a Slack function and define the users or workspaces if it is set to named_entities | Set the visibility of a Slack function and define the users or workspaces if it is set to named_entities |
admin.inviteRequests.approve Approve a workspace invite request. | Approve a workspace invite request. |
admin.inviteRequests.approved.list List all approved workspace invite requests. | List all approved workspace invite requests. |
admin.inviteRequests.denied.list List all denied workspace invite requests. | List all denied workspace invite requests. |
admin.inviteRequests.deny Deny a workspace invite request. | Deny a workspace invite request. |
admin.inviteRequests.list List all pending workspace invite requests. | List all pending workspace invite requests. |
admin.roles.addAssignments Adds members to the specified role with the specified scopes | Adds members to the specified role with the specified scopes |
admin.teams.create Create an Enterprise team. | Create an Enterprise team. |
admin.teams.list List all teams on an Enterprise organization | List all teams on an Enterprise organization |
admin.teams.settings.info Fetch information about settings in a workspace | Fetch information about settings in a workspace |
admin.teams.settings.setDescription Set the description of a given workspace. | Set the description of a given workspace. |
admin.teams.settings.setDiscoverability An API method that allows admins to set the discoverability of a given workspace | An API method that allows admins to set the discoverability of a given workspace |
admin.teams.settings.setName Set the name of a given workspace. | Set the name of a given workspace. |
admin.usergroups.addChannels Add up to one hundred default channels to an IDP group. | Add up to one hundred default channels to an IDP group. |
admin.usergroups.addTeams Associate one or more default workspaces with an organization-wide IDP group. | Associate one or more default workspaces with an organization-wide IDP group. |
admin.usergroups.listChannels List the channels linked to an org-level IDP group (user group). | List the channels linked to an org-level IDP group (user group). |
admin.usergroups.removeChannels Remove one or more default channels from an org-level IDP group (user group). | Remove one or more default channels from an org-level IDP group (user group). |
admin.users.assign Add an Enterprise user to a workspace. | Add an Enterprise user to a workspace. |
admin.users.invite Invite a user to a workspace. | Invite a user to a workspace. |
admin.users.list List users on a workspace | List users on a workspace |
admin.users.remove Remove a user from a workspace. | Remove a user from a workspace. |
admin.users.session.clearSettings Clear user-specific session settings—the session duration and what happens when the client closes—for a list of users. | Clear user-specific session settings—the session duration and what happens when the client closes—for a list of users. |
admin.users.session.getSettings Get user-specific session settings—the session duration and what happens when the client closes—given a list of users. | Get user-specific session settings—the session duration and what happens when the client closes—given a list of users. |
admin.users.session.invalidate Revoke a single session for a user. The user will be forced to login to Slack. | Revoke a single session for a user. The user will be forced to login to Slack. |
admin.users.session.list List active user sessions for an organization | List active user sessions for an organization |
admin.users.session.reset Wipes all valid sessions on all devices for a given user | Wipes all valid sessions on all devices for a given user |
admin.users.session.resetBulk Enqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users | Enqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users |
admin.users.session.setSettings Configure the user-level session settings—the session duration and what happens when the client closes—for one or more users. | Configure the user-level session settings—the session duration and what happens when the client closes—for one or more users. |
admin.users.setAdmin Set an existing regular user or owner to be a workspace admin. | Set an existing regular user or owner to be a workspace admin. |
admin.users.setExpiration Set an expiration for a guest user | Set an expiration for a guest user |
admin.users.setOwner Set an existing regular user or admin to be a workspace owner. | Set an existing regular user or admin to be a workspace owner. |
admin.users.setRegular Set an existing guest user, admin user, or owner to be a regular user. | Set an existing guest user, admin user, or owner to be a regular user. |
admin.workflows.collaborators.add Add collaborators to workflows within the team or enterprise | Add collaborators to workflows within the team or enterprise |
admin.workflows.collaborators.remove Remove collaborators from workflows within the team or enterprise | Remove collaborators from workflows within the team or enterprise |
admin.workflows.permissions.lookup Look up the permissions for a set of workflows | Look up the permissions for a set of workflows |
admin.workflows.search Search workflows within the team or enterprise | Search workflows within the team or enterprise |
admin.workflows.triggers.types.permissions.lookup list the permissions for using each trigger type in workflow builder | list the permissions for using each trigger type in workflow builder |
admin.workflows.triggers.types.permissions.set Set the permissions for using a trigger type in workflow builder | Set the permissions for using a trigger type in workflow builder |
admin.workflows.unpublish Unpublish workflows within the team or enterprise | Unpublish workflows within the team or enterprise |
api.test Checks API calling code. | Checks API calling code. |
apps.auth.external.delete Delete external auth tokens only on the Slack side | Delete external auth tokens only on the Slack side |
apps.auth.external.get Get the access token for the provided token ID | Get the access token for the provided token ID |
apps.connections.open Generate a temporary Socket Mode WebSocket URL that your app can connect to in order to receive events and interactive payloads over. | Generate a temporary Socket Mode WebSocket URL that your app can connect to in order to receive events and interactive payloads over. |
apps.datastore.bulkDelete Delete items from a datastore in bulk | Delete items from a datastore in bulk |
apps.datastore.bulkGet Get items from a datastore in bulk | Get items from a datastore in bulk |
apps.datastore.bulkPut Creates or replaces existing items in bulk | Creates or replaces existing items in bulk |
apps.datastore.count Count the number of items in a datastore that match a query | Count the number of items in a datastore that match a query |
apps.datastore.delete Delete an item from a datastore | Delete an item from a datastore |
apps.datastore.get Get an item from a datastore | Get an item from a datastore |
apps.datastore.put Creates a new item, or replaces an old item with a new item. | Creates a new item, or replaces an old item with a new item. |
apps.datastore.query Query a datastore for items | Query a datastore for items |
apps.datastore.update Edits an existing item's attributes, or adds a new item if it does not already exist. | Edits an existing item's attributes, or adds a new item if it does not already exist. |
apps.event.authorizations.list Get a list of authorizations for the given event context. Each authorization represents an app installation that the event is visible to. | Get a list of authorizations for the given event context. Each authorization represents an app installation that the event is visible to. |
apps.manifest.create Create an app from an app manifest. | Create an app from an app manifest. |
apps.manifest.delete Permanently deletes an app created through app manifests | Permanently deletes an app created through app manifests |
apps.manifest.export Export an app manifest from an existing app | Export an app manifest from an existing app |
apps.manifest.update Update an app from an app manifest | Update an app from an app manifest |
apps.manifest.validate Validate an app manifest | Validate an app manifest |
assistant.threads.setStatus Set the status for an AI assistant thread. | Set the status for an AI assistant thread. |
assistant.threads.setSuggestedPrompts Set suggested prompts for the given assistant thread | Set suggested prompts for the given assistant thread |
assistant.threads.setTitle Set the title for the given assistant thread | Set the title for the given assistant thread |
auth.test Checks authentication & identity. | Checks authentication & identity. |
bookmarks.add Add bookmark to a channel. | Add bookmark to a channel. |
bookmarks.edit Edit bookmark. | Edit bookmark. |
bookmarks.list List bookmark for the channel. | List bookmark for the channel. |
bookmarks.remove Remove bookmark from the channel. | Remove bookmark from the channel. |
calls.add Registers a new Call. | Registers a new Call. |
calls.end Ends a Call. | Ends a Call. |
calls.info Returns information about a Call. | Returns information about a Call. |
calls.participants.add Registers new participants added to a Call. | Registers new participants added to a Call. |
calls.participants.remove Registers participants removed from a Call. | Registers participants removed from a Call. |
calls.update Updates information about a Call. | Updates information about a Call. |
canvases.access.delete Remove access to a canvas for specified entities | Remove access to a canvas for specified entities |
canvases.access.set Sets the access level to a canvas for specified entities | Sets the access level to a canvas for specified entities |
canvases.create Create canvas for a user | Create canvas for a user |
canvases.delete Deletes a canvas | Deletes a canvas |
canvases.edit Update an existing canvas | Update an existing canvas |
canvases.sections.lookup Find sections matching the provided criteria | Find sections matching the provided criteria |
channels.mark Sets the read cursor in a channel. | Sets the read cursor in a channel. |
chat.delete Deletes a message. | Deletes a message. |
chat.deleteScheduledMessage Deletes a pending scheduled message from the queue. | Deletes a pending scheduled message from the queue. |
chat.meMessage Share a me message into a channel. | Share a me message into a channel. |
chat.postEphemeral Sends an ephemeral message to a user in a channel. | Sends an ephemeral message to a user in a channel. |
chat.postMessage Sends a message to a channel. | Sends a message to a channel. |
chat.scheduleMessage Schedules a message to be sent to a channel. | Schedules a message to be sent to a channel. |
chat.scheduledMessages.list Returns a list of scheduled messages. | Returns a list of scheduled messages. |
chat.unfurl Provide custom unfurl behavior for user-posted URLs | Provide custom unfurl behavior for user-posted URLs |
chat.update Updates a message. | Updates a message. |
conversations.acceptSharedInvite Accepts an invitation to a Slack Connect channel. | Accepts an invitation to a Slack Connect channel. |
conversations.approveSharedInvite Approves an invitation to a Slack Connect channel | Approves an invitation to a Slack Connect channel |
conversations.archive Archives a conversation. | Archives a conversation. |
conversations.canvases.create Create a channel canvas for a channel | Create a channel canvas for a channel |
conversations.close Closes a direct message or multi-person direct message. | Closes a direct message or multi-person direct message. |
conversations.create Initiates a public or private channel-based conversation | Initiates a public or private channel-based conversation |
conversations.declineSharedInvite Declines a Slack Connect channel invite. | Declines a Slack Connect channel invite. |
conversations.history Fetches a conversation's history of messages and events. | Fetches a conversation's history of messages and events. |
conversations.invite Invites users to a channel. | Invites users to a channel. |
conversations.inviteShared Sends an invitation to a Slack Connect channel | Sends an invitation to a Slack Connect channel |
conversations.join Joins an existing conversation. | Joins an existing conversation. |
conversations.kick Removes a user from a conversation. | Removes a user from a conversation. |
conversations.leave Leaves a conversation. | Leaves a conversation. |
conversations.listConnectInvites Lists shared channel invites that have been generated or received but have not been approved by all parties | Lists shared channel invites that have been generated or received but have not been approved by all parties |
conversations.mark Sets the read cursor in a channel. | Sets the read cursor in a channel. |
conversations.open Opens or resumes a direct message or multi-person direct message. | Opens or resumes a direct message or multi-person direct message. |
conversations.rename Renames a conversation. | Renames a conversation. |
conversations.requestSharedInvite.approve Approves a request to add an external user to a channel and sends them a Slack Connect invite | Approves a request to add an external user to a channel and sends them a Slack Connect invite |
conversations.requestSharedInvite.deny Denies a request to invite an external user to a channel | Denies a request to invite an external user to a channel |
conversations.requestSharedInvite.list Lists requests to add external users to channels with ability to filter. | Lists requests to add external users to channels with ability to filter. |
conversations.setPurpose Sets the channel description. | Sets the channel description. |
conversations.setTopic Sets the topic for a conversation. | Sets the topic for a conversation. |
conversations.unarchive Reverses conversation archival. | Reverses conversation archival. |
dialog.open Open a dialog with a user | Open a dialog with a user |
dnd.endDnd Ends the current user's Do Not Disturb session immediately. | Ends the current user's Do Not Disturb session immediately. |
dnd.endSnooze Ends the current user's snooze mode immediately. | Ends the current user's snooze mode immediately. |
dnd.setSnooze Turns on Do Not Disturb mode for the current user, or changes its duration. | Turns on Do Not Disturb mode for the current user, or changes its duration. |
files.comments.delete Deletes an existing comment on a file. | Deletes an existing comment on a file. |
files.completeUploadExternal Finishes an upload started with files.getUploadURLExternal | Finishes an upload started with files.getUploadURLExternal |
files.delete Deletes a file. | Deletes a file. |
files.revokePublicURL Revokes public/external sharing access for a file | Revokes public/external sharing access for a file |
files.sharedPublicURL Enables a file for public/external sharing. | Enables a file for public/external sharing. |
functions.completeError Signal that a function failed to complete | Signal that a function failed to complete |
functions.completeSuccess Signal the successful completion of a function | Signal the successful completion of a function |
functions.distributions.permissions.add Grant users access to a custom slack function if its permission_type is set to named_entities | Grant users access to a custom slack function if its permission_type is set to named_entities |
functions.distributions.permissions.list List the access type of a custom slack function and include the users with access if its permission_type is set to named_entities | List the access type of a custom slack function and include the users with access if its permission_type is set to named_entities |
functions.distributions.permissions.remove Revoke user access to a custom slack function if permission_type set to named_entities | Revoke user access to a custom slack function if permission_type set to named_entities |
functions.distributions.permissions.set Set the access type of a custom slack function and define the users to be granted access if permission_type is set to named_entities | Set the access type of a custom slack function and define the users to be granted access if permission_type is set to named_entities |
functions.workflows.steps.list List the steps of a specific function of a workflow's versions | List the steps of a specific function of a workflow's versions |
functions.workflows.steps.responses.export Download form responses of a workflow | Download form responses of a workflow |
groups.mark Sets the read cursor in a private channel. | Sets the read cursor in a private channel. |
im.mark Sets the read cursor in a direct message channel. | Sets the read cursor in a direct message channel. |
mpim.mark Sets the read cursor in a multiparty direct message channel. | Sets the read cursor in a multiparty direct message channel. |
pins.add Pins an item to a channel. | Pins an item to a channel. |
pins.remove Un-pins an item from a channel. | Un-pins an item from a channel. |
reactions.add Adds a reaction to an item. | Adds a reaction to an item. |
reactions.remove Removes a reaction from an item. | Removes a reaction from an item. |
reminders.add Creates a reminder. | Creates a reminder. |
reminders.complete Marks a reminder as complete. | Marks a reminder as complete. |
reminders.delete Deletes a reminder. | Deletes a reminder. |
stars.add Save an item for later. Formerly known as adding a star. | Save an item for later. Formerly known as adding a star. |
stars.remove Removes a saved item (star) from an item. | Removes a saved item (star) from an item. |
usergroups.create Create a User Group. | Create a User Group. |
usergroups.disable Disable an existing User Group. | Disable an existing User Group. |
usergroups.enable Enable a User Group. | Enable a User Group. |
usergroups.update Update an existing User Group. | Update an existing User Group. |
usergroups.users.update Update the list of users for a user group. | Update the list of users for a user group. |
users.discoverableContacts.lookup Look up an email address to see if someone is discoverable on Slack | Look up an email address to see if someone is discoverable on Slack |
users.profile.set Set a user's profile information, including custom status. | Set a user's profile information, including custom status. |
users.setActive Marked a user as active. Deprecated and non-functional. | Marked a user as active. Deprecated and non-functional. |
users.setPresence Manually sets user presence. | Manually sets user presence. |
views.open Open a view for a user. | Open a view for a user. |
views.publish Publish a static view for a User. | Publish a static view for a User. |
views.push Push a view onto the stack of a root view. | Push a view onto the stack of a root view. |
views.update Update an existing view. | Update an existing view. |
workflows.stepCompleted Indicate that an app's step in a workflow completed execution. | Indicate that an app's step in a workflow completed execution. |
workflows.stepFailed Indicate that an app's step in a workflow failed to execute. | Indicate that an app's step in a workflow failed to execute. |
workflows.triggers.permissions.add Allows users to run a trigger that has its permission type set to named_entities | Allows users to run a trigger that has its permission type set to named_entities |
workflows.triggers.permissions.list Returns the permission type of a trigger and if applicable, includes the entities that have been granted access | Returns the permission type of a trigger and if applicable, includes the entities that have been granted access |
workflows.triggers.permissions.remove Revoke an entity's access to a trigger that has its permission type set to named_entities | Revoke an entity's access to a trigger that has its permission type set to named_entities |
workflows.triggers.permissions.set Set the permission type for who can run a trigger | Set the permission type for who can run a trigger |
workflows.updateStep Update the configuration for a workflow step. | Update the configuration for a workflow step. |
Is your favorite method missing? Let us know.
Having trouble properly formatting your JSON? Here are some quick tips:
//
or #
variety."
Content-type
HTTP header to application/json
Authorization
HTTP header beginning with "Bearer "
: Authorization: Bearer xoxb-12345-abcdefghjk