Hey everyone! 👋
I believe there are plenty of SaaS efforts here among indiehackers.com. I just want to share some insights on preparing third-party integrations for Slack, Microsoft, and Shopify.
SignalZen is a live chat solution that is focused on teams who want to use Slack or Microsoft Teams for monitoring or fully chatting with their website visitors. Naturally, the two integrations are crucial. The Shopify one is just an experiment for seeing how many e-commerce teams we can attract.
Anyway, we went the hard but the best way: getting the apps tested and verified from all 3 App stores. I'll share some insights on how each App store approval process went.
I'd say that the process with Slack went at the same level hard as with Microsoft Teams. It could have been easier, but it was the first App developed for such platforms.
There were many mistakes after the first iteration that the Slack team used for testing. From tiny issues that were spotted in terms of Slack branding, to bigger legal challenges.
Slack has guidelines and checkboxes list that you need to tick before sending your app to test. But the overload of them made me look into them not so precisely or barely look at all. Luckily, there was nothing fundamentally wrong and after a couple of email exchanges, the app was approved.
Compared to the Shopify app, there is no regulation on the billing system which makes SaaS things much easier.
When I was doing the Microsoft Teams integration, all legal and conceptual issues have been checked by Slack and Shopify, so I'd say the process was the easiest of all.
It was somehow similar to Shopify because Slack had fewer entry points for installing the app into the workspaces of clients. This issue that Microsoft Teams and Shopify have, creates a decent amount of technical issues to solve. You need to have welcome messages with action buttons for the integration and the flow is not so easy to implement. Anyway, everything is possible with a proper amount of time.
Microsoft Teams also has SDK for TypeScript that I used for making a medium service between SignalZen infrastructure and client MS Teams. While for Slack you can avoid using the official SDKs, it's a good idea to use MS Teams Bot Framework SDK. But even with the SDK, I'd say the hardest part of it was documentation which is pretty much complicated. A lot of use cases but one needs to develop the right recipe for himself/herself.
Shopify is the most complicated one. They are asking for everything in detail. For instance, your billing system must be integrated with the Shopify Billing API.
Also, they are doing checkups and re-testing your app with the system. I had a case when their callbacks didn't work out and they disabled my app from the listing. These things happen in Shopify it means.
The most stressing requirement is that their billing system must be integrated with your SaaS which means that if your clients use at least a fraction of your features related to Shopify, they should be charged with Shopify Billing API and you need to avoid using your default way of charging (In our case it is Stripe). Terrible!
All the concepts that a Shopify app encompasses are too tricky. I found it hard to figure out what app components to use for my use case. Later got corrected by the testing team but this meant a loss of time anyway.
All 3 App Stores have similarities and differences. The processes of landing in one or another App Directory are a bit different too. But there is one key similarity - it takes up to a few months to launch a new integration even if you dedicate loads of time by being a solopreneur. 2/5 of the time might go for actual testing by the authorities of a particular Directory.
Any ideas or thoughts? Do you need any help in launching your own apps? Let me know! 😇