Slack Messenger



What if Pepper could help you increase your productivity at work? By linking the robot to a Slack channel, we will be able to send and receive messages by voice control thanks to Pepper.

Slack brings team communication and collaboration into one place so you can get more work done, whether you belong to a large enterprise or a small business. Check off your to-do list and move your projects forward by bringing the right people, conversations, tools, and information you need together.

  • Slack gets an unfair reputation for only being used as an instant chat messenger between teams and, while it is useful for that purpose, there are several other ways to use Slack to help you keep a pulse on many different aspects of your business each day.
  • Slack, the internal instant messaging channel for workplaces, announced that employers using premium plans will be able to access employees’ private conversations without notifying them.
  • Apple’s iMessage platform is getting a notable update with the release of iOS 14 and macOS’s Big Sur. At its virtual Worldwide Developer Conference keynote this morning, Apple announced the.
  • Simplify your team's communication with Zapier’s Slack integration. Zapier integrations, called Zaps, let Slack interact with other apps you use. You can automatically send messages when something happens in another app or use your Slack message to set off automated tasks. You can even use Zaps to spin up homemade, no-code bots.

Sending Slack messages via Pepper’s chatbot¶

This article is part of the API Challenge: Quentin, an intern at SBRE, is plugging various third-party technologies (web services or IoT devices) into Pepper. For each technology, he has one week to test it, make a demo on Pepper, and write up his experience. This is a way of checking how easy it is to integrate technology with Pepper.

How much time do you spend at work responding to your emails and messages on the different work-related channels you use? Wouldn’t it be nice to be able to answer these messages by voice while working on more important stuff? Well, thanks to Pepper, this is now something you can do!

For my second mission in the course of the API challenge, I granted my Pepper the ability to send messages I speak to a slack channel. This enhanced my understanding of the different web requests protocols (REST and WebSocket) and credentials handling. It also allowed me to build a sweet and pretty handy application for my personal Pepper, thus extending its abilities along with my experience. Here’s how I proceeded...

1. The Slack API, creating a Slack App and sending messages with Pepper¶

Slack Messenger

Slack has an inbuilt and yet simple API that is pretty helpful if you want to create apps functioning inside Slack such as chatbots or calendar apps.

I first created a dedicated Slack workspace and channel, not to pollute my coworker's workspace with tests and added an app to that workspace.

After a bit of research on the Slack API’s documentation, looking for a way to create an access between an Android Studio app and this Slack channel and to give the channel’s credentials to my app. I found a pretty easy and direct way to proceed. Indeed, Slack allows you to create, via the app, special URLs called Incoming Webhooks where your Android app can send REST requests in the form of JSON files to the slack app. I used Retrofit to pass a Post request to the webhook URL, similarly to what I did with the Worldwide holiday manager API on the previous article of the API challenge.

When a message is sent from a webhook to the channel, a response is always sent back, even if the message wasn’t correctly sent. This is pretty useful to verify if everything worked as it should. I used this response in a test class. When everything works fine, the response body should always be a single String: “ok”.

Thus, I managed pretty simply to send messages to the channel with voice-command, using a qiChat chatbot and an executor to link my code to it, as usual. If you don’t know how to do that, you should check on the Dev Center’s lesson about linking Qichat and code. And that’s it!

2. Going further: making a dynamic app, alerting you when messages are received¶

Now, thanks to this little app, I don’t have to type my Slack messages anymore which is perfect for a lazy interns like me! But why stop there?

What could be done next would be to enable Pepper to dynamically alert me whenever a user posts a message on the channel and then ask me if I want to answer. Unfortunately, this kind of dynamic interaction between two apps can hardly be done using REST requests, especially since an update from the Slack API which stopped supporting outgoing webhooks. Instead, the Slack API offers two different solutions:

  • the Events API;
  • the Real Time Manager (RTM) API.

The Event API is used to create a link between the Slack API and an online service located under another URL, this is not our case. So what about the RTM API? It is a WebSocket-based API used to create a “bridge” between your app and the Slack API. If you don’t know what a WebSocket is, this article explains it pretty well.

