Symphony Blog

Tips and Tricks for Building Great Bots

Barry Castle

I recently had the opportunity to team up with Vinay Mistry and Olivier Poupeney from Symphony’s Platform Solutions team for a fireside chat on building bots. The Platform Solutions team has spent the last couple of years helping some of the largest companies in the world design their automation strategies, and given the number of attendees, there’s huge interest in the topic from our growing developer community.

Efficiency Gains Driven by Bots 

Customers want faster execution and lower costs and Bots make that possible. We see a hierarchy of value that automations bring to the business. At the lowest level, customers are automating repetitive tasks like account creation or the assignment of entitlements. Next, they're implementing workflows and trade flows where the user types their instructions directly into chat conversations.

But even more business value is provided with interactive interfaces using buttons and other UI elements. And because Symphony provides secure and compliant external communications between companies, the biggest value is coming from externally facing Bots either providing their services to external users or by interacting with the external firm’s own Bots.

Bot-to-Bot communication like this is driving very significant efficiency gains, but additional care should be taken when designing the solution – this is why we thought it would be useful to share best practices and common pitfalls developers should be aware of.

Bot Structure

We recommend the Bot server be located close to the Agent server (the Agent acts as a secure proxy between Bots and Symphony’s secure communications service). If the Bot will be interacting with databases or other applications, then these should also be easily reachable.

The Bot itself will typically have the following code structure:




In terms of languages, we have developers using Java, C#, Node.js and Python. Symphony Bots use the Symphony REST API, so basically any language will do the trick. However, when buttons are needed for an interactive user interface then the developer will need to include JavaScript code which will make calls using the Symphony Extension API.

Accelerating Bot Development

To help simplify Bot creation, Symphony provides code generators for different languages using Yeoman and these can now be used to generate mixed code with Bot logic as well as interactive elements like buttons. Another step handled by the generator is the creation of the RSA key pair used for authenticating the Bot. The generators make things a lot easier and developers will be able to get up and running in a matter of minutes.

One thing that needs to be taken care of early in the process, is the creation of the service account on Symphony. If the developer already has admin rights on their developer Pod then they can get the service account configured in about a minute. If not, then they’ll need to find a friend in operations who can configure the service account on their behalf.

Intrigued?

If you’re not already working on a Bot but have a great idea for one, then here are some links you’ll find useful:

Workflow automations are driving efficiency gains throughout the Symphony community and now’s the time to ramp up your skills and knowledge to take advantage of this important industry trend. We’ll continue to feed you useful insights, tips and tricks … stay tuned.

Share This