Skip to main content

Intent Matching Skill

Overview

This is a walkthrough for building a General Skill using the Skills Webhook REST API. The provided template is meant to be deployed in AWS Lambda and provides minimal to no functionality. The template can be easily modified and tweaked to fit your requirements.

skill usecase

Getting Started

  1. Review the documentation available on the Overview page.
  2. Contact your account manager for access to the template code (or consult the Skills Development introduction email from Soul Machines if you have received early access).
  3. Decide if your skill will be using any 3rd party APIs or not.
  4. Find out what would be the configurations needed from the user to any 3rd party APIs or needed by your skill to function.
    1. For example, 3 things that may be needed to call into the webhook APIs could be botId, clientId, clientSecret.
    2. Keep a note of those fields as you will need to send them back to us so we can add them to the skills definition while we publish your skill.
  5. Build your skill with the specific functionality you wanted to provide (e.g. weather skill receives a request of weather, calls a service, and then returns a result).
    1. The skill will receive user input, and will need to generate a response for the Digital Person to speak. Options for processing the user's input include regular expressions through to more sophisticated cloud-based natural language understanding services such as Azure Language Understanding (LUIS).
    2. Use local development tools with each template (e.g. REPL, Postman, etc) to develop and test the skill independent of the Soul Machines platform. Should you wish to run it against a live Soul Machines Digital Person, we can add it to Digital DNA Studio using the information provided in Step 7.
  6. The template above assumes the service is deployed in an AWS Lambda, feel free to tweak the template to deploy your service in your preferred form and with your preferred cloud provider, as long as the defined endpoints are respected to allow our platform to call into your skill (we recommend using AWS Lambda.)
  7. After you have finished, tested, and deployed your lambda, and you are ready to publish your Skill, you will need to send the below information to your account manager over email:
    1. /execute endpoint of the skill
    2. Name of the skill
    3. Any links for the privacy policy or terms of use
    4. List of configurations that you require from a Skill consumer (currently we only support string types) For each configuration you will need to provide the below:
      • c1 - Variable name
      • c2 - Label
      • c3 - Hint value
      • c4 - Required Boolean
  8. After receiving the information requested in Step 7, we will get add the Skill to Digital DNA Studio under your organisation and you will be able to see the Skill within the project creation/edit page.

Support

If you have questions and require support from Soul Machines during this process, please contact your partner account manager or reply to the email thread where you received Skills information originally. We can address your questions and have a technical call to go through the process if required.