Skip to content

Commit 266a444

Browse files
author
Slack API Ref Buildbot
committed
Updated from Slack docs, 2026/07/08
1 parent ad2244d commit 266a444

9 files changed

Lines changed: 365 additions & 0 deletions

‎docs.slack.dev/events/events.json‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,14 @@
311311
"RTM"
312312
]
313313
},
314+
{
315+
"name": "entity_comments_requested",
316+
"description": "This event is sent to your app when a user opens the comments tab of a Work Object flexpane, refreshes the comments, or requests the next page of comments",
317+
"scopes": [],
318+
"APIs": [
319+
"Events"
320+
]
321+
},
314322
{
315323
"name": "entity_details_requested",
316324
"description": "This event is sent to your app when a user clicks on a Work Object unfurl or refreshes the flexpane",
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"desc": "Acknowledge a comment mutation (edit, delete, or post) on a work object entity. Apps call this endpoint to confirm they have processed a comment action, and the backend emits a dedicated RTM event to the user.",
3+
"http_method": "POST",
4+
"scope": "none",
5+
"rate_limits": "t3",
6+
"json_input_supported": true,
7+
"args": {
8+
"type": "object",
9+
"required": [
10+
"token",
11+
"trigger_id"
12+
],
13+
"properties": {
14+
"token": {
15+
"type": "string",
16+
"subtype": "auth",
17+
"org_app": {
18+
"allowed": true,
19+
"derive_team_context_from": "token"
20+
},
21+
"example": "xxxx-xxxxxxxxx-xxxx"
22+
},
23+
"trigger_id": {
24+
"type": "string",
25+
"desc": "A reference to the original user action that initiated the comment mutation"
26+
},
27+
"comment": {
28+
"type": "object",
29+
"desc": "The full comment data. Required for edit and post actions. See the [comment schema](/messaging/work-objects-comments#entity-present-comments-method) for the full list of properties."
30+
},
31+
"error": {
32+
"type": "string",
33+
"desc": "Error message if the action failed in the app. When present, signals that the mutation could not be completed."
34+
}
35+
}
36+
},
37+
"output": null,
38+
"errors": {
39+
"method_not_found": {
40+
"desc": "when the API isn't available to the caller"
41+
},
42+
"invalid_trigger_id": {
43+
"desc": "Trigger id is not valid"
44+
},
45+
"invalid_app_id": {
46+
"desc": "App ID is not a valid format"
47+
},
48+
"invalid_auth": {
49+
"desc": "Invalid token provided"
50+
},
51+
"invalid_action": {
52+
"desc": "The comment data does not match the original trigger context (e.g., comment_id or thread_root_id mismatch)"
53+
},
54+
"missing_comment_data": {
55+
"desc": "Required comment fields are missing for the given action type"
56+
},
57+
"not_allowed": {
58+
"desc": "User is not enrolled in comment syncing"
59+
},
60+
"invalid_sender_schema": {
61+
"desc": "The sender field could not be transformed to a valid user schema"
62+
}
63+
},
64+
"examples": {}
65+
}
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
{
2+
"desc": "Provide comments for work objects. Apps call this endpoint to send per-user flexpane comment data to the client.",
3+
"http_method": "POST",
4+
"scope": "none",
5+
"rate_limits": "t3",
6+
"json_input_supported": true,
7+
"args": {
8+
"type": "object",
9+
"required": [
10+
"token",
11+
"trigger_id",
12+
"comments"
13+
],
14+
"properties": {
15+
"token": {
16+
"type": "string",
17+
"subtype": "auth",
18+
"org_app": {
19+
"allowed": true,
20+
"derive_team_context_from": "token"
21+
},
22+
"example": "xxxx-xxxxxxxxx-xxxx"
23+
},
24+
"comments": {
25+
"type": "array",
26+
"items": {
27+
"type": "object"
28+
},
29+
"maxItems": 100,
30+
"desc": "Array of comments to present to the user. See the [comment schema](/messaging/work-objects-comments#entity-present-comments-method) for the full list of properties."
31+
},
32+
"cursor": {
33+
"type": "string",
34+
"desc": "App supplied cursor used for pagination, will be sent in the next request for comments"
35+
},
36+
"can_post_comment": {
37+
"type": "boolean",
38+
"desc": "Indicates whether the user has permissions to post comments"
39+
},
40+
"trigger_id": {
41+
"type": "string",
42+
"desc": "A reference to the original user action that initiated the request"
43+
},
44+
"delete_action_id": {
45+
"type": "string",
46+
"desc": "The block action id that will be sent when a delete request is initiated for a comment."
47+
},
48+
"user_auth_required": {
49+
"default": "0",
50+
"desc": "Set to true (or 1) to indicate that the user must authenticate to see the comments data.",
51+
"type": "boolean"
52+
},
53+
"user_auth_url": {
54+
"desc": "A custom URL to which users are directed for authentication if required.",
55+
"example": "https://example.com/onboarding?user_id=xxx",
56+
"type": "string"
57+
},
58+
"error": {
59+
"schema": "error"
60+
}
61+
}
62+
},
63+
"output": null,
64+
"errors": {
65+
"method_not_found": {
66+
"desc": "when the API isn't available to the caller"
67+
},
68+
"invalid_trigger_id": {
69+
"desc": "Trigger id is not valid"
70+
},
71+
"invalid_app_id": {
72+
"desc": "App ID is not a valid format"
73+
},
74+
"invalid_auth": {
75+
"desc": "Invalid token provided"
76+
},
77+
"user_auth_url_missing": {
78+
"desc": "User auth url is required if user_auth_required is true"
79+
},
80+
"missing_delete_action_id": {
81+
"desc": "delete_action_id is required when any comment is marked can_delete"
82+
}
83+
},
84+
"examples": {}
85+
}

