Create Box Custom Skills with Watson AI


With Box Custom Skills, documents that are saved in Box folders can be enriched by using Watson artificial intelligence (AI). For example, you can use natural language processing to add metadata that describes the concepts and keywords used in a document. This metadata shows up in the details card and also allows Box search to find documents based on the inferred concepts.


This code pattern explains how to create a simple and powerful Box Custom Skill that is powered by the IBM Watson Natural Language Understanding service. This capability allows you to gain AI insights from a .docx file that is uploaded to Box to make it more searchable and consumable, which can enhance and automate your business process. Your file is enriched by Watson services with metadata, such as concepts and keywords, that are relevant to the content of your document. This metadata is then attached to the original file in Box and displayed visually as a Skills “card.”

When you have completed this code pattern, you will understand how to:

  • Create a serverless function using Python, Docker, and IBM Cloud Functions
  • Use the Natural Language Understanding service to identify keywords and concepts in a document
  • Create a Box Custom Skill
  • Configure Box to use a Custom Skill for specific folders and file extensions



  1. Use Docker Desktop to create a Python action .zip file.
  2. Upload the action to IBM Cloud Functions.
  3. Create a Box Custom Skill application that uses your function’s endpoint.
  4. Enable your Box Custom Skill application for .docx files in an allowlist of folders.
  5. You see a card describing concepts and keywords in documents.


Find the detailed steps for this pattern in the Readme file. The steps explain how to:

  1. Install the prerequisites.
  2. Configure the Watson Natural Language Understanding service credentials and features.
  3. Deploy the Custom Skill.