Note: Although it is possible to install R through conda, we highly recommend not doing so. In case you have already installed R using conda you can remove it by executing conda uninstall r-base. Some R packages rely on the dependency XQuartz which no longer ships with the Mac OS, thus we need to install it separately. Mac OS X 10.11 El Capitan Setup. Cask install hipchat brew cask install joinme brew cask install livereload brew cask install quicksilver brew cask install slack.
Table of Contents
- Sign In to Workspaces
This document provides information on installing and signing in to the Slack application on your various devices (U-M and non-UM).
To install Slack on your device, determine which type of device you have, and follow the corresponding instructions:
If MiWorkspace manages your computer, you can download Slack from the Software Center (Windows/PC) or Managed Software Center (Mac).
Personal Computer or Other Non-MiWorkspace Computer
To install Slack on a computer that MiWorkspace does not manage:
For Linux (beta)
iOS Device (iPhone, iPad, etc.)
You can install Slack from the Apple App Store.
You can install Slack from the Google Play store.
Sign In to Workspaces
After installing the Slack application on your device, you can sign in to a U-M Slack workspace. As a reminder, you must create your U-M Slack account before you can sign in to or accept invites to other U-M Slack workspaces. If you receive an invitation to a U-M Slack workspace before you have created your U-M Slack account, you will not be able to access the link and accept the invite until you do so.
Sign in for the first time
If you have never signed in to the Slack app before, follow the instructions below.
- Open the Slack desktop app and click Sign In to Slack. A new window/tab will open in your web browser.
- Enter your @umich.edu email address in the text field and click Sign In with Email.
- Check your email for a confirmation code from Slack and enter it in the field provided.
- Check the “University of Michigan” box and click Open (if applicable).
- Sign in to U-M Weblogin using your uniqname and UMICH (Level-1) password.
- Find the workspace you would like to join under Your Workspaces and click Launch in Slack. You will be redirected back to your Slack desktop app, where you will now see the workspace.
After joining one workspace, any additional U-M Slack workspaces you have been invited to should appear automatically on the left side of your desktop app. If they do not, refer to “Sign in to another workspace” below for instructions.
Sign in to another workspace
If additional U-M Slack workspaces of which you are a member do not automatically appear in the desktop app, follow the instructions below to add another workspace.
- Click the plus sign (“+”) toward the bottom of the far left sidebar in the Slack desktop app.
- Select Find more University of Michigan workspaces from the drop-down menu.
- Find the workspace you would like to join under Your Workspaces and click Open. The workspace should now appear in the far left sidebar of your desktop app.
If you had previously signed in to a non-UM Slack workspace in the desktop app prior to joining U-M Slack, follow the instructions below to add a U-M Slack workspace.
- Click the workspace name in the top left corner of the Slack desktop app.
- Select Add workspaces from the drop-down menu, then click Sign in to another workspace.
Slack Install Macos Os
Sign in for the first time
If you have never signed in to the Slack mobile app before, follow the instructions below.
- Tap the Slack mobile app icon from your apps to open.
- Tap Get Started and then tap Continue with Email.
- Enter your @umich.edu email address in the field provided and tap Next. A confirmation email will be sent to your @umich.edu email account.
- Check your email for a message with the subject line “Confirm your email address on Slack” on your mobile device and tap the Confirm Email Address button.
- Check the box next to University of Michigan and tap Next.
- Tap Sign In with U-M Weblogin. You may need to tap an additional “Sign In with U-M Weblogin” button before being redirected to U-M Weblogin.
- Sign in to U-M Weblogin using your uniqname and UMICH (Level-1) password. You may also need to authenticate with Duo two-factor authentication.
After signing in to U-M Slack, any additional U-M Slack workspaces you have been invited to should appear automatically on the left side of your mobile app. If they do not, refer to “Sign in to another workspace” below for instructions.
Sign in to another workspace
- Swipe right from the Home tab (house icon) in the Slack mobile app.
- Tap Add a workspace under the workspace(s) to which you’re already signed in.
- Tap Sign in to another workspace.
- Select your @umich.edu email address. (You may need to check your email for a confirmation message and tap Confirm Email Address to return to the Slack app.)
- Tap Join next to the workspace you’d like to add to your Slack mobile app.
On web browser
For steps on signing in to a U-M Slack workspace via your web browser, refer to the Slack Help Center.
When you’re finished, you’ll have this ⚡️Getting Started app to run, modify, and make your own.
Create an app
First thing’s first: before you start developing with Bolt, you’ll want to create a Slack app.
💡 We recommend using a workspace where you won’t disrupt real work getting done — you can create a new one for free.
After you fill out an app name (you can change it later) and pick a workspace to install it to, hit the
Create App button and you’ll land on your app’s Basic Information page.
This page contains an overview of your app in addition to important credentials you’ll need later, like the
Signing Secret under the App Credentials header.
Look around, add an app icon and description, and then let’s start configuring your app. 🔩
Tokens and installing apps
Slack apps use OAuth to manage access to Slack’s APIs. When an app is installed, you’ll receive a token that the app can use to call API methods.
There are three main token types available to a Slack app: user (
xoxp), bot (
xoxb), and app (
- User tokens allow you to call API methods on behalf of users after they install or authenticate the app. There may be several user tokens for a single workspace.
- Bot tokens are associated with bot users, and are only granted once in a workspace where someone installs the app. The bot token your app uses will be the same no matter which user performed the installation. Bot tokens are the token type that most apps use.
- App-level tokens represent your app across organizations, including installations by all individual users on all workspaces in a given organization and are commonly used for creating websocket connections to your app.
We’re going to use bot and app tokens for this guide.
Navigate to the OAuth & Permissions on the left sidebar and scroll down to the Bot Token Scopes section. Click Add an OAuth Scope.
For now, we’ll just add one scope:
chat:write. This grants your app the permission to post messages in channels it’s a member of.
Scroll up to the top of the OAuth & Permissions page and click Install App to Workspace. You’ll be led through Slack’s OAuth UI, where you should allow your app to be installed to your development workspace.
Once you authorize the installation, you’ll land on the OAuth & Permissions page and see a Bot User OAuth Access Token.
💡 Treat your token like a password and keep it safe. Your app uses it to post and retrieve information from Slack workspaces.
Setting up your project
With the initial configuration handled, it’s time to set up a new Bolt project. This is where you’ll write the code that handles the logic for your app.
If you don’t already have a project, let’s create a new one. Create an empty directory and initialize a new project:
You’ll be prompted with a series of questions to describe your new project (you can accept the defaults by hitting Enter on each prompt if you aren’t picky). After you’re done, you’ll have a new
package.json file in your directory.
- Copy your Signing Secret from the Basic Information page and then store it in a new environment variable. The following example works on Linux and macOS; but similar commands are available on Windows.
- Copy your bot (xoxb) token from the OAuth & Permissions page and store it in another environment variable.
🔒 Remember to keep your tokens and signing secret secure. At a minimum, you should avoid checking them into public version control, and access them via environment variables as we’ve done above. Checkout the API documentation for more on best practices for app security.
Now, let’s create your app. Install the
@slack/bolt package and save it to your
package.json dependencies using the following command:
Create a new entrypoint file called
app.js in this directory and add the following code:
app.js file, then on the command line run the following:
Your app should let you know that it’s up and running. 🎉
Setting up events
Your app behaves similarly to people on your team — it can post messages, add emoji reactions, and listen and respond to events.
To listen for events happening in a Slack workspace (like when a message is posted or when a reaction is posted to a message) you’ll use the Events API to subscribe to event types. For this guide, we are going to be using Socket Mode, our recommended option for those just getting started and building something for their team.
💡 Socket Mode lets apps use the Events API and interactive components without exposing a public HTTP endpoint. This can be helpful during development, or if you’re receiving requests from behind a firewall. HTTP is more useful for apps being deployed to hosting environments (like AWS or Heroku), or apps intended for distribution via the Slack App Directory. To continue this setting up guide with HTTP, head over here.
Okay, let’s enable Socket Mode:
Head to your app’s configuration page (click on the app from your app management page). Navigate to Socket Mode on the left side menu and toggle to enable.
Go to Basic Information and scroll down under the App Token section and click Generate Token and Scopes to generate an app token. Add the
connections:writescope to this token and save the generated
xapptoken, we’ll use that in just a moment.
Finally, it’s time to tell Slack what events we’d like to listen for. Under Event Subscriptions, toggle the switch labeled Enable Events.
When an event occurs, Slack will send your app information about the event, like the user that triggered it and the channel it occurred in. Your app will process the details and can respond accordingly.
Scroll down to Subscribe to Bot Events. There are four events related to messages:
message.channelslistens for messages in public channels that your app is added to
message.groupslistens for messages in 🔒 private channels that your app is added to
message.imlistens for messages in your app’s DMs with users
message.mpimlistens for messages in multi-person DMs that your app is added to
If you want your bot to listen to messages from everywhere it is added to, choose all four message events. After you’ve selected the events you want your bot to listen to, click the green Save Changes button.
Back in your project, make sure to store the
xapp token you saved earlier in your environment.
Make a simple change to your Bolt initialization code and restart the app.
Listening and responding to a message
Your app is now ready for some logic. Let’s start by using the
message() method to attach a listener for messages.
The following example listens and responds to all messages in channels/DMs where your app has been added that contain the word “hello”:
If you restart your app, so long as your bot user has been added to the channel/DM, when you send any message that contains “hello”, it will respond.
This is a basic example, but it gives you a place to start customizing your app based on your own goals. Let’s try something a little more interactive by sending a button rather than plain text.
Sending and responding to actions
To use features like buttons, select menus, datepickers, modals, and shortcuts, you’ll need to enable interactivity. Head over to Interactivity & Shortcuts in your app configuration.
💡 You’ll notice that with Socket Mode on, basic interactivity is enabled for us by default, so no further action here is needed. If you’re using HTTP, you’ll need to supply a Request URL for Slack to send events to.
When interactivity is enabled, interactions with shortcuts, modals, or interactive components (such as buttons, select menus, and datepickers) will be sent to your app as events.
Now, let’s go back to your app’s code and add logic to handle those events:
- First, we’ll send a message that contains an interactive component (in this case a button).
- Next, we’ll listen for the action of a user clicking the button before responding
Below, the code from the last section is modified to send a message containing a button rather than just a string:
The value inside of
say() is now an object that contains an array of
blocks. Blocks are the building components of a Slack message and can range from text to images to datepickers. In this case, your app will respond with a section block that includes a button as an accessory. Since we’re using
text is a fallback for notifications and accessibility.
You’ll notice in the button
accessory object, there is an
action_id. This will act as a unique identifier for the button so your app can specify what action it wants to respond to.
💡 The Block Kit Builder is a simple way to prototype your interactive messages. The builder lets you (or anyone on your team) mockup messages and generates the corresponding JSON that you can paste directly in your app.
Now, if you restart your app and say “hello” in a channel your app is in, you’ll see a message with a button. But if you click the button, nothing happens (yet!).
Let’s add a handler to send a followup message when someone clicks the button:
You can see that we used
app.action() to listen for the
action_id that we named
button_click. If you restart your app and click the button, you’ll see a new message from your app that says you clicked the button.
Install Mac Os On Pc
Slack Install Mac Os El Capitan
Now that you have a basic app up and running, you can start exploring how to make your Bolt app stand out. Here are some ideas about what to explore next:
Read through the Basic concepts to learn about the different methods and features your Bolt app has access to.
Explore the different events your bot can listen to with the
events()method. All of the events are listed on the API site.
Bolt allows you to call Web API methods with the client attached to your app. There are over 220 methods on our API site.
Learn more about the different token types on our API site. Your app may need different tokens depending on the actions you want it to perform. For apps that do not use Socket Mode, typically only a bot (
xoxb) token is required. For example of this, see Getting Started with HTTP.