Slack bot multiple workspaces12/11/2023 ![]() Here is an article on understanding Amazon Elastic Container Service (ECS) However, a container-based approach (e.g. ![]() If you are running Socket Mode or using Bolt (SDK by Slack that makes it very easy to set up a server that listens for Slack events) without using the Serverless Framework, then the above serverless approach will not work for you. This serverless approach allows for easy scaling out of events while still being quite performant and cost efficient, which makes it quite handy since, as your organization grows AWS lambda can scale to your needs. Here are articles with step-by-step approaches specifically for Slack Apps Here is a tutorial on creating an AWS lambda function connected to API gateway Consideration #2 - Using serverless vs containers for your Slack app infrastructure However, this is at the cost of a persistent connection needing to be made (so no serverless approaches). Additionally, because Socket Mode is a WebSocket connection, it tends to have less latency than traditional approaches that expose a static HTTP endpoint. In my experience Socket Mode is the best way to work within the restrictions of corporate proxies. Developers will not need to provide a public facing URL to Slack as the WebSocket connection will take the place of this. Socket Mode is a feature from Slack that uses WebSockets to achieve the same functionality as the events API. You can see the full list of Slack events here. For example, you can choose to receive HTTP events about reactions being added in channels your app is part of, or you can sign up to get events for each time a new member joins a channel. By exposing a public endpoint and providing this to your Slack app, Slack can forward events to your endpoint for you to process and handle, and only events that you choose to subscribe to will be sent. ![]() The next question is, how do you get information about events to your application? This is done via the events API. The web API is used to query Slack for information and perform actions. That way is to use Slack’s events based system, through HTTP endpoints or WebSockets, to inform your application of the goings on of your workspace. While the end goal for your Slack app is to communicate and interact with your users in an impactful and value-driving manner, that ultimately relies on also knowing what’s going on in Slack. PLEASE NOTE - This article uses Amazon Web Services (AWS) as the example cloud service, however other cloud providers may work or have equivalent services. The distinction is not significant here, so I'll use the term 'Slack app' throughout. Most apps tend to have a bot component but it is not a required aspect of an app. Though the terms are sometimes used interchangeably, they are different things an app may contain a bot, or it may not, where the bot is just the piece of the app that interacts with the user. In this blog I will go over six considerations that you should keep in mind when building, owning, and maintaining a highly scalable enterprise Slack app.Ī few words about Slack apps vs Slack bots. ![]() When implemented properly, Slack apps can provide a significant benefit, but there are some tricks involved. In my experience, these kinds of apps provide a great way to integrate various workflows and processes into Slack, allowing users to complete many tasks from a single environment. Our chatbot is primarily used as an app in Slack, where it supports over 150 different Slack channels and is used by thousands of employees across a wide range of internal teams within Capital One. Its capabilities include answering FAQs using machine learning and natural language processing (NLP) and supporting API-driven actionable integrations with various popular services like Confluence, JIRA, and Github. My name is Anirudha Simha, and I’m a senior software engineer at Capital One working on an internal chatbot.
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |