We applied to the Slack App Directory on December 14th. 2 months later, on were successfully listed on February 12th!
During the review process, Slack shared our goal of providing a great user experience. Their feedback was pointed, and helped us improve. One thing to keep in mind is turnaround time, it usually takes 8–10 business days for them to respond.
Some lessons we learned along the way:
1. Make sure your bot stays up 24/7!
Amy at Slack is in charge of listing apps on the directory. You never know when she’ll test your bot. At one point in the process, we woke up to this email from her:
I’ve been trying to test everything again on my end, but it looks like the Kip bot is offline and not responding…we’d recommend monitoring for disconnects and try to reconnect if necessary.
Monitor all Slack web socket connections. There’s a glitch detailed here: https://github.com/slackhq/node-slack-client/issues/53 that caused us issues, coupled with periodic MongoDB timeouts (eww!) which prevented Kip bot from staying online for all teams.
Pro tip: Set an email notification so that when a socket connection inevitably drops at 3am or on a quiet weekend and Mongo simultaneously fails (it happens, because Mongo) you can SSH from your phone and PM2 restart your sad server.
Emergency code to use in a bind for server restart on socket “close” event:
2. Dive deep into the Slack messaging format
When designing your app for Slack, become fluent with the messaging format. If we studied it closer at the beginning, we could have saved time later on.
I do have a suggestion of another option, would you consider using the URL formatting options we have in message attachments to show, for example, “Option 1” rather than just the raw bit.ly link?
Hide raw links, polish your interface. Amy suggested we hide our bit.ly links with Option 1, etc., we iterated on her feedback and decided to show the item titles as links:
Could I ask if there’s a particular reason you’re returning the results as one image, rather than as three separate images within their own message attachments? If you were to return each result as its own attachment, you’d be able to show the links, titles, images and numbers for each within their own entry. Is there a reason that might not be possible?
We display 3 item search results at a time that users can save or refine with additional chats with Kip. We weren’t splitting results into attachments at first, which affected the Kip bot UX.
Between Amy and Amir (also from Slack), they gave us a mix of design and technical feedback that helped refine Kip’s search results layout.
If we thought about this before building our Python Pillow drawing program that displays Kip search results as images, we could’ve saved time setting up drawing coordinates between design changes.
Slack just released a message format visualizer tool, which is super helpful! You now have no excuse to refine refine refine. 😄
3. Test, test and test again!
Don’t just test with your team and friends. Make sure all kinds of people test your bots. For some magical reason, Amy would find bizarre glitches:
When we were testing Kip, we found that no results were returned for any searches other than for “books”. Is there anything that might be preventing the search results from showing correctly?
We thought it was fixed, but the issue came up again a month later:
I’ve just been testing everything again to check things before listing and I’m afraid I’m still seeing some issues with the search.
…a search for, for example, “Monty Python” returns posters of WWF wrestlers.
We finally discovered that incoming Slack messages that contained @user (represented as <Uid#>) were not removed during Direct Messages to Kip. This was a unique glitch, since @userIDs were removed in public channels like #general and we hadn’t thought that users would “@kip” in private DMs with Kip.
Overall, we enjoy working with the Slack team. We’re extremely happy at finally being listed on the ‘rainbow waffle’ directory, which the Slack logo reminds us of 🌈😂.
Now we’re working with Amy and Amir to get on the Featured page, stay tuned for more details on the review process!
Kip is an AI penguin that shops for you and your team on Slack! Try Kip for Slack by tapping the button below:
If you enjoyed reading, please hit recommend. 💚