‎docs.slack.dev/methods/files.completeUploadExternal.json‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,21 @@
7979
"desc": "A JSON-based array of structured rich text blocks, presented as a URL-encoded string. If the `initial_comment` field is provided, the `blocks` field is ignored",
8080
"type": "string",
8181
"example": "[{\"type\": \"section\", \"text\": {\"type\": \"plain_text\", \"text\": \"Hello world\"}}]"
82+
},
83+
"username": {
84+
"desc": "Set your bot's user name for the file share message. Requires the [`chat:write.customize`](/reference/scopes/chat.write.customize) scope.",
85+
"example": "My Bot",
86+
"type": "string"
87+
},
88+
"icon_url": {
89+
"desc": "URL to an image to use as the icon for the file share message. Requires the [`chat:write.customize`](/reference/scopes/chat.write.customize) scope.",
90+
"example": "http://lorempixel.com/48/48",
91+
"type": "string"
92+
},
93+
"icon_emoji": {
94+
"desc": "Emoji to use as the icon for the file share message. Overrides `icon_url`. Requires the [`chat:write.customize`](/reference/scopes/chat.write.customize) scope.",
95+
"example": ":chart_with_upwards_trend:",
96+
"type": "string"
8297
}
8398
}
8499
},

‎docs.slack.dev/methods/methods.json‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1420,6 +1420,20 @@
14201420
"emoji"
14211421
]
14221422
},
1423+
{
1424+
"name": "entity.acknowledgeCommentAction",
1425+
"description": "Acknowledge a comment mutation (edit, delete, or post) on a work object entity. Apps call this endpoint to confirm they have processed a comment action, and the backend emits a dedicated RTM event to the user.",
1426+
"family": [
1427+
"entity"
1428+
]
1429+
},
1430+
{
1431+
"name": "entity.presentComments",
1432+
"description": "Provide comments for work objects. Apps call this endpoint to send per-user flexpane comment data to the client.",
1433+
"family": [
1434+
"entity"
1435+
]
1436+
},
14231437
{
14241438
"name": "entity.presentDetails",
14251439
"description": "Provide custom flexpane behavior for Work Objects. Apps call this endpoint to send per-user flexpane metadata to the client.",
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"name": "entity_comments_requested",
3+
"desc": "This event is sent to your app when a user opens the comments tab of a Work Object flexpane, refreshes the comments, or requests the next page of comments.",
4+
"scopes": [],
5+
"APIs": [
6+
"Events"
7+
]
8+
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"group": "entity",
3+
"name": "entity.acknowledgeCommentAction",
4+
"deprecated": false,
5+
"desc": "Acknowledge a comment mutation (edit, delete, or post) on a work object entity. Apps call this endpoint to confirm they have processed a comment action, and the backend emits a dedicated RTM event to the user.",
6+
"args": {
7+
"trigger_id": {
8+
"required": true,
9+
"desc": "A reference to the original user action that initiated the comment mutation.",
10+
"type": "string"
11+
},
12+
"comment": {
13+
"required": false,
14+
"desc": "The full comment data. Required for edit and post actions. See the comment schema for the full list of properties.",
15+
"type": "object"
16+
},
17+
"error": {
18+
"required": false,
19+
"desc": "Error message if the action failed in the app. When present, signals that the mutation could not be completed.",
20+
"type": "string"
21+
}
22+
},
23+
"response": {
24+
"examples": []
25+
},
26+
"errors": {
27+
"access_denied": "Access to a resource specified in the request is denied.",
28+
"accesslimited": "Access to this method is limited on the current network.",
29+
"account_inactive": "Authentication token is for a deleted user or workspace when using a bot token.",
30+
"deprecated_endpoint": "The endpoint has been deprecated.",
31+
"ekm_access_denied": "Administrators have suspended the ability to post a message.",
32+
"enterprise_is_restricted": "The method cannot be called from an Enterprise.",
33+
"fatal_error": "The server could not complete your operation(s) without encountering a catastrophic error. It's possible some aspect of the operation succeeded before the error was raised.",
34+
"invalid_action": "The comment data does not match the original trigger context (e.g., comment_id or thread_root_id mismatch)",
35+
"invalid_app_id": "App ID is not a valid format",
36+
"invalid_arg_name": "The method was passed an argument whose name falls outside the bounds of accepted or expected values. This includes very long names and names with non-alphanumeric characters other than _. If you get this error, it is typically an indication that you have made a very malformed API call.",
37+
"invalid_array_arg": "The method was passed an array as an argument. Please only input valid strings.",
38+
"invalid_auth": "Invalid token provided",
39+
"invalid_charset": "The method was called via a POST request, but the charset specified in the Content-Type header was invalid. Valid charset names are: utf-8 iso-8859-1.",
40+
"invalid_form_data": "The method was called via a POST request with Content-Type application/x-www-form-urlencoded or multipart/form-data, but the form data was either missing or syntactically invalid.",
41+
"invalid_post_type": "The method was called via a POST request, but the specified Content-Type was invalid. Valid types are: application/json application/x-www-form-urlencoded multipart/form-data text/plain.",
42+
"invalid_sender_schema": "The sender field could not be transformed to a valid user schema",
43+
"invalid_trigger_id": "Trigger id is not valid",
44+
"is_bot": "This method cannot be called by a legacy bot.",
45+
"method_deprecated": "The method has been deprecated.",
46+
"method_not_found": "when the API isn't available to the caller",
47+
"missing_comment_data": "Required comment fields are missing for the given action type",
48+
"missing_post_type": "The method was called via a POST request and included a data payload, but the request did not include a Content-Type header.",
49+
"missing_scope": "The token used is not granted the specific scope permissions required to complete this request.",
50+
"no_permission": "The workspace token used in this request does not have the permissions necessary to complete the request. Make sure your app is a member of the conversation it's attempting to post a message to.",
51+
"not_allowed": "User is not enrolled in comment syncing",
52+
"not_allowed_token_type": "The token type used in this request is not allowed.",
53+
"not_authed": "No authentication token provided.",
54+
"org_login_required": "The workspace is undergoing an enterprise migration and will not be available until migration is complete.",
55+
"ratelimited": "The request has been ratelimited. Refer to the Retry-After header for when to retry the request.",
56+
"request_timeout": "The method was called via a POST request, but the POST data was either missing or truncated.",
57+
"service_unavailable": "The service is temporarily unavailable.",
58+
"team_added_to_org": "The workspace associated with your request is currently undergoing migration to an Enterprise Organization. Web API and other platform operations will be intermittently unavailable until the transition is complete.",
59+
"token_expired": "Authentication token has expired.",
60+
"token_revoked": "Authentication token is for a deleted user or workspace or the app has been removed when using a user token.",
61+
"two_factor_setup_required": "Two factor setup is required.",
62+
"unknown_method": "This method is currently not available."
63+
}
64+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
{
2+
"group": "entity",
3+
"name": "entity.presentComments",
4+
"deprecated": false,
5+
"desc": "Provide comments for work objects. Apps call this endpoint to send per-user flexpane comment data to the client.",
6+
"args": {
7+
"comments": {
8+
"required": true,
9+
"desc": "Array of comments to present to the user. See the comment schema for the full list of properties.",
10+
"type": "array"
11+
},
12+
"cursor": {
13+
"required": false,
14+
"desc": "App supplied cursor used for pagination, will be sent in the next request for comments.",
15+
"type": "string"
16+
},
17+
"can_post_comment": {
18+
"required": false,
19+
"desc": "Indicates whether the user has permissions to post comments.",
20+
"type": "boolean"
21+
},
22+
"trigger_id": {
23+
"required": true,
24+
"desc": "A reference to the original user action that initiated the request.",
25+
"type": "string"
26+
},
27+
"delete_action_id": {
28+
"required": false,
29+
"desc": "The block action id that will be sent when a delete request is initiated for a comment.",
30+
"type": "string"
31+
},
32+
"user_auth_required": {
33+
"required": false,
34+
"example": "0",
35+
"desc": "Set to true (or 1) to indicate that the user must authenticate to see the comments data.",
36+
"type": "boolean"
37+
},
38+
"user_auth_url": {
39+
"required": false,
40+
"example": "https://example.com/onboarding?user_id=xxx",
41+
"desc": "A custom URL to which users are directed for authentication if required.",
42+
"type": "string"
43+
},
44+
"error": {
45+
"required": false,
46+
"desc": ""
47+
}
48+
},
49+
"response": {
50+
"examples": []
51+
},
52+
"errors": {
53+
"access_denied": "Access to a resource specified in the request is denied.",
54+
"accesslimited": "Access to this method is limited on the current network.",
55+
"account_inactive": "Authentication token is for a deleted user or workspace when using a bot token.",
56+
"deprecated_endpoint": "The endpoint has been deprecated.",
57+
"ekm_access_denied": "Administrators have suspended the ability to post a message.",
58+
"enterprise_is_restricted": "The method cannot be called from an Enterprise.",
59+
"fatal_error": "The server could not complete your operation(s) without encountering a catastrophic error. It's possible some aspect of the operation succeeded before the error was raised.",
60+
"invalid_app_id": "App ID is not a valid format",
61+
"invalid_arg_name": "The method was passed an argument whose name falls outside the bounds of accepted or expected values. This includes very long names and names with non-alphanumeric characters other than _. If you get this error, it is typically an indication that you have made a very malformed API call.",
62+
"invalid_array_arg": "The method was passed an array as an argument. Please only input valid strings.",
63+
"invalid_auth": "Invalid token provided",
64+
"invalid_charset": "The method was called via a POST request, but the charset specified in the Content-Type header was invalid. Valid charset names are: utf-8 iso-8859-1.",
65+
"invalid_form_data": "The method was called via a POST request with Content-Type application/x-www-form-urlencoded or multipart/form-data, but the form data was either missing or syntactically invalid.",
66+
"invalid_post_type": "The method was called via a POST request, but the specified Content-Type was invalid. Valid types are: application/json application/x-www-form-urlencoded multipart/form-data text/plain.",
67+
"invalid_trigger_id": "Trigger id is not valid",
68+
"is_bot": "This method cannot be called by a legacy bot.",
69+
"method_deprecated": "The method has been deprecated.",
70+
"method_not_found": "when the API isn't available to the caller",
71+
"missing_delete_action_id": "delete_action_id is required when any comment is marked can_delete",
72+
"missing_post_type": "The method was called via a POST request and included a data payload, but the request did not include a Content-Type header.",
73+
"missing_scope": "The token used is not granted the specific scope permissions required to complete this request.",
74+
"no_permission": "The workspace token used in this request does not have the permissions necessary to complete the request. Make sure your app is a member of the conversation it's attempting to post a message to.",
75+
"not_allowed_token_type": "The token type used in this request is not allowed.",
76+
"not_authed": "No authentication token provided.",
77+
"org_login_required": "The workspace is undergoing an enterprise migration and will not be available until migration is complete.",
78+
"ratelimited": "The request has been ratelimited. Refer to the Retry-After header for when to retry the request.",
79+
"request_timeout": "The method was called via a POST request, but the POST data was either missing or truncated.",
80+
"service_unavailable": "The service is temporarily unavailable.",
81+
"team_added_to_org": "The workspace associated with your request is currently undergoing migration to an Enterprise Organization. Web API and other platform operations will be intermittently unavailable until the transition is complete.",
82+
"token_expired": "Authentication token has expired.",
83+
"token_revoked": "Authentication token is for a deleted user or workspace or the app has been removed when using a user token.",
84+
"two_factor_setup_required": "Two factor setup is required.",
85+
"unknown_method": "This method is currently not available.",
86+
"user_auth_url_missing": "User auth url is required if user_auth_required is true"
87+
}
88+
}

0 commit comments

Comments
 (0)