Brainstorm QuickHelp

Overview

With the Brainstorm QuickHelp content connector, Moveworks Enterprise Search enables the Moveworks AI Assistant to answer user’s questions directly in chat, by understanding the questions and responding instantly with answers containing the most relevant content, links to knowledge base articles or files, or links to external articles taken from trusted knowledge sources.

Supported Content Types

Moveworks typically ingests “HTML” tags and thus breaking or snippetizing the whole page into a smaller sections. The key user experience in resolving a user query is to provide the most relevant snippet to that question.

However with Brainstorm QuickHelp content connector, Moveworks uses the asset description for snippetization and asset title as page title here as Brainstorm does not support returning the full HTML content of a page through their API.

High level Architecture

Moveworks ingests and build an index, storing the knowledge articles and generates relevant knowledge snippets by understanding the content. Moveworks also stores the redirect urls to let the end user to go the UI and read the full article if needed.

Authentication

Brainstorm uses ocp-apim-subscription key authentication to authenticate with the platform. This authentication key is created for the service account which doesn’t have any expiry date.

There are two kinds of key which are used in Brainstorm, Get more details on generating this keys in this doc here.

These are both required us for authenticating with the integration.

curl --location 'https://qhapi.quickhelp.com/v1/Content/Assets?Ocp-Apim-Subscription-Key={{subscription key}}' \
--header 'Ocp-Apim-Subscription-Key: {{subscription key}}' \
--header 'Authorization: {{api key}}'

Note: Authorization key is optional and isn’t required for Moveworks.

Ingestion

Moveworks uses the Brainstorm Quickhelp Content Assets API to ingest knowledge assets from the platform.

How does Moveworks fetch content assets from the Brainstorm API

Which API do we use to fetch knowledge content?

Example Request

curl --location 'https://instance.quickhelp.com/v1/Content/Assets?Ocp-Apim-Subscription-Key={{subscription key}}' \
--header 'Ocp-Apim-Subscription-Key: {{subscription key}}' \
--header 'Authorization: {{api key}}'

Example Response

[
    {
        "assetId": 99010,
        "assetTitle": "Classic Stream: Navigate Microsoft Stream",
        "assetDescription": "If you're new to Microsoft Stream, start here to learn your way around.",
        "type": "Video",
        "typeId": 1,
        "durationInSeconds": 81.4,
        "duration": "00:01:21",
        "visibility": "Visible",
        "dateAdded": "06/04/2020",
        "lastModified": "12/12/2022",
        "resources": 0,
        "questions": 0,
        "categoryId": 8400,
        "categoryTitle": "How to use Microsoft Stream",
        "topicId": 1352,
        "topicTitle": "Classic Microsoft Stream",
        "publisher": "BrainStorm",
        "thumbnail": "https://quickhelpassets.blob.core.windows.net/microsoftstream-d1510889077/637804827867258772_STRM_Navigate_Microsoft_Stream_000001.jpg",
        "url": "https://app.quickhelp.com/aresmgmt/skills/99010"
    },
    {
        "assetId": 99013,
        "assetTitle": "Classic Stream: Meet Stream (Classic) Wrap-Up",
        "assetDescription": "Having completed the \"Meet Microsoft Stream (Classic)\" course, let's jump into using Stream.",
        "type": "PollAssessment",
        "typeId": 3,
        "durationInSeconds": 120,
        "duration": "00:02:00",
        "visibility": "Visible",
        "dateAdded": "06/04/2020",
        "lastModified": "12/12/2022",
        "resources": 0,
        "questions": 2,
        "categoryId": 15281,
        "categoryTitle": "Assessments",
        "topicId": 1352,
        "topicTitle": "Classic Microsoft Stream",
        "publisher": "BrainStorm",
        "thumbnail": "https://quickhelpassets.blob.core.windows.net/microsoftstream-d1510889077/0_637268968857144703",
        "url": "https://app.quickhelp.com/aresmgmt/skills/99013"
    }
]

Access Control

Moveworks will ingest Pages and Manuals which are available to all user.

The articles which Moveworks fetches should be categorized as “Visible to all”. It will then pass the filter in the query parameter so we only fetch all published content assets.

End user experience

When AI Assistant gets relevant content asset for the user Inquiry (Success Case)

If there is article which can solve the user’s query the AI Assistant will present the answer in the following format with a redirect heading and a relevant knowledge snippet.