I built my own skill for SAP CoPilot, I would like to share the detailed steps for I took.
By the way, SAP CoPilot is SAP’s digital assistant for enterprise. My expectation is that SAP CoPilot will bring flexibility, extensibility, and diversity by introducing superior UX provided by a digital assistant for the consumer (Google Assistant, Amazon Alexa, Apple Siri, etc.).
For SAP CoPilot product information, please refer to https://www.sap.com/products/digital-assistant.html.
To use SAP CoPilot, you need to have a subscription contract for SAP Cloud Platform.
By activating the subscription for SAP CoPilot and setting it up properly, you can use CoPilot (core service) on SAP Cloud Platform and a tool called Skill Builder that you need for creating skills (it is like Amazon Lex on AWS). I used the latest release; October 2018.
3 Factors to Understand Before Beginning
Before you begin using the SAP CoPilot skill, let’s check the terminology. To create skill, three factors are very important; “Skill“, “Intent“ and “Utterance“.
|Skill||Intents bundled. Skill, so to say.|
|Intent||Purpose; what user wants to do.|
|Utterance||Triggering spoken word(s).|
It might be difficult to understand with just the chart, so I have listed some examples. A skill called “Product Management”, Intent to “create/read/update/query” products, and Utterance in case of a query as an example.
As you might notice by looking at the verbs listed under Intent, they match to the OData operations (Create/Read/Update/Query). Like these, it is one of the characteristics of SAP CoPilot that Intent is structured based on OData operations.
How to Build Your Own Skills
Well, the introduction might have been a little long, let’s start building a custom skill. By the way, there is a meaning that I say “custom”. SAP CoPilot is SAP standard digital assistant, so it will provide vast standard skills without building custom skills. This time, hands-on itself was the purpose, this is why I built a custom skill.
First, log in to SAP CoPilot Skill Builder and click “New Skill”.
Type the name of the skill and click “Add Intents to the skill”.
Specify endpoint for OData service or click “Browse”.
In case you clicked “Browse”, select OData service, and click “Import Service”.
Select the object (entity) for the selected OData service.
After selecting Object (entity), activate the operation for it. Select Query operation to obtain the list.
Set the parameters desired for the selected operations. With these steps, the basic setup for Intent is complete. Click “Save”. (after saving it, go back to the skill list screen.)
If there are any parameters not set, a “!” mark is displayed. In this case, please select your Intent again, and check the contents.
UI Display (UI display setting) looks incomplete. Utterance also has yellow “!” mark it is a warning.
Set Title, Subtitle, and Image for UI display setting. The setup is now complete.
Let’s continue with the Utterance that had a warning displayed. The hint is not set, this is the reason a warning was displayed. Add Utterance as a hint for “how to ask questions”, such as “Show me products from ABC”. With this hint, people who use this skill for the first time can use it without getting lost.
A warning is not shown, but let’s check Entities under Utterance. You can check parameters (=Filter items for OData service) here. You can set each item is mandatory or not, use-value helper or not, etc., For example, Rich predefined value help for a Business domain is SAP’s advantage. Furthermore, you can also add custom names (synonyms).
After completing the necessary setup, click “Build” and wait for a while until the build is complete.
Now custom SAP CoPilot skill is created!!
Finally, we can actually execute the skill we created. During the hands-on exercise, we checked the stand-alone version of the SAP CoPilot. The conversation flow is like this:
- Me: Could you show me the products of supplier ‘AVANTEL’?
- CoPilot: Here’s what I found products with supplier AVANTEL.
- Me: Show me the price of the second one
- CoPilot: The price per unit for the product “ITelO Vault SAT” is 149.00 USD.
When I first said “show me the products of supplier ‘AVANTEL’”, CoPilot said “I found products” and showed me the list of products with images. I then asked “show me the price of the second one”, CoPilot answered, “The price per unit for the product “ITelO Vault SAT” is 149.00 USD”. SAP CoPilot could answer to the order of “second”, so it means it understands the context of sentences.
To make it easy to understand the description, I only mentioned Query operation, but If I say, “I would like to create …”, I can, of course, execute Create operation. SAP CoPilot can even understand long sentences like “Show me products that are available in stock and price over 150 dollars in the category of computer component” with Query operation and conditions other than suppliers.
Thanks for reading. Please share your feedback
This time, I introduced SAP CoPilot as a digital assistant for enterprises. I am looking forward to it becoming a major conversational UI soon.
SAP CoPilot is not only Digital Assistant but also Bot Integration Hub; another innovative feature which I would like to write about at another time.