Skip to content
Closed
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
17 changes: 17 additions & 0 deletions methods/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,13 @@ $ mvn compile exec:java -Dexec.mainClass=chat.ChatPostMessage # Make the reques

## What's on call

### admin

- **[admin.slackbot.skills.list](https://docs.slack.dev/reference/methods/admin.slackbot.skills.list)**: Lists metadata for skills owned by the organization, including invite-only skills. [Implementation](./src/main/java/admin/slackbot/skills/AdminSlackbotSkillsList.java).
- **[admin.slackbot.skills.publish](https://docs.slack.dev/reference/methods/admin.slackbot.skills.publish)**: Publishes Slackbot skills to an organization's catalog. [Implementation](./src/main/java/admin/slackbot/skills/AdminSlackbotSkillsPublish.java).
- **[admin.slackbot.skills.setAutoEnabled](https://docs.slack.dev/reference/methods/admin.slackbot.skills.setAutoEnabled)**: Sets who a Slackbot skill is automatically turned on for. [Implementation](./src/main/java/admin/slackbot/skills/AdminSlackbotSkillsSetAutoEnabled.java).
- **[admin.slackbot.skills.unpublish](https://docs.slack.dev/reference/methods/admin.slackbot.skills.unpublish)**: Removes Slackbot skills from the org catalog, preserving access, libraries, and deployments. [Implementation](./src/main/java/admin/slackbot/skills/AdminSlackbotSkillsUnpublish.java).

### agents

- **[agents.conversations.archive](https://docs.slack.dev/reference/methods/agents.conversations.archive)**: Archive a code channel. [Implementation](./src/main/java/agents/conversations/AgentsConversationsArchive.java).
Expand Down Expand Up @@ -43,3 +50,13 @@ $ mvn compile exec:java -Dexec.mainClass=chat.ChatPostMessage # Make the reques

- **[chat.postMessage](https://docs.slack.dev/reference/methods/chat.postmessage)**: Sends a message to a channel. [Implementation](./src/main/java/chat/ChatPostMessage.java).

### slackbot

- **[slackbot.skills.create](https://docs.slack.dev/reference/methods/slackbot.skills.create)**: Creates a skill from markdown instructions, or turns an existing canvas the caller owns into a skill. [Implementation](./src/main/java/slackbot/skills/SlackbotSkillsCreate.java).
- **[slackbot.skills.delete](https://docs.slack.dev/reference/methods/slackbot.skills.delete)**: Deletes a Slackbot skill and its canvas, and removes it from every library, skill set, and the org catalog. [Implementation](./src/main/java/slackbot/skills/SlackbotSkillsDelete.java).
- **[slackbot.skills.info](https://docs.slack.dev/reference/methods/slackbot.skills.info)**: Returns one Slackbot skill, including its instructions. [Implementation](./src/main/java/slackbot/skills/SlackbotSkillsInfo.java).
- **[slackbot.skills.library.add](https://docs.slack.dev/reference/methods/slackbot.skills.library.add)**: Turns a skill on in the caller's personal library. [Implementation](./src/main/java/slackbot/skills/library/SlackbotSkillsLibraryAdd.java).
- **[slackbot.skills.library.remove](https://docs.slack.dev/reference/methods/slackbot.skills.library.remove)**: Turns a skill off in the caller's personal library. [Implementation](./src/main/java/slackbot/skills/library/SlackbotSkillsLibraryRemove.java).
- **[slackbot.skills.list](https://docs.slack.dev/reference/methods/slackbot.skills.list)**: Lists Slackbot skills from the caller's point of view. Instructions are not included. [Implementation](./src/main/java/slackbot/skills/SlackbotSkillsList.java).
- **[slackbot.skills.update](https://docs.slack.dev/reference/methods/slackbot.skills.update)**: Changes a Slackbot skill's instructions or metadata. Only the inputs you send are changed; a call that changes nothing succeeds without writing. [Implementation](./src/main/java/slackbot/skills/SlackbotSkillsUpdate.java).

Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package admin.slackbot.skills;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.admin.slackbot.skills.AdminSlackbotSkillsListRequest;

Check failure on line 6 in methods/src/main/java/admin/slackbot/skills/AdminSlackbotSkillsList.java

View workflow job for this annotation

GitHub Actions / maven@java17 (methods)

package com.slack.api.methods.request.admin.slackbot.skills does not exist
import com.slack.api.methods.response.admin.slackbot.skills.AdminSlackbotSkillsListResponse;

Check failure on line 7 in methods/src/main/java/admin/slackbot/skills/AdminSlackbotSkillsList.java

View workflow job for this annotation

GitHub Actions / maven@java17 (methods)

package com.slack.api.methods.response.admin.slackbot.skills does not exist
import java.io.IOException;
import java.util.Arrays;

public class AdminSlackbotSkillsList {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the admin.slackbot.skills.list method
AdminSlackbotSkillsListRequest request = AdminSlackbotSkillsListRequest.builder()
.autoEnabledStatus("all")
.category("productivity")
.creatorIds(Arrays.asList("U0123ABCD"))
.limit(100)
.publishStatus("all")
.sort("name")
.sortDir("asc")
.build();
AdminSlackbotSkillsListResponse response = methods.adminSlackbotSkillsList(request);

// Inspect the response
System.out.println(response);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package admin.slackbot.skills;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.admin.slackbot.skills.AdminSlackbotSkillsPublishRequest;

Check failure on line 6 in methods/src/main/java/admin/slackbot/skills/AdminSlackbotSkillsPublish.java

View workflow job for this annotation

GitHub Actions / maven@java17 (methods)

package com.slack.api.methods.request.admin.slackbot.skills does not exist
import com.slack.api.methods.response.admin.slackbot.skills.AdminSlackbotSkillsPublishResponse;

Check failure on line 7 in methods/src/main/java/admin/slackbot/skills/AdminSlackbotSkillsPublish.java

View workflow job for this annotation

GitHub Actions / maven@java17 (methods)

package com.slack.api.methods.response.admin.slackbot.skills does not exist
import java.io.IOException;
import java.util.Arrays;

public class AdminSlackbotSkillsPublish {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the admin.slackbot.skills.publish method
AdminSlackbotSkillsPublishRequest request = AdminSlackbotSkillsPublishRequest.builder()
.skillIds(Arrays.asList("F0123ABCD"))
.build();
AdminSlackbotSkillsPublishResponse response = methods.adminSlackbotSkillsPublish(request);

// Inspect the response
System.out.println(response);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package admin.slackbot.skills;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.admin.slackbot.skills.AdminSlackbotSkillsSetAutoEnabledRequest;

Check failure on line 6 in methods/src/main/java/admin/slackbot/skills/AdminSlackbotSkillsSetAutoEnabled.java

View workflow job for this annotation

GitHub Actions / maven@java17 (methods)

package com.slack.api.methods.request.admin.slackbot.skills does not exist
import com.slack.api.methods.response.admin.slackbot.skills.AdminSlackbotSkillsSetAutoEnabledResponse;

Check failure on line 7 in methods/src/main/java/admin/slackbot/skills/AdminSlackbotSkillsSetAutoEnabled.java

View workflow job for this annotation

GitHub Actions / maven@java17 (methods)

package com.slack.api.methods.response.admin.slackbot.skills does not exist
import java.io.IOException;
import java.util.Arrays;

public class AdminSlackbotSkillsSetAutoEnabled {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the admin.slackbot.skills.setAutoEnabled method
AdminSlackbotSkillsSetAutoEnabledRequest request = AdminSlackbotSkillsSetAutoEnabledRequest.builder()
.permissionType("named_entities")
.skillId("F0123ABCD")
.usergroupIds(Arrays.asList("S0123ABCD"))
.build();
AdminSlackbotSkillsSetAutoEnabledResponse response = methods.adminSlackbotSkillsSetAutoEnabled(request);

// Inspect the response
System.out.println(response);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package admin.slackbot.skills;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.admin.slackbot.skills.AdminSlackbotSkillsUnpublishRequest;

Check failure on line 6 in methods/src/main/java/admin/slackbot/skills/AdminSlackbotSkillsUnpublish.java

View workflow job for this annotation

GitHub Actions / maven@java17 (methods)

package com.slack.api.methods.request.admin.slackbot.skills does not exist
import com.slack.api.methods.response.admin.slackbot.skills.AdminSlackbotSkillsUnpublishResponse;

Check failure on line 7 in methods/src/main/java/admin/slackbot/skills/AdminSlackbotSkillsUnpublish.java

View workflow job for this annotation

GitHub Actions / maven@java17 (methods)

package com.slack.api.methods.response.admin.slackbot.skills does not exist
import java.io.IOException;
import java.util.Arrays;

public class AdminSlackbotSkillsUnpublish {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the admin.slackbot.skills.unpublish method
AdminSlackbotSkillsUnpublishRequest request = AdminSlackbotSkillsUnpublishRequest.builder()
.skillIds(Arrays.asList("F0123ABCD"))
.build();
AdminSlackbotSkillsUnpublishResponse response = methods.adminSlackbotSkillsUnpublish(request);

// Inspect the response
System.out.println(response);
}
}
16 changes: 16 additions & 0 deletions methods/src/main/java/admin/slackbot/skills/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"display_information": {
"name": "Slack API Methods",
"description": "Example implementations to call \"admin.slackbot.skills\" methods"
},
"oauth_config": {
"scopes": {
"user": ["admin.skills:read", "admin.skills:write"]
}
},
"settings": {
"org_deploy_enabled": true,
"socket_mode_enabled": true,
"token_rotation_enabled": false
}
}
39 changes: 39 additions & 0 deletions methods/src/main/java/slackbot/skills/SlackbotSkillsCreate.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package slackbot.skills;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsCreateRequest;

Check failure on line 6 in methods/src/main/java/slackbot/skills/SlackbotSkillsCreate.java

View workflow job for this annotation

GitHub Actions / maven@java17 (methods)

package com.slack.api.methods.request.slackbot.skills does not exist
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsCreateResponse;

Check failure on line 7 in methods/src/main/java/slackbot/skills/SlackbotSkillsCreate.java

View workflow job for this annotation

GitHub Actions / maven@java17 (methods)

package com.slack.api.methods.response.slackbot.skills does not exist
import com.slack.api.model.slackbot.SkillMcpServer;
import java.io.IOException;
import java.util.Arrays;

public class SlackbotSkillsCreate {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the slackbot.skills.create method
SlackbotSkillsCreateRequest request = SlackbotSkillsCreateRequest.builder()
.category("productivity")
.description("Reviews information from Slack and your calendar to suggest priorities for the day.")
.displayName("Daily priorities")
.examplePrompt("Run {skill} for today")
.instructions("# Purpose\nSuggest the three most important things to work on today.")
.mcpServers(Arrays.asList(SkillMcpServer.builder()
.appId("A0123ABCD")
.serverId("Amcp0456EFGH")
.serviceType("app")
.build()))
.build();
SlackbotSkillsCreateResponse response = methods.slackbotSkillsCreate(request);

// Inspect the response
System.out.println(response);
}
}
27 changes: 27 additions & 0 deletions methods/src/main/java/slackbot/skills/SlackbotSkillsDelete.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package slackbot.skills;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsDeleteRequest;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsDeleteResponse;
import java.io.IOException;

public class SlackbotSkillsDelete {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the slackbot.skills.delete method
SlackbotSkillsDeleteRequest request =
SlackbotSkillsDeleteRequest.builder().skillId("F0123ABCD").build();
SlackbotSkillsDeleteResponse response = methods.slackbotSkillsDelete(request);

// Inspect the response
System.out.println(response);
}
}
27 changes: 27 additions & 0 deletions methods/src/main/java/slackbot/skills/SlackbotSkillsInfo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package slackbot.skills;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsInfoRequest;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsInfoResponse;
import java.io.IOException;

public class SlackbotSkillsInfo {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the slackbot.skills.info method
SlackbotSkillsInfoRequest request =
SlackbotSkillsInfoRequest.builder().skillId("F0123ABCD").build();
SlackbotSkillsInfoResponse response = methods.slackbotSkillsInfo(request);

// Inspect the response
System.out.println(response);
}
}
30 changes: 30 additions & 0 deletions methods/src/main/java/slackbot/skills/SlackbotSkillsList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package slackbot.skills;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsListRequest;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsListResponse;
import java.io.IOException;

public class SlackbotSkillsList {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the slackbot.skills.list method
SlackbotSkillsListRequest request = SlackbotSkillsListRequest.builder()
.category("productivity")
.filter("library")
.limit(100)
.build();
SlackbotSkillsListResponse response = methods.slackbotSkillsList(request);

// Inspect the response
System.out.println(response);
}
}
40 changes: 40 additions & 0 deletions methods/src/main/java/slackbot/skills/SlackbotSkillsUpdate.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package slackbot.skills;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.slackbot.skills.SlackbotSkillsUpdateRequest;
import com.slack.api.methods.response.slackbot.skills.SlackbotSkillsUpdateResponse;
import com.slack.api.model.slackbot.SkillMcpServer;
import java.io.IOException;
import java.util.Arrays;

public class SlackbotSkillsUpdate {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the slackbot.skills.update method
SlackbotSkillsUpdateRequest request = SlackbotSkillsUpdateRequest.builder()
.category("productivity")
.description("Reviews information from Slack and your calendar to suggest priorities for the day.")
.displayName("Daily priorities")
.examplePrompt("Run {skill} for today")
.instructions("# Purpose\nSuggest the three most important things to work on today.")
.mcpServers(Arrays.asList(SkillMcpServer.builder()
.appId("A0123ABCD")
.serverId("Amcp0456EFGH")
.serviceType("app")
.build()))
.skillId("F0123ABCD")
.build();
SlackbotSkillsUpdateResponse response = methods.slackbotSkillsUpdate(request);

// Inspect the response
System.out.println(response);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package slackbot.skills.library;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.slackbot.skills.library.SlackbotSkillsLibraryAddRequest;
import com.slack.api.methods.response.slackbot.skills.library.SlackbotSkillsLibraryAddResponse;
import java.io.IOException;

public class SlackbotSkillsLibraryAdd {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the slackbot.skills.library.add method
SlackbotSkillsLibraryAddRequest request =
SlackbotSkillsLibraryAddRequest.builder().skillId("F0123ABCD").build();
SlackbotSkillsLibraryAddResponse response = methods.slackbotSkillsLibraryAdd(request);

// Inspect the response
System.out.println(response);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package slackbot.skills.library;

import com.slack.api.Slack;
import com.slack.api.methods.MethodsClient;
import com.slack.api.methods.SlackApiException;
import com.slack.api.methods.request.slackbot.skills.library.SlackbotSkillsLibraryRemoveRequest;
import com.slack.api.methods.response.slackbot.skills.library.SlackbotSkillsLibraryRemoveResponse;
import java.io.IOException;

public class SlackbotSkillsLibraryRemove {

public static void main(String[] args) throws IOException, SlackApiException {
// Read a token from an environment variable
String token = System.getenv("SLACK_TOKEN");

// Initialize
MethodsClient methods = Slack.getInstance().methods(token);

// Call the slackbot.skills.library.remove method
SlackbotSkillsLibraryRemoveRequest request = SlackbotSkillsLibraryRemoveRequest.builder()
.skillId("F0123ABCD")
.build();
SlackbotSkillsLibraryRemoveResponse response = methods.slackbotSkillsLibraryRemove(request);

// Inspect the response
System.out.println(response);
}
}
Loading
Loading