Loading...
Loading...
Configure Slack integration for Cyrus — create a Slack app from manifest, then guide the user to save credentials.
npx skill4agent add cyrusagents/cyrus cyrus-setup-slackReadEditWrite~/.cyrus/.env~/.cyrus/Bashgrepprintf >>grep -E '^SLACK_BOT_TOKEN=' ~/.cyrus/.env 2>/dev/nullSLACK_BOT_TOKENSlack is already configured. Skipping this step. To reconfigure, removeandSLACK_BOT_TOKENfromSLACK_SIGNING_SECRETand re-run.~/.cyrus/.env
setup-endpointgrep '^CYRUS_BASE_URL=' ~/.cyrus/.env | cut -d= -f2-AGENT_NAMEAGENT_DESCRIPTION<AGENT_NAME><AGENT_DESCRIPTION><CYRUS_BASE_URL>/slack-webhook/slack/eventsSlackEventTransport{
"display_information": {
"name": "<AGENT_NAME>",
"description": "<AGENT_DESCRIPTION>",
"background_color": "#00240e"
},
"features": {
"bot_user": {
"display_name": "<AGENT_NAME>",
"always_online": true
}
},
"oauth_config": {
"redirect_urls": [
"<CYRUS_BASE_URL>/slack/oauth/callback"
],
"scopes": {
"user": [
"canvases:read",
"canvases:write",
"channels:history",
"chat:write",
"groups:history",
"im:history",
"mpim:history",
"users:read",
"users:read.email",
"reactions:write",
"search:read.public",
"search:read.private",
"search:read.mpim",
"search:read.im",
"search:read.files",
"search:read.users"
],
"bot": [
"groups:read",
"app_mentions:read",
"assistant:write",
"canvases:write",
"channels:history",
"channels:read",
"chat:write",
"chat:write.customize",
"groups:history",
"im:history",
"im:read",
"files:read",
"files:write",
"mpim:history",
"reactions:write",
"search:read.files",
"search:read.public",
"search:read.users",
"users:read",
"users:read.email",
"mpim:read"
]
},
"pkce_enabled": false
},
"settings": {
"event_subscriptions": {
"request_url": "<CYRUS_BASE_URL>/slack-webhook",
"bot_events": [
"app_mention",
"member_joined_channel",
"message.channels",
"message.groups",
"message.mpim",
"message.im"
]
},
"org_deploy_enabled": false,
"socket_mode_enabled": false,
"token_rotation_enabled": false
}
}claude-in-chromeagent-browsermcp__claude-in-chrome__*agent-browseragent-browser navigate "https://api.slack.com/apps"agent-browser click "button:text('Create New App')"agent-browser click "button:text('From a manifest')"agent-browser click "button:text('Next')"agent-browser click "button:text('JSON')"agent-browser eval "var editor = document.querySelector('textarea, [role=\"textbox\"], .ace_editor textarea, .CodeMirror textarea'); if (editor) { var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype, 'value').set; nativeInputValueSetter.call(editor, JSON.stringify(<MANIFEST_JSON>, null, 2)); editor.dispatchEvent(new Event('input', { bubbles: true })); 'pasted'; } else { 'editor not found'; }"agent-browser click "textarea"
agent-browser keyboard "Control+a"
agent-browser type '<MANIFEST_JSON_STRING>'agent-browser click "button:text('Next')"agent-browser click "button:text('Create')"Create a Slack App
- Go to https://api.slack.com/apps
- Click Create New App
- In the modal, select From a manifest
- Pick the workspace you want to associate the app with
- Click Next
- Select JSON format and paste the following manifest:
- Click Next, review the summary, then click Create
- In your Slack app settings, go to Install App in the left sidebar
- Click Install to Workspace
- Click Allow
grep -q '^SLACK_BOT_TOKEN=' ~/.cyrus/.env || echo 'SLACK_BOT_TOKEN=' >> ~/.cyrus/.env
grep -q '^SLACK_SIGNING_SECRET=' ~/.cyrus/.env || echo 'SLACK_SIGNING_SECRET=' >> ~/.cyrus/.env# macOS
code --new-window ~/.cyrus/.env 2>/dev/null || open -a TextEdit ~/.cyrus/.env
# Linux
code --new-window ~/.cyrus/.env 2>/dev/null || xdg-open ~/.cyrus/.envI've opened. You need to paste two values:~/.cyrus/.env
Bot User OAuth Token — go to your app's OAuth & Permissions page, copy the Bot User OAuth Token (starts with), and paste it afterxoxb-SLACK_BOT_TOKEN= Signing Secret — go to your app's Basic Information page, scroll to App Credentials, click Show next to Signing Secret, copy it, and paste it afterSLACK_SIGNING_SECRET=Save and close the file when done.
grep -c '^SLACK_BOT_TOKEN=.' ~/.cyrus/.env
grep -c '^SLACK_SIGNING_SECRET=.' ~/.cyrus/.env.=✓ Slack app created from manifest and installed ✓ Bot token and signing secret saved to~/.cyrus/.env
request_url