Overview of Bots

From a user perspective, a bot is like an automated system user. For example, bots are listed in the directory, engaged in conversations, and added to rooms. Bots can also initiate those actions and drive business processes by doing so.

From a developer perspective, a bot is both a system user and an application running inside your own infrastructure. However, you get to control this user with the Symphony REST APIs. The APIs allow you to listen to events and respond to them using the logic of your application.

Examples of bots:

  • command/response bot
  • BPM-driven bot (business process model)
  • notification bot (system triggered or scheduled)
  • admin task bots
  • workflow-driven NLP bots

Command-based bots and hard-coded decision trees are easy to implement and a good first step toward automation. More advanced bots can be created utilizing natural language processing (NLP) to understand orders, questions, or queries asked in a natural way by humans. For more information see Workflow-driven NLP bots.

Creating a Bot Application

The following steps are required to create a bot application:

  1. Generate and set up a certificate or an RSA public/private key pair in your Symphony instance's Admin and Compliance Portal for use in authenticating with the API.
  2. Create a Bot User in your Symphony instance's Admin and Compliance Portal.
  3. Use the Symphony Bot Generator to generate a basic bot client application as a starting point, or download a language-specific bot client as described in Node.js, Java, or .NET.
  4. Compile, build, and run the bot client, and then start modifying it for your business logic.

Best Practices

When developing a bot, employ the following best practices:

  • Do not share certificates: Keep these private to help maintain secure authentication.
  • Test in a sandbox environment: Some firms have a third development environment. Check with your Symphony administrator.
  • Determine the required levels of access: Access control is important for any piece of software including chat bots. Make sure that the data that can be accessed or written from your bot is permissioned properly.
  • Avoid using the same service user account for multiple bots: The use of a single service user account per bot is recommended, especially when calling datafeed endpoints.
  • Design the user experience:
  • Because it autocompletes in the Symphony UI, use #hashtag in commands to query your bot.
  • Format messaging for readability and consistency. You can choose from the following: plain text, tables, cards, and structure objects (note that these do not render on Symphony Mobile).

Updated about a year ago

Overview of Bots

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.