Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions json-logs/samples/api/slackbot.skills.update.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"ok": false,
"error": "",
"needed": "",
"provided": "",
"warning": "",
"invalid_mcp_servers": [
{
"service_type": "",
"app_id": "A00000000",
"server_id": ""
}
],
"response_metadata": {
"messages": [
""
]
},
"skill": {
"access": "",
"category": "",
"creator_id": "U00000000",
"date_created": 12345,
"date_updated": 12345,
"description": "",
"display_name": "",
"example_prompt": "",
"id": "F00000000",
"instructions": "",
"is_official": false,
"library_count": 12345,
"mcp_servers": [
{
"service_type": "",
"app_id": "A00000000",
"server_id": "",
"display_name": "",
"is_available": false
}
],
"name": "",
"permalink": "",
"type": "",
"usage_count": 12345,
"visibility": ""
}
}
1 change: 1 addition & 0 deletions metadata/web-api/rate_limit_tiers.json
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,7 @@
"slackLists.update": "Tier2",
"slackbot.skills.create": "Tier2",
"slackbot.skills.info": "Tier3",
"slackbot.skills.update": "Tier3",
"stars.add": "Tier2",
"stars.list": "Tier3",
"stars.remove": "Tier2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@
import com.slack.api.methods.request.slack_lists.SlackListsUpdateRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsCreateRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsInfoRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsUpdateRequest;
import com.slack.api.methods.request.stars.StarsAddRequest;
import com.slack.api.methods.request.stars.StarsListRequest;
import com.slack.api.methods.request.stars.StarsRemoveRequest;
Expand Down Expand Up @@ -287,6 +288,7 @@
import com.slack.api.methods.response.slack_lists.SlackListsUpdateResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsCreateResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsInfoResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsUpdateResponse;
import com.slack.api.methods.response.stars.StarsAddResponse;
import com.slack.api.methods.response.stars.StarsListResponse;
import com.slack.api.methods.response.stars.StarsRemoveResponse;
Expand Down Expand Up @@ -1547,6 +1549,10 @@ CompletableFuture<AdminConversationsWhitelistListGroupsLinkedToChannelResponse>

CompletableFuture<SlackbotSkillsInfoResponse> slackbotSkillsInfo(RequestConfigurator<SlackbotSkillsInfoRequest.SlackbotSkillsInfoRequestBuilder> req);

CompletableFuture<SlackbotSkillsUpdateResponse> slackbotSkillsUpdate(SlackbotSkillsUpdateRequest req);

CompletableFuture<SlackbotSkillsUpdateResponse> slackbotSkillsUpdate(RequestConfigurator<SlackbotSkillsUpdateRequest.SlackbotSkillsUpdateRequestBuilder> req);

// ------------------------------
// slackLists
// ------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -690,6 +690,7 @@ private Methods() {

public static final String SLACKBOT_SKILLS_CREATE = "slackbot.skills.create";
public static final String SLACKBOT_SKILLS_INFO = "slackbot.skills.info";
public static final String SLACKBOT_SKILLS_UPDATE = "slackbot.skills.update";

