Increase Your Project Efficiency with Slack Integration
Founded by Stewart Butterfield, Slack is a collaboration hub- a cloud-based set of proprietary team collaboration tools & services that makes communication faster & better.
Slack is an acronym for “Searchable Log of All Conversation and Knowledge”.
“Slack is a place where your team comes together to collaborate, important information can be found by the right people, and your tools pipe in information when and where you need it” that’s how Slack is branded on its official website.
Slack offers many features, including persistent chat rooms (channels) organised by topic, private groups and direct messaging. All content inside Slack is can be searched with ease, including files, people, and conversations. These basic terms will help you understand Slack better-
Slack teams allow communities, groups, or other teams to join through a specific URL or invitation sent by the owner/team admin.
Slack channels are where most of the team’s conversations and daily work take place. They can be organised around projects, purposes, subjects or anything. One can create as many channels as they need.
In Slack, there are three kinds of channels-
i) Public Channels
Allows team members to communicate without relying on email or group SMS (texting). They are open to all people in the chat, given they have first been invited to join the client.
ii) Private Channels
Allows for private conversation between smaller divisions of the overall group. Private channels can be used to break down large teams into their respective projects.
iii) Shared Channels (beta)
They’re just like a bridge, connecting a channel in your workspace with some other company’s Slack workspace. Shared channels, public or private, makes a great space to communicate with external contacts. A shared channel can be spotted with a double diamond icon, placed next to its name.
Other than public, private or shared channel, there are direct messages which allow users to send private messages to a specific user rather than a group of people.
Slack integrates with several third-party services and supports community-built integrations. Notable integrations include services such as Google Drive, IBM Bluemix, Dropbox, Box, Trello, Heroku, GitHub, Crashlytics, Zendesk, Runscope, and Zapier.
Slack is capable of working with the tools and services you already use every day. Push important info or take action without leaving Slack.
This blog demonstrates Slack App integration & perform following basic actions that could be very useful-
1) Create a Slack app, configure webhook and create different slash commands.
2) Subscribe to different events on Slack.
3) Render a form on Slack and submit the form with details.
Let’s dig deeper-
1) How to create a slack app, configure webhook and create different slash commands
i) Create a new Slack Workspace here: https://slack.com/create
ii) Create a new Slack App here: https://api.slack.com/apps
iii) In Incoming Webhooks: Activate incoming webhooks and add a new webhook to workspace.
iv) In Interactive Components: Grab the https forwarding address of ngrok and set that as the request URL. Example: https://23a12das.ngrok.io
v) In Slash Commands: Create a testapp command, grab the same ngrok address and set that as the request URL. Example: https://23a12das.ngrok.io
vi) In OAuth and Permissions-
- Add a new redirect URL: http://localhost:8000/oauth-callback/ is:open
- Add the following scopes: bot, commands, users:read, users:read.email, channels:write,
vii) In `Bot Users`: Add a bot user.
2) How to subscribe to different events on Slack
i) Add the Request URL /event/. Example: https://23a12das.ngrok.io/event/
ii) Add events to which you would wish to subscribe.
3) How to render a form on Slack and submit the form with details
i) Receive Slash Command events from Slack
Slack will send a POST request to the Slash Command request URL provided in the app settings. This request will include the text sent along with the Slash Command. (e.g. /timesheet [text-sent])
ii) Pseudocode for rendering a form
Make a post request to url “https://slack.com/api/dialog.open” with data as specified above which would render a form on slack.
iii) When the user submits the Dialog, Slack will send a POST request with form data to the Interactive Component request URL provided in the app settings.
There could be various useful applications of Slack API Integration in an organisation. Some of them are listed below-
1) Fill Timesheet in an Organisation
At the end of day generally employees need to update their work status on a separate website.
In that case, you could have a slash command which looks like “/timesheet update” and manage this command at the back-end to render a form on slack which would allow you to update all details in the timesheet.
Furthermore, you can have more commands like “/timesheet status” which would return timesheet entries for the current week.
2) Raise Hardware Issue Which Would Get Forwarded to the Hardware Department
You can have a command which would look like “/HardwareTicket create”. At the back-end this command could be managed to perform action which would notify the hardware department of the organisation. Furthermore, this could be handled in such a way that hardware department changes the status of ticket the user would get notified on slack and a ticket ID would be returned.
User can then check the status of ticket with a command which would look like “/HardwareTicket status ticket_id”
3) Check Attendance
Like the above two application, you can configure same integration for attendance. Create a slash command which would look like “/Attendance week” which would return the attendance for the current week.
& a command like “/Attendance month” which would return current month’s attendance with In time & Out time of the Employee.
Above were a few examples to give you an idea how you can use Slack App Integration to boost productivity growth of your organisation or team. Slack provides a very good support to manage all your work related stuff on slack itself & integrating the slack app. You can go through this documentation and explore a lot more: https://api.slack.com/
Team Systango loves to share valuable insights that can help modern businesses taste the flavour of digitalisation and grow in size. If you need some consultation or development expertise for your next web or mobile app development project, don’t hesitate to reach us- we’ll be more than happy to transform your idea to reality. You can contact us here.