page_type | description | products | languages | extensions | contentType | createdDate | ||||
---|---|---|---|---|---|---|---|---|---|---|
sample |
This sample shows a feature where user can send task request to his manager and manager can approve/reject the request in group chat. |
|
|
samples |
13-12-2021 17:00:25 |
This sample shows a feature where:
- Requester : Can request for any task approval from manager by initiating a request in group chat using bot command
request
and only requester can edit the request card. - Manager : Can see the request raised by user in the same group chat with an option of approve or reject.
- Others: Other members in the group chat can see the request details only.
Requester:
-
Initiated request using bot command
request
in group chat. -
Card will refresh for requester to fill details.
-
After submitting the request, requester can edit or cancel the request.
Note: Users who created the card will only be able to see the buttons to edit or cancel the request.
Manager:
-
After requester submit the request, manager can approve/reject the request.
Note: Manager of the task request will only be able to see the buttons to approve or reject the request.
-
If manager approves or rejects the request, card will be refreshed for all the members in group chat.
Others:
- Other members in group chat will only be able to see the request details.
-
.NET Core SDK version 3.1
determine dotnet version
dotnet --version
-
Ngrok (For local environment testing) Latest (any other tunneling software can also be used)
run ngrok locally
ngrok http -host-header=localhost 3978
-
Teams Microsoft Teams is installed and you have an account
-
Register your app with Microsoft identity platform via the Azure AD portal
-
Your app must be registered in the Azure AD portal. See Register an application with the Microsoft identity platform.
-
Ensure that you've enabled the Teams Channel
-
-
Clone the repository
git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
-
Open the code in Visual Studio
- File -> Open -> Project/Solution
- Navigate to folder where repository is cloned then
samples/bot-request-approval/csharp/BotRequestApproval.sln
-
Run ngrok - point to port 3978
# ngrok http -host-header=rewrite 3978
-
Setup and run the bot from Visual Studio: Modify the
appsettings.json
and fill in the following details:MicrosoftAppId
- Generated from Step 1 (Application (client) ID)is the application app idMicrosoftAppPassword
- Generated from Step 1, also referred to as Client secret- Press
F5
to run the project
-
Modify the
manifest.json
in the/AppPackage
folder and replace the following details:{{Microsoft-App-Id}}
with Application id generated from Step 3{{domain-name}}
with base Url domain. E.g. if you are using ngrok it would behttps://1234.ngrok.io
then your domain-name will be1234.ngrok.io
.
-
Zip the contents of
AppPackage
folder into amanifest.zip
, and use themanifest.zip
to deploy in app store or add to Teams using step 8. -
Upload the manifest.zip to Teams (in the Apps view click "Upload a custom app")
- Go to Microsoft Teams and then go to side panel, select Apps
- 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.