Instant communication channels have been around for a long time. Their business value cannot be ignored: you can build entire communities from a chat application. Telegram, Slack, or Discord have become mainstream tools in most organizations.
Relying on free external services has its limits though, most users do not want to install anything or create an additional account. It's especially true for tech products such as web applications: it's already hard to convince a user to use your product, why would he/she want to subscribe to another service within it? It feels redundant, it's not practical.
On the other hand, implementing a chat application is no trivial task. The user interface quickly gets out of hand, messages must be loaded in near real-time, you need to keep track of the user presence, messages must be stored... it's an entirely different area of expertise that comes with heavy operational costs.
That's where the chat integration comes in, it allows you to get the best of both worlds: less coupling in your infrastructure, better features, and more importantly, increased interactions between your users.
To give you a concrete example, 200 Words a Day is an online community based on its own website. Soon after the minimum viable product phase I decided to establish a Slack workspace in parallel, to interact with the members in a different way. Out of the 2800 members who registered on the platform, 130+ users joined the Slack workspace. That's only a 5% conversion rate.
Progressively moving off Slack appeared as the most straight-forward way to increase interactions between members. The issue is this: I don't want to build a chat app from scratch. I tried already in a previous project and it wasn't easy. I do not want to increase my server costs either. The best approach was to use Slack's API to create a client within 200WaD. This way, users who didn't registered in Slack can still read what's going on, which in turn should result in a higher conversion rate.
... to be continued