Skip to main content
Skip table of contents

Coronavirus Chatbot

Coronavirus Chatbot is a Microsoft Healthbot-based chatbot, focused on COVID-19 issues.

This repository stores issues, documentation, and serves as the source for the content that goes into the chatbot. As the chatbot is integrated into the VA.gov infrastructure, other code for the chatbot lives in other locations, including:

Overview and Terminology

The Coronavirus Chatbot offers an interactive, decision tree-based interface that provides website users a different way of accessing content that the VA has specific to the coronavirus response. It is based on the Microsoft Health Bot Service, which is a SaaS application, which is itself built upon Microsoft's Bot framework.

Integration Endpoints

Name

Description

Managed by

endpoint

Healthbot token fetch

VA.gov api for FE VA.gov website to get token

Chatbot team

https://api.va.gov/v0/coronavirus_chatbot/tokens

Healthbot token endpoint

Healthbot endpoint to get token to access healthbot over the web. Requires a secret. Called by VA.gov endpoint.

Managed by Microsoft

https://directline.botframework.com/v3/directline/tokens/generate

Healthbot conversation endpoint

Endpoint used during the conversation by the bot webchat framework

Managed by Microsoft

https://directline.botframework.com/v3/directline/conversations

Healthbot management API

Used to manage/update scenarios

Managed by Microsoft

https://us.healthbot.microsoft.com/api/account/va-cva-prod-healthbot-dl0pbmv/scenarios

Additional architecture information can be found in the architecture description.

Required Configuration

The main config is stored in the devops repo here. It includes secrets (stored in Credstash) that are used to get access to the healthbot.

The other "config" is the content of the chatbot itself. For now, the 'master' version of the content (which is broken into several scenarios) is stored in the dev instance of the chatbot. We then have Jenkins jobs which migrate these scenarios to staging and production instances of the healthbot, using their API.

Some of the content is authored in markdown files, stored in the covid19-chatbot repository. These markdowns are transformed to javascript and then uploaded manually to the healthbot authoring tool, to become part of the 'scenarios' which drive the chatbot.

Known External Dependencies

This integration relies on Azure, the Microsoft Health Bot Service, as well as the CDN at https://cdn.botframework.com/botframework-webchat/, which serves up the javascript used by the webchat bot framework.

Troubleshooting

  1. Check to see if the chatbot is responding on https://staging.va.gov/coronavirus-chatbot . As this uses mostly the same endpoints from the Microsoft side as production, if staging works but production doesn't, that suggests either the VA.gov hosted API is having trouble, or the specific PROD instance of healthbot is misconfigured.

  2. Check a different browser - sometimes cookies/caching/etc can cause an issue with the chatbot.

  3. Check javascript console and network console, see if any javascript is having trouble loading.

Outage Status and Maintenance Windows

There are no standard maintenance windows.

Service Level Agreement

There is an SLA for the bot framework that ensures 99.9% uptime.

Escalation Procedure

  1. Notify the Chatbot team at #covid19-chatbots channel or using the contacts below.

  2. The chatbot team will reach out to Microsoft if an escalation is needed. If needed, a support request can be lodged from within the healthbot management portal at https://us.healthbot.microsoft.com/account/va-cva-prod-healthbot-dl0pbmv . (Note: You will need to be granted credentials to access this portal).

Contacts

Role

Name

E-mail

Architect

Michael Chelen

michael.chelen@va.gov

Tech Lead

Karl Brown

kabrown@thoughtworks.com

Tech Lead

Katie Ho

kho@thoughtworks.com

Developer

Shefali Nayak

shefali.nayak@thoughtworks.com

Product Owner

Kaeli Yuen

kaeli.yuen@va.gov

Solution Architect

Aaron Barth

aaronba@microsoft.com

ECSO Contact

Charles L. Solomon-Jackson

Charles.Solomon-Jackson@va.gov

ECSO Contact

Joseph A. Fourcade

Joseph.Fourcade@va.gov


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.