Watson Workspace Custom Actions (Slash Commands) and Intents

The relates to IBM Watson Workspace Slash Commands which show how Slash Commands can be created… the focus here is a) how to create slash command/actions and b) trying to define some of the intents, so Buzzy “developers” can leverage the Watson Workspace intents to automatically generate a slash command.

For live demos and background info please see:


Also the intent, excuse the pun, will be to allow users to create their own Watson Agents (Conversation Bots) allowing them to be trained in specific subjects (subject matter experts) which can then generate specific slash commands.

Intents

Suggest Template

This set of intents (there are many more defined… but the list below should give an idea) are inteneded to help users find Buzzy applications. The core query we want to generate is /buzzy template find and then match to one the the “template” categories below.

Intent examples are:

  • I need to coordinate
  • I need to organize
  • Let’s schedule
  • I need an app
  • Look for a template
    etc…

In conversation it may be something like “Hey Joe, we need to coordinate travel to that conference…”

Templates (entity):

  • development
  • fieldreport
  • OH&S
  • project
  • registration
  • roster
  • sales
  • school
  • security
  • services
  • sports
  • support
  • travel

For example,
“I need to coordinate” will create a slash command of /buzzy template find the missing bit will be the specific type of template… this is where the template “entities” come. For example,
“I need to coordinate a travel group” will net a slash command of /buzzy template find travel

The user will then be prompted with some travel templates and can create one and start to fill in persistent content.

Looking for Info

This is to help users look for specific info that may live inside Buzzy applications

  • What is
  • How much
  • Where is
  • When does
  • Who did
  • Where are
    etc…

Looking for query fields (entities):

  • arrive
  • author
  • description
  • event
  • interests
  • issue
  • invoice
  • leave
  • location
  • status
  • submitted

For the “looking for” types of intents, these will normally be mapped to custom Buzzy actions or slash commands that are defined at the micro app level.

For example, let’s say we have a travel app in Buzzy that captures for each member in the group, when they are arriving, departing, where they are staying etc etc

For, example, “Where is Corey staying?” or “Where is Corey’s hotel?”

First up Watson recognizes the “Where is” and maps this to a “Looking for Info” intent. From there it looks to try and match a “query” entity. In this example, “staying” or “hotel” would help match with a “location” query field… so the slash command so far is /buzzy location. That’s not going to get us too far (excuse the pun)… so we need a parameter, so we look for things like people names (@sys-person) or dates or other patterns like “invoice numbers”, “ID’s” defined… this will help generate the slash command /buzzy location Corey. Great we now have a custom slash command and a parameter.

Remember the Buzzy micro app then uses the first parameter (ie location) as the name of the action and subsequent parameters to the query and then will return the result to the user.