| page_type | sample | ||||
|---|---|---|---|---|---|
| description | This sample shows a feature where user can schedule a task from messaging extension action and get a reminder card at a scheduled time. | ||||
| products |
|
||||
| languages |
|
||||
| extensions |
|
||||
| urlFragment | officedev-microsoft-teams-samples-msgext-message-reminder-csharp |
This sample shows a feature where user can schedule a task from messaging extension action and get a reminder card at a scheduled time.
-
.NET Core SDK version 6.0
determine dotnet version
dotnet --version
-
Ngrok (For local environment testing) Latest (any other tunneling software can also be used)
-
Teams Microsoft Teams is installed and you have an account
-
Register a new application in the Azure Active Directory – App Registrations portal.
-
Setup for Bot
-
Also, register a bot with Azure Bot Service, following the instructions here.
-
Ensure that you've enabled the Teams Channel
-
While registering the bot, use
https://<your_ngrok_url>/api/messagesas the messaging endpoint.NOTE: When you create your app registration, you will create an App ID and App password - make sure you keep these for later.
- Setup NGROK
- Run ngrok - point to port 3978
# ngrok http -host-header=rewrite 3978- Setup for code
-
Clone the repository
git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
Modify the appsettings.json and fill in the following details:
-
{{Microsoft-App-Id}}- Generated from Step 1 is the application app id -
{{ Microsoft-App-Password}}- Generated from Step 1, also referred to as Client secret -
{{ Application Base Url }}- Your application's base url. E.g. https://12345.ngrok.io if you are using ngrok. -
From a terminal, navigate to
samples/msgext-message-reminder/csharp# run the bot dotnet run
Launch Visual Studio
- File -> Open -> Project/Solution
- Navigate to folder where repository is cloned then
samples/msgext-message-reminder/csharp/MessagingExtensionReminder.sln - Press
F5to run the project
- Setup Manifest for Teams
-
This step is specific to Teams.
- Edit the
manifest.jsoncontained 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{{Microsoft-App-Id}}(depending on the scenario the Microsoft App Id may occur multiple times in themanifest.json) - Edit the
manifest.jsonforvalidDomainsand replace{{domain-name}}with base Url of your domain. E.g. if you are using ngrok it would behttps://1234.ngrok.iothen your domain-name will be1234.ngrok.io. - Zip up the contents of the
AppPackagefolder to create amanifest.zip(Make sure that zip file does not contains any subfolder otherwise you will get error while uploading your .zip package)
- Edit the
-
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.
Personal scope scenario
- Select
...over message to get actioncreate-reminderfor scheduling task.
- Task module to add task details.
- Reminder card of task at scheduled date and time.
Team scope scenario
- Select
...over message to get actioncreate-reminderfor scheduling task.
- Task module to add task details.
- Reminder card of task at scheduled date and time.
To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.