// ------------------------------
// slackLists
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@
import com.slack.api.methods.request.slack_lists.SlackListsUpdateRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsCreateRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsInfoRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsUpdateRequest;
import com.slack.api.methods.request.team.*;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsDisconnectRequest;
import com.slack.api.methods.request.team.external_teams.TeamExternalTeamsListRequest;
Expand Down Expand Up @@ -312,6 +313,7 @@
import com.slack.api.methods.response.slack_lists.SlackListsUpdateResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsCreateResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsInfoResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsUpdateResponse;
import com.slack.api.methods.response.stars.StarsAddResponse;
import com.slack.api.methods.response.stars.StarsListResponse;
import com.slack.api.methods.response.stars.StarsRemoveResponse;
Expand Down Expand Up @@ -2682,6 +2684,11 @@ SlackbotSkillsCreateResponse slackbotSkillsCreate(RequestConfigurator<SlackbotSk
SlackbotSkillsInfoResponse slackbotSkillsInfo(RequestConfigurator<SlackbotSkillsInfoRequest.SlackbotSkillsInfoRequestBuilder> req)
throws IOException, SlackApiException;

SlackbotSkillsUpdateResponse slackbotSkillsUpdate(SlackbotSkillsUpdateRequest req) throws IOException, SlackApiException;

SlackbotSkillsUpdateResponse slackbotSkillsUpdate(RequestConfigurator<SlackbotSkillsUpdateRequest.SlackbotSkillsUpdateRequestBuilder> req)
throws IOException, SlackApiException;

// ------------------------------
// slackLists
// ------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -446,6 +446,7 @@ public static void setRateLimitTier(String methodName, MethodsRateLimitTier tier

setRateLimitTier(SLACKBOT_SKILLS_CREATE, Tier2);
setRateLimitTier(SLACKBOT_SKILLS_INFO, Tier3);
setRateLimitTier(SLACKBOT_SKILLS_UPDATE, Tier3);

setRateLimitTier(SLACKLISTS_ACCESS_DELETE, Tier3);
setRateLimitTier(SLACKLISTS_ACCESS_SET, Tier3);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@
import com.slack.api.methods.request.slack_lists.SlackListsUpdateRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsCreateRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsInfoRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsUpdateRequest;
import com.slack.api.methods.request.stars.StarsAddRequest;
import com.slack.api.methods.request.stars.StarsListRequest;
import com.slack.api.methods.request.stars.StarsRemoveRequest;
Expand Down Expand Up @@ -3041,6 +3042,20 @@ public static FormBody.Builder toForm(SlackbotSkillsInfoRequest req) {
return form;
}

public static FormBody.Builder toForm(SlackbotSkillsUpdateRequest req) {
FormBody.Builder form = new FormBody.Builder();
setIfNotNull("skill_id", req.getSkillId(), form);
setIfNotNull("display_name", req.getDisplayName(), form);
setIfNotNull("instructions", req.getInstructions(), form);
setIfNotNull("description", req.getDescription(), form);
setIfNotNull("category", req.getCategory(), form);
setIfNotNull("example_prompt", req.getExamplePrompt(), form);
if (req.getMcpServers() != null) {
setIfNotNull("mcp_servers", GSON.toJson(req.getMcpServers()), form);
}
return form;
}

public static FormBody.Builder toForm(SlackListsAccessDeleteRequest req) {
FormBody.Builder form = new FormBody.Builder();
setIfNotNull("list_id", req.getListId(), form);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@
import com.slack.api.methods.request.slack_lists.SlackListsUpdateRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsCreateRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsInfoRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsUpdateRequest;
import com.slack.api.methods.request.stars.StarsAddRequest;
import com.slack.api.methods.request.stars.StarsListRequest;
import com.slack.api.methods.request.stars.StarsRemoveRequest;
Expand Down Expand Up @@ -291,6 +292,7 @@
import com.slack.api.methods.response.slack_lists.SlackListsUpdateResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsCreateResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsInfoResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsUpdateResponse;
import com.slack.api.methods.response.stars.StarsAddResponse;
import com.slack.api.methods.response.stars.StarsListResponse;
import com.slack.api.methods.response.stars.StarsRemoveResponse;
Expand Down Expand Up @@ -2767,6 +2769,16 @@ public CompletableFuture<SlackbotSkillsInfoResponse> slackbotSkillsInfo(RequestC
return slackbotSkillsInfo(req.configure(SlackbotSkillsInfoRequest.builder()).build());
}

@Override
public CompletableFuture<SlackbotSkillsUpdateResponse> slackbotSkillsUpdate(SlackbotSkillsUpdateRequest req) {
return executor.execute(SLACKBOT_SKILLS_UPDATE, toMap(req), () -> methods.slackbotSkillsUpdate(req));
}

@Override
public CompletableFuture<SlackbotSkillsUpdateResponse> slackbotSkillsUpdate(RequestConfigurator<SlackbotSkillsUpdateRequest.SlackbotSkillsUpdateRequestBuilder> req) {
return slackbotSkillsUpdate(req.configure(SlackbotSkillsUpdateRequest.builder()).build());
}

@Override
public CompletableFuture<SlackListsAccessDeleteResponse> slackListsAccessDelete(SlackListsAccessDeleteRequest req) {
return executor.execute(SLACKLISTS_ACCESS_DELETE, toMap(req), () -> methods.slackListsAccessDelete(req));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@
import com.slack.api.methods.request.slack_lists.SlackListsUpdateRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsCreateRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsInfoRequest;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsUpdateRequest;
import com.slack.api.methods.request.stars.StarsAddRequest;
import com.slack.api.methods.request.stars.StarsListRequest;
import com.slack.api.methods.request.stars.StarsRemoveRequest;
Expand Down Expand Up @@ -314,6 +315,7 @@
import com.slack.api.methods.response.slack_lists.SlackListsUpdateResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsCreateResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsInfoResponse;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsUpdateResponse;
import com.slack.api.methods.response.stars.StarsAddResponse;
import com.slack.api.methods.response.stars.StarsListResponse;
import com.slack.api.methods.response.stars.StarsRemoveResponse;
Expand Down Expand Up @@ -3445,6 +3447,16 @@ public SlackbotSkillsInfoResponse slackbotSkillsInfo(RequestConfigurator<Slackbo
return slackbotSkillsInfo(req.configure(SlackbotSkillsInfoRequest.builder()).build());
}

@Override
public SlackbotSkillsUpdateResponse slackbotSkillsUpdate(SlackbotSkillsUpdateRequest req) throws IOException, SlackApiException {
return postFormWithTokenAndParseResponse(toForm(req), Methods.SLACKBOT_SKILLS_UPDATE, getToken(req), SlackbotSkillsUpdateResponse.class);
}

@Override
public SlackbotSkillsUpdateResponse slackbotSkillsUpdate(RequestConfigurator<SlackbotSkillsUpdateRequest.SlackbotSkillsUpdateRequestBuilder> req) throws IOException, SlackApiException {
return slackbotSkillsUpdate(req.configure(SlackbotSkillsUpdateRequest.builder()).build());
}

@Override
public SlackListsAccessDeleteResponse slackListsAccessDelete(SlackListsAccessDeleteRequest req) throws IOException, SlackApiException {
return postFormWithTokenAndParseResponse(toForm(req), Methods.SLACKLISTS_ACCESS_DELETE, getToken(req), SlackListsAccessDeleteResponse.class);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package com.slack.api.methods.request.slackbot.skills;

import com.slack.api.methods.SlackApiRequest;
import com.slack.api.model.slackbot.SkillMcpServer;
import lombok.Builder;
import lombok.Data;

import java.util.List;

/**
* https://docs.slack.dev/reference/methods/slackbot.skills.update
*/
@Data
@Builder
public class SlackbotSkillsUpdateRequest implements SlackApiRequest {

/**
* Authentication token bearing required scopes. Tokens should be passed as an HTTP Authorization header or alternatively, as a POST parameter.
*/
private String token;

/**
* Skill to change.
*/
private String skillId;

/**
* Human-readable label. Max 255 characters.
*/
private String displayName;

/**
* Markdown that replaces the whole document.
*/
private String instructions;

/**
* When Slackbot should use the skill. Max 400 characters. Send an empty string to clear.
*/
private String description;

/**
* One of the skill categories. Send an empty string to clear.
* Acceptable values: `communication`, `customer_support`, `data_and_analytics`, `engineering`, `product_management`, `productivity`, `professional_development`, `project_management`, `sales`, `system`, `team_management`, `other`
*/
private String category;

/**
* Max 200 characters. May contain `{skill}`. Send an empty string to clear.
*/
private String examplePrompt;

/**
* Apps the skill needs. Replaces the whole list; send `[]` to clear.
*/
private List<SkillMcpServer> mcpServers;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.slack.api.methods.response.slackbot.skills;

import com.slack.api.methods.SlackApiTextResponse;
import com.slack.api.model.ResponseMetadata;
import com.slack.api.model.slackbot.Skill;
import com.slack.api.model.slackbot.SkillMcpServer;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class SlackbotSkillsUpdateResponse implements SlackApiTextResponse {

private boolean ok;
private String warning;
private String error;
private String needed;
private String provided;
private transient Map<String, List<String>> httpResponseHeaders;

private List<SkillMcpServer> invalidMcpServers;
private ResponseMetadata responseMetadata;
private Skill skill;
}
Loading
Loading