Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
page_type description products languages extensions urlFragment
sample
This sample illustrates a meeting experience for recruitment scenario using Apps In Meetings.
office-teams
office
office-365
nodejs
javascript
contentType createdDate
samples
10/01/2021 02:36:57 PM
officedev-microsoft-teams-samples-meeting-recruitment-app-nodejs

Recruitment App Sample using Apps in Meetings

This sample illustrates a meeting experience for recruitment.

It has meeting details and in-meeting app that helps in the interview process.

Interact with app

Details

Prerequisites

  • NodeJS must be installed on your development machine (version 16.14.2 or higher).
  • ngrok or equivalent tunnelling solution
  • Teams Microsoft Teams is installed and you have an account

Setup

  1. Register a new application in the Azure Active Directory – App Registrations portal.

     Go to App registrations and create a new app registration in a different tab.
    

    Register an application. Fill out name and select third option for supported account type and click "Register".

    AppRegistration

    • Copy and paste the App Id and Tenant ID somewhere safe. You will need it in a future step.
    • Create Client Secret.
      • Navigate to the "Certificates & secrets" blade and add a client secret by clicking "New Client Secret".

    ClientSecret

    • Copy and paste the secret somewhere safe. You will need it in a future step.
  2. Setup for Bot

    • In Azure portal, create a Azure Bot resource.
    • Ensure that you've enabled the Teams Channel
    • While registering the bot, use https://<your_ngrok_url>/api/messages as the messaging endpoint. NOTE: When you create app registration, you will create an App ID and App password - make sure you keep these for later.
  3. Create a Azure Storage account(This is needed to store/retrieve data that's used in the app) Create storage account

This step will create a storage account. You will require storage account name and keys in next steps.

Please follow View account keys to see the
keys info.

  1. Setup NGROK

    • Run ngrok - point to port 3978
    ngrok http -host-header=rewrite 3978
  2. Setup for code

  • Clone the repository

    git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git

-Modify the keys.js file in the location samples/meeting-app/nodejs/api/server and fill in the [STORAGE ACCOUNT NAME] and [ACCESS KEY] for azure table storage.

  • We have two different solutions to run so follow below steps:

    A) In a terminal, navigate to samples/meeting-recruitment-app/nodejs/api

    B) In a different terminal, navigate to samples/meeting-recruitment-app/nodejs/clientapp

    • In both the terminal run

      npm install

      npm start

  1. Setup Manifest for Teams
  • This step is specific to Teams.

    • Edit the manifest.json contained in the ./AppPackage folder to replace your Microsoft App Id (that was created when you registered your app registration earlier) everywhere you see the place holder string <<APP-ID>> (depending on the scenario the Microsoft App Id may occur multiple times in the manifest.json)
    • Edit the manifest.json for <<BASE-URL>> and replace <<BASE-URL>> with base Url of your domain. E.g. if you are using ngrok it would be https://1234.ngrok.io then your domain-name will be 1234.ngrok.io.
    • Zip up the contents of the AppPackage folder to create a manifest.zip (Make sure that zip file does not contains any subfolder otherwise you will get error while uploading your .zip package)
  • Upload the manifest.zip to Teams (in the Apps view click "Upload a custom app")

    • Go to Microsoft Teams. From the lower left corner, select Apps
    • From the lower left corner, choose Upload a custom App
    • Go to your project directory, the ./AppPackage folder, select the zip folder, and choose Open.
    • Select Add in the pop-up dialog box. Your app is uploaded to Teams.

Running the sample

  1. Details page: The details page shows basic information of the candidate, timeline, Questions (that can be added for meeting), Notes (provided by peers)

    Details

  2. Action on Questions:

    • The interviewer can Add/Edit or Delete question.

    Add Question

    • Add Questions Task Module

    Add Question Task

    Edit Delete Question

    • Edit Question Task Module

    Edit Task

  3. Add Notes:

    The interviewer can add notes that will appear to other peers.

    Add Notes

    Add Note Task Module

    Add Notes

  4. Sidepanel:

    The in-meeting side panel shows two sections as follows:

    A) Overview: Shows the basic details of the candidate.

    B) Questions: The questions set in the details page appear here. The interviewer can use this to provide rating and submit final feedback.

    Sidepanel Overview

    Sidepanel Questions

  5. Share assets:

    This is used to share assets to the candidate.

    Share Assets

  6. Mobile view: Details tab

    Details tab

    Note

    Share Doc

    • Sidepanel view

    Sidepanel Overview mobile

    Sidepanel Question mobile

Further reading