• Have a multi-lingual development team and want to make it easy for everyone to be involved?
  • Don't want to tab out from Webex to search a query?
  • Want to keep your whole team on the same page without leaving the chat?
  • Want to learn more about your teammate's background on the side?

Why build this bot?

The internet has allowed teams to be distributed all around the world, and companies everywhere are realising the massive benefit to having employees from a wide range of backgrounds and cultures. Thus, making it as easy as possible for teams who speak different languages from communicating is really helpful, and enables teams to do the things that they are meant to do more effectively.

What it does

  • The WLSQ bot will allow you to set a central language for a group chat. From that point, all messages that are detected to not be in that language will be translated by the bot. This means that users can set a primary language for the whole chat. A basic translation
  • Individual users who prefer different languages can "follow" the chat in their language of choice - the bot sends them private messages with the translated text in this language, and automatically translates their text into the primary language without cluttering the chat feed. Following a chat And the result
  • Optionally, for supported languages the bot will also attach a MP3 file containing the pronounciation of the translated sentence. Voice files
  • To help teams do what they are meant to do quicker, certain supported queries are also sent to Wolfram Alpha's API for processing, expanding what teams can do inside the platform. If they are detected to be in not a English language, they are translated first, and then translated back once Wolfram Alpha has finished processing. Wolfram-API Another API usage
  • The bot also has a !summarize command to help users who have been away for a while - eg on holiday leave - to catch up on the most important messages quickly. One summarization example
  • We also added functionality for adding automatic reminders for (eg) Webex meetings, reminding everyone involved at regular intervals before the event time. Setting a reminder
  • The bot can be controlled using a set of commands that start with ! Commands

How we built it

  • Using the Webex Developer AI, the bot creates a tunnel using ngrok between the local host and cloud webhook, listening in to new messages sent directly to it or in participating group rooms.
  • Messages are pulled in after the webhook notifies the server and the content is processed.
  • Messages are sent to Google's Cloud API for language detection, translation and text-to-speech
  • Wolfram-API handles other semantic queries it can process.
  • We use a TextRank python implementation for the summary feature, which looks through the whole chat.

Challenges we ran into

  • Setting up a custom webhook to allow for greater freedom than Webex's built in bots.
  • One of the members having to reinstall Linux onto his laptop halfway through (it turns out that apt autoremove is not always your friend...)

Accomplishments that we're proud of

It works and its cool! It's quite polished for a hackathon project and has the potential to really help some teams collaborate

What we learned

  • How to work with Webex, Google Cloud's and Wolfram Alpha's developer APIs
  • The power of bots and how integrating APIs makes a more powerful tool than the sum of its parts

What's next for Webex Language Support & Queries

Built With

Share this project: