Recently we built an integration between ConnectWise Manage and Slack. ConnectWise is a professional services automation platform used by thousands of IT Service Providers, handling ticketing, timesheets, projects, invoicing and more. One of the key drivers was to have our engineers focused on work instead of fighting to manage the ticket system and entering time. We have built other bots as well for other purposes, such as receiving RMM notifications. If you are interested in ChatOps to streamline your workflow, just reach out and let’s chat!
What follows is a Q&A interview with Sam Wolfe, one of our developers, on his experience with working with the Slack API. We have a separate blog post with Q&A interview with Richard Clark, one of our senior Linux/DevOps engineers as to his experience using the chatbot for entering tickets and time into ConnectWise.
Q: What challenges did you have with either the CW API or Slack API when creating this integration?
Just a note, I didn’t really have trouble with the API itself, the Slack documentation is extremely helpful and descriptive. I mostly had a problem with how the bot I forked from GitLab communicated with the API. And by this point, I had become very familiar with the CW API thanks to the work I’ve done on the CW Kanban project.)
For me, the biggest challenge was with the Slack API, and designing a UI that felt natural and easy to use, while still getting enough information to create a helpful ConnectWise Ticket (or activity, time entry, etc). While my first attempt was good on paper, it ended up being confusing. By making it more flexible, allowing the user to put in whatever fields they wanted at the time in any order, I think it became harder for people to remember the ‘Correct way’. Everyone had to always ask what was the ‘Right’ way, or check the docs over and over. By making it more rigid, and forcing specific syntax, it became easier for people to remember how to use it.
Q: What cool things did you figure out about either CW or Slack that other people would love to know?
One thing I’d really like to update Craftybot to use is the rich formatting options available in slack. At the time I was more concerned with getting it up and running as fast as possible, so I wasn’t playing around with too many options. Now that it is complete, I’ve been messing about with all the interactive buttons and message menus, https://api.slack.com/interactive-messages. It is really powerful, and I can think of a million ways this could make fun, and also useful features for any bot!
Q: Anything else you would like to tell the world about regarding Craftybot?
I feel just having an in-house bot in general for any Slack group is a great idea. You can outfit it with useful features specific to your team, inside jokes that boost morale, and offload scheduled tasks to it.