| page_type | sample | ||||
|---|---|---|---|---|---|
| description | This sample shows a feature where user can schedule a recurring task and get the reminder at scheduled time. | ||||
| products |
|
||||
| languages |
|
||||
| extensions |
|
||||
| urlFragment | officedev-microsoft-teams-samples-bot-daily-task-reminder-csharp |
This sample shows a feature where user can schedule a recurring task and get the reminder at 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.
-
Run ngrok - point to port 3978
# ngrok http -host-header=rewrite 3978 -
Setup for code
- Clone the repository
-Launch Visual Studio
git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
- File -> Open -> Project/Solution
- Navigate to folder where repository is cloned then
samples/bot-daily-task-reminder/csharp/BotDailyTaskReminder.sln
-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.
- Press F5 to 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.
- Use command
create-reminderto get card with actionSchedule task.
- Task module to add task details.
- User will get a task reminder card at scheduled time.
To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.



