Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

page_type sample
description This sample shows a feature where user can schedule a recurring task and get the reminder at scheduled time.
products
office-teams
office
office-365
languages
csharp
extensions
contentType createdDate
samples
11/24/2021 12:00:00 AM
urlFragment officedev-microsoft-teams-samples-bot-daily-task-reminder-csharp

Bot daily task reminder

This sample shows a feature where user can schedule a recurring task and get the reminder at scheduled time.

Interaction with app

Daily Task Reminder

Prerequisites

  • .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

Setup

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

  2. 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/messages as the messaging endpoint.
  3. Run ngrok - point to port 3978

    # ngrok http -host-header=rewrite 3978
  4. Setup for code

  • Clone the repository
    git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
    -Launch Visual Studio
    • 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

  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 {{Microsoft-App-Id}} (depending on the scenario the Microsoft App Id may occur multiple times in the manifest.json)
    • Edit the manifest.json for validDomains and replace {{domain-name}} 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

  • Use command create-reminder to get card with action Schedule task.

Schedule task

  • Task module to add task details.

Task Details

  • User will get a task reminder card at scheduled time.

Task reminder

Deploy the bot to Azure

To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.

Further reading