Content Integration - Staffbase

You can now use natural language to get answers to your questions with knowledge retrieved from your Staffbase Intranet. This guide shows how Moveworks serves Staffbase news posts to users.

Architecture

The following diagram shows the high level architecture of how Moveworks integrates with Staffbase Intranet.

Architecture Diagram

This is a live integration where we poll knowledge articles every four hours. This is done so that the enterprise cache is updated with relevant snippets for answers.

Our enterprise cache stores the knowledge articles from Staffbase and generates relevant knowledge snippets by understanding the content. We also store the redirect urls in order serve them to users to direct them to where the actual news post can be read.

Authentication

The Staffbase API is secured by HTTPS and basic authentication .

Please visit StaffBase - API Authentication for more details on how to generate the API token from the Admin portal of Staffbase.

Store the generated API Token and the base URL of your Staffbase platform. These will be used when setting up the Connector and Knowledge Ingestion configurations for Staffbase.

Ingestion

Moveworks uses the List all accessible news posts API to fetch all news posts that are accessible for the API Token.

How do we fetch knowledge articles from Staffbase

We use the following APIs to fetch the news posts that you want Moveworks to ingest.

Fetch all News Posts

GET
curl --location '{{staffbase_base_url}}/api/posts?includeDrafts=false&sort=published_DESC' \
--header 'Authorization: Basic {{staffbase_api_token}}' \
--header 'Content-Type: application/json'

Integration Scope

Content

Our knowledge ingestion engine works on ingesting the contents section from the API response which is an HTML block of the content present within the Staffbase intranet.

Currently we only ingest published news posts (we don’t ingest Draft news posts).

Snippet Titles

Note that outside of just using your title, we will also parse the rest of the new post content to determine the best title for the generated snippet

For example:

{
  "contents": {
    "en_US": {
      "content": "{{SEE RIGHT}}",
      "title": "VPN Troubleshooting Guide"
    }
  }
}
<h1>How to solve connection errors</h1>
<p>Here are some instructions.</p>

<h1> How to solve VPN slowness </h1>
<p>Here are some other instructions.</p>

<h1>Still facing issues? </h1>
<p>Please contact IT for help</p>

In this example, we will create a knowledge article “snippet” titled “VPN Troubleshooting Guide: How to solve connection errors”.

Snippet Description

By default, Moveworks will display data from the content field of your articles.

{
  "contents": {
    "en_US": {
      "content": "<div data-widget-type=\"StaticContent\" data-widget-on-card=\"true\" data-widget-conf-background-color=\"#ff0000\" data-widget-conf-design=\"2\" data-widget-conf-device-visibility=\"desktop\" data-widget-src=\"internal://staffbase.content.widgets.StaticContent\"><ul><li><strong><span style=\"color: initial;\">Please replace the existing assets (images, texts etc.) with your own content.</span></strong><strong><span style=\"color: initial;\"></span></strong></li><li><strong><span style=\"color: initial;\">This example content may be used as a starting point for your public area. However, please note that using this content is not a 100% guarantee for a successful app submit.</span></strong></li><li><strong><span style=\"color: initial;\">Adjust the content according to your needs and use the tools available to you (e.g. additional widgets &amp; sections).</span></strong></li><li><strong><span style=\"color: initial;\">Please do not use the existing naming convention for content titles and adjust accordingly.</span></strong></li><li><strong><span style=\"color: initial;\">You are not limited to the existing layout, feel free to play around with your options while keeping our public area recommendations in mind.</span></strong></li><li><strong><span style=\"color: initial;\">To publish the content in the public area, access the channel settings and activate the toggle “Visible in the Public Area”."
    }
  }
}

Article Links

Moveworks provides links to your news posts based on the link we obtain from the API response.

"links": {
    "detail_view": {
        "method": "GET",
        "href": "{{staffbase_base_url}}/openlink/content/news/article/{news_id}"
    }
}

Permissions

Today, the Moveworks Copilot doesn’t support respecting permissions for the News posts within your Staffbase Intranet. We advise you to only allow news posts which are available to all employees within your organization for ingestion within Moveworks.

End user experience

Case 1 : When bot gets relevant documents for the user inquiry (Success Case)


If there is any document which can solve the user’s query, the bot will present the answer in the following format with a redirect heading and a relevant knowledge snippet.

Success Case.png

Case 2 : When bot doesn’t have any relevant answers to user inquiry (Backstop Case)


This would be the answer provided to the user if the bot doesn’t find any relevant answers from the available documents.

Backstop Case