Excel Bot is a sample that demonstrates how to use the Microsoft Graph and specifically the Excel REST API to access Excel workbooks stored in OneDrive for Business through a conversational user interface. It is written in C# and it uses the Microsoft Bot Framework and the Language Understanding Intelligent Service (LUIS).
Note: The code in this sample was originally written for a user experience prototype and does not necessarily demonstrate how to create production quality code.
This sample requires the following:
- Visual Studio 2015 with Update 3
- An Office 365 for business account. You can sign up for an Office 365 Developer subscription that includes the resources that you need to start building Office 365 apps.
Complete the these steps to setup your development environment to build and test the Excel bot:
- Download and install the Azure Cosmos DB Emulator
- Clone this repo to a local folder
- Rename the ./ExcelBot/PrivateSettings.config.example file to PrivateSettings.config.
- Open the ExcelBot.sln solution file
- Register the bot in the Bot Framework
- Copy the bot MicrosoftAppId and MicrosoftAppPassword to the PrivateSettings.config file
- Register the bot to call the Microsoft Graph
- Copy the Azure Active Directory Client Id and Secret to the PrivateSettings.config file
- Create a new model in the LUIS service
- Import the LUIS\excelbot.json file into LUIS
- Train and publish the LUIS model
- Copy the LUIS model id and subscription key to the Dialogs\ExcelBotDialog.cs file
- (Optional) Enable Web Chat for the bot in the Bot Framework and copy the Web Chat embed template the chat.htm file
- (Optional) To get the bot to send telemetry to Visual Studio Application Insights, copy the instrumentation key to the following files: ApplicationInsights.config, default.htm, loggedin.htm, chat.htm
- Build the solution
- Press F5 to start the bot locally
- Test the bot locally with the Bot Framework Emulator
- Create a web app in Azure
- Create an Azure Cosmos DB in Azure that uses the SQL API
- Replace the bots host name in the PrivateSettings.config file
- Replace the database URI and key in the PrivateSettings.config file
- Publish the solution to the Azure web app
- Test the deployed bot using the Web Chat control by browsing to the chat.htm page
Register bot to call Graph
Head over to the Application Registration Portal to quickly get an application ID and secret.
Using the Sign in link, sign in with either your Microsoft account (Outlook.com), or your work or school account (Office 365).
Click the Add an app button. Enter a name and click Create application.
Locate the Application Secrets section, and click the Generate New Password button. Copy the password now and save it to a safe place. Once you've copied the password, click Ok.
Locate the Platforms section, and click Add Platform. Choose Web, then enter
<BOT_HOST_NAME>with the hostname for your bot under Redirect URIs.
Note: If you are running this locally and on Azure, you should add two redirect URLs here, one to your local instance and one to your Azure web app.
Click Save to complete the registration. Copy the Application Id and save it along with the password you copied earlier. We'll need those values soon.
Give us your feedback
Your feedback is important to us.
Check out the sample code and let us know about any questions and issues you find by submitting an issue directly in this repository. Provide repro steps, console output, and error messages in any issue you open.
Copyright (c) 2016 Microsoft. All rights reserved.