Skip to content
Brad McAllister edited this page Nov 19, 2018 · 8 revisions

roomRequest can be installed in your own node environment or you can quickly deploy on Heroku. Before either of these methods can be used, the following prerequisites need to be met.

Spark bot setup

Dialogflow setup

Exchange Web Services

Deploy to Heroku -or- Generic Node deployment

Spark Bot

Obtain a Spark bot token. If you do not know how to do this, follow these instructions. Save the bot token that was generated, we will need it soon.

Dialogflow (Formally api.ai)

Dialogflow is used to capture input from the user. Dialogflow allows the order of this information to vary. For example the end user can type: "ORD tomorrow at 1pm" or "book ORD". The first example provided the bot with all the info it needs to lookup an available space. In the second example the date and time were not provided. The bot will continue ask for the missing information.

  1. Log In to Dialogflow

  2. Click on "Create Agent"

    step 1

  3. Fill in the name, description, and default time zone. Click "Save".

    step 2

  4. Once complete, you will be returned to the api.ai console. Click the gear next to the newly created agent.

    step 3

  5. Confirm that the agent is set to use the V1 API. Copy the Client access token. This will be needed later when we deploy configure roomRequest.

    step 4

  6. Click on "Export and Import" and then "Import From ZIP". Upload the roomRequestDialogFlow.zip file found in this repo's sample folder. This will create the api.ai intents and entities.

    step 5

  7. Once imported you should see the following:

    step 6

    step 7

  8. The location entity is used to determine what building IDs exist. "ORD" was added and matches the example database information. This will need to be updated to include information relevant to your deployment. The other entities aren't used yet. They are items I plan on adding in the future.

    step 8

EWS Requirements

In order for roomRequest to pull free/busy information and book rooms, a service account needs to be created and given application impersonation rights. Below is an example of how to set this up on Office 365. Start by creating an account to use for scheduling. Once that is done follow these steps.

  1. Log In to: https://outlook.office365.com/ecp/ with your admin credentials.

  2. Click on "Permissions" and make sure "admin roles" is selected.

  3. Click on the plus sign to create a new Role group.

  4. On the New Role group pop up window, type in a name for the role.

  5. Click the plus sign below the Roles: area and select ApplicationImpersonation in the list under DISPLAY NAME then click the "add" button and then click "OK"

step 6

  1. Under the Members: section click on the plus sign and select the user that you created previously as a service account to use with roomRequest. Next click "add" and then click "ok".

step 7

  1. You have successfully created your service account and added the ApplicationImpersonation role.
Clone this wiki locally