But, before starting to look for online libraries to use the RTM API on android studio, there is another issue to handle: how to provide credentials (unlike when using the Webhook, which uses a simple auto-generated URL)

I had to dig up a few information in the Slack API documentation. For authentication, Slack uses the OAuth 2.0 protocol. It is a token-based protocol which means that you need a special authentication token to enable the WebSocket connection. I obtained it by accessing a URL containing the app’s client id found in the app’s basic information, the team id found in the workspace information and the scopes you want your app to access.

The final step would be to open the WebSocket and the RTM connexion and to ensure that this connection is correctly made before sending and receiving messages from a Slack channel and you’ll never have to open your Slack tab again!

If you’re willing to learn how this can be done, I invite you to check on the Slack documentation about the RTM API and on these java libraries I found on github:

Get back on top of your messaging.

Franz is your messaging app for WhatsApp, Facebook Messenger, Slack, Telegram and many many more.

Download Franz for Windows

Download Franz for other platforms

Endless possibilities

Franz supports a great variety of business and private messaging & chat services like Slack, WhatsApp, WeChat, Messenger, Telegram, Google Hangouts, Skype, Zendesk and many more.

It does not matter if you just want to keep in touch with your friends or are managing a multi-seat customer care team. Franz got you covered.

Find a complete list of all supported services here

One service
unlimited accounts

Slack Messenger

Franz allows you to add each service many times. This makes Franz the perfect tool to manage multiple business and private accounts all at the same time. You could even use five different Facebook Messenger accounts at once, if some inexplicable reason urges you to do so.

The right tools for every situation

Set up multiple sets of services and easily switch between them at any time. More focus, less distraction!

Franz Workspaces help you create distraction-free work environments by making sure you’re only getting the notifications you absolutely need while working on a specific project. Setting up different Workspaces for business and private life is also an easy way to disconnect from work at home or on weekends, helping you maintain a healthy work-life balance.

MessengerSlack Messenger

Stay on top of your tasks

In any messaging service you’re using in Franz, select a word or sentence in a message and turn it into an item on your to-do list with two clicks. Just like that!

Give more structure to your time and workflow by organizing tasks in different lists – no matter if you’re assigning priorities to your to-dos or just want to keep work and private separate. Share shopping lists with family members and assign action steps to your team members at work.

Franz for Teams

You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.

Franz for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!

Parlez-vous français?

Franz is truly an emperor with exceptional communication skills. He is trained in almost every major language like English, German, French, Spanish, (Brazilian) Portuguese, Russian, Japanese and many many more. The amazing Franz community helps Franz to learn new things everyday and is constantly teaching him new languages to make Franz a truly personalized experience.

Full of features

  • And more than 1000 service integrations created by the Franz Community.

  • Desktop Notifications

    Franz will notify you about incoming messages directly in your Operating System.

  • Here is one for the night owls. Enjoy Franz in a beautiful night mode.

  • Workspaces

    Have multiple sets of services for private-, or business communication.

  • Control to the finest detail how you want to get notified for each service.

  • Multilingual

    Parlez-vous français? Franz is trained in almost every major language. Wunderbar!

  • Set up your account in one place and enjoy Franz from wherever you want.

  • Extensible

    The amazing Franz Community has created more than 1000 service integrations - just for you.

  • Add as many instances of a service as you want. Like 5 Facebook Messengers with different accounts. No questions asked.

  • Service Proxies

    Protect your privacy for every service individually or simply bypass government censorship.

  • Franz is available for Windows, Mac and Linux.

  • Spellchecker Support

    Try to write Donaudampf-schifffahrtskapitänsmütze corretly the first time.

Slack Messenger Login

Download Franz

Franz for Windows

Requires Windows 7 or newer
Download for Windows

Franz for MacOS

Requires 10.9 or newer
Download for Mac

What Is Slack Messenger

Franz for Linux

(Community Edition)

Slack Messenger Security

Current version:5.6.1 - Changelog

Slack App

Download Franz for Windows, Mac and Linux
Requires Windows 7 and newer or macOS 10.10 and newer

Slack Messenger App

Download Franz