You must enable javascript in order to use Slack. You can do this in your browser settings.
Go to Slack

Building internal integrations for your workspace

The rundown
Read this if:You're still experimenting, prototyping, and exploring.
Read first:Managing Slack apps
Read next:Introducing Block Kit

It's your Slack workspace. You want it to work with you. To work for you.

One way is to make integrations, bots, and other tools— just for your workspace. You can build with your team for your team. Or go it alone.

Here's what you can do with internal integrations on Slack.

Simple building blocks

Internal integrations can do what Slack apps can do. Internal integrations are Slack apps. They just integrate with the stuff you want them to.

  • Incoming webhooks provide the easiest way to send a message or notification. And you can make them interactive too. Perfect for cron jobs, batch scripts, or invoking from your internal bug trackers, build systems, and other process management tools.
  • Bot users are a special kinds of users that observe & respond to conversational interactions in channels and direct messages. They are usually powered by a combination of the Web API and the Events API or the RTM API. Make work human again.
  • Slash commands are triggered by users from within Slack. They're ideal for invoking actions like filing bug reports, initiating a deploy, or building ways to check in on the current health of your systems.
  • The Web API is a collection of HTTP RPC methods for reading, writing, and transforming data and messages on Slack. You can do a little bit of everything and it's like the glue that binds a reasonably complex Slack app together.
  • The Events and RTM APIs allow your app to receive data around a workspace in near real time. With the RTM API, your server opens a websocket connection with Slack and receives a firehose of data. With the Events API, Slack sends your server HTTP requests for each event you're subscribed to.
  • Restrict Web API access to only IP addresses you trust using IP whitelisting.

Easy installation

When you're building just for your workspace, installing a Slack app is as easy clicking an install button. No one needs to learn OAuth if they don't want to.

Of course, OAuth is still here for you when you need it and you don't have to distribute your app to other workspaces to use it.

Sign in with Slack is one way to allow your members to sign in to an internal application with their Slack credentials.

Just how easy is it?

You can say hello to your Slack workspace's world in just a few clicks. Maybe you'll have to press enter. Our tutorial shows you how to swiftly send messages using incoming webhooks.

What can you build?

It all depends on what your needs are. Use integrations to tie systems together, customize employee onboarding, reinforce cultural rituals, and send out those TPS reports everyone loves.

For an idea of what you can do with the Events API and an onboarding app, check out this example.

A special rule just for you

SSL is recommended but not required

SSL is important, yes? Prevents all kinds of bad situations. But it does get in the way of developing locally or just sending a few requests to that server in the basement.

Accordingly, your internal integrations don't require SSL support on Events API request URLs, slash command invocations, interactive message action URLs, or OAuth redirect URLs.

If you ever decide your app should be shared with another team — even another team that's part of your Enterprise Grid, you'll need to support SSL for all these things.

Slack also supports several ways to verify the authenticity of its requests to your app. Read more in the verifying requests from Slack documentation.