Teams-Talk solution is for communication with members of one or multiple O365 groups within your company tenant. This solution enables you to broadcast a notification and also bring user attention to a particular notification by sending reminders. This solution enables you to provide richer experience to users and better engage with them by keeping them up to date with your company communication and various changes regarding apps and workflows used by them.
Use this solution for scenarios like updates about townhalls, announcements, sending content updates of Microsoft 365 Learning Pathways, such as new trainings, URLs to learn more about Microsoft Outlook, SharePoint and Teams.
- Custom Notification: Send company wide communication through 1:1 custom messages/ adaptive cards for a more engaging experience with your users.
- Reminders for Notification: Send reminders for earlier notifications at desired frequency i.e. daily, weekly, monthly through Microsoft Teams Activity Feed.
- Target Audience: Choose your target audience i.e. members of one or multiple O365 groups/ teams.
To begin, you will need:
- An Azure account that has an active subscription. Create an account for free.
- The Azure account must have permission to manage applications in Azure Active Directory (Azure AD). Any of the Azure AD roles (Application administrator/ Application developer/ Cloud application administrator) include the required permissions.
- An Office 365 account that has an active subscription of Exchange Online, Sharepoint Online and Microsoft Teams
- Office 365 account(s) with administrative rights for Exchange Online, Sharepoint Online and Microsoft Teams workloads.
- Teams-Notification ZIP package. Link to Teams-Notification package
Registering your application establishes a trust relationship between your app and the Microsoft identity platform. The trust is unidirectional: your app trusts the Microsoft identity platform, and not the other way around.
Follow these steps to create the app registration:
- Sign in to the Azure portal.
- Search for and select Azure Active Directory.
- Under Manage, select App registrations > New registration.
- Enter a display Name for your application for e.g. SendTeamsNotification.
- Specify who can use the application. Select "Accounts in this organizational directory only" option for Supported account types.
- Don't enter anything for Redirect URI (optional).
- Select Register to complete the initial app registration.
- When registration finishes, the Azure portal displays the app registration's Overview pane. You see the Application (client) ID. Also called the client ID, this value uniquely identifies your application in the Microsoft identity platform. Verify that the Supported account types is set to "My organization only". Copy the Application (client) ID; we will need it later.
- On the side rail in the Manage section, navigate to the Certificates & secrets section. In the Client secrets section, click on + New client secret. Add a description for the secret, and choose when the secret will expire. Click Add.
- Once the Client secret is created, copy its value; At this point you should have values of Client secret, Directory (tenant) ID, Application (client) Id. We will need these values later.
- Navigate to API Permissions > Add a permission > Select an API > Commonly used Microsoft APIs and select “Microsoft Graph”.
- Under Delegated permissions, Assign following permissions
- Chat.Read
- Chat.ReadBasic
- Chat.ReadWrite
- TeamsActivity.Read
- TeamsActivity.Send
- User.Read
- UserActivity.ReadWrite.Created
- Under Application Permissions, Assign following permissions
- Directory.Read.All
- Directory.ReadWrite.All
- TeamsActivity.Read.All
- TeamsAcitvity.Send
- User.Read.All
- User.ReadWrite.All Click on Add Permissions to save your changes.
- Under Delegated permissions, Assign following permissions
If you are logged in as Tenant Administrator, click on “Grant admin consent”, else inform your Tenant Administrator to do the same.
From Sharepoint Online, create a Team Site named as TeamNotification.
Create Sharepoint List
-
Open Site Contents on the TeamNotification Site and select New >> List. Select Blank List.Enter the name of the List as Notification.
-
Add the following coloumns in the list and select the type as shown below
Note: Do not create columns with name ID,Title,Created by and Modified by as they exist by default in the list.
Create Document Library
- Open Site Contents on the TeamNotification Site and select New >> Document. Enter the name of the Document as TeamsNotification.
Note: Please ensure to use the same name as given the documentation for Sharepoint List and Document Library.
Install Sharepoint Online Client SDK: Download Sharepoint Online Client SDK and install the SDK to your local machine. This SDK is required by Powershell scripts provided with this solution.
- Download Teams-Notification app package zip file from this git repository and extract the same to a local folder.
- Change following fields in the manifest.json (What's this) to values appropriate for your organization.
- developer.name (What's this?)
- developer.websiteUrl
- developer.privacyUrl
- developer.termsOfUseUrl
- Change the id field under webApplicationInfo section in the manifest to Application (client) Id value from Step 1 and save manifest.json file.
- Create a ZIP package with manifest.json and app icon files (color.png and outline.png). Make sure that there are no nested folders within this ZIP package.
- Navigate to Microsoft Teams Admin Center. Under Teams apps > Manage apps section, click + Upload and upload ZIP package file created in the previous step. Once upload is complete, you will be able to see the Teams-Notification app under the Manage apps tab as shown below.
- Ensure that Custom App policy permission has been enabled under Permission Policies.
- Now add this app to App Setup Policies, which in turn will make the app visible to all users in Microsoft Teams canvas. To add this for all users, select Global Policy.
- Now set the sequence to make the app visible to each user. We recommend to pin the app in the top 5, so that it is easily visible to end users on each client. Hit Save to make this change.
- That’s it! You will now see the Teams-Notification App pinned on every user’s Teams App experience and you can run the app successfully.
Run Windows Powershell as administrator and install following Powershell modules to configure Powershell for this solution. Exchange Online Module: Copy and Paste the following command to install this package using PowerShellGet. Know More
Install-Module -Name ExchangeOnlineManagement
To know more about Exchange Online Powershell Module, click here
Microsoft Teams Module: Copy and Paste the following command to install this package using PowerShellGet. Know More
Install-Module -Name MicrosoftTeams
To know more about installation of Microsoft Teams Powershell Module, click here
- Select "Send Notification" in Action column corresponding to notification entry in the Sharepoint Online list created in Step 2.
- Launch Powershell in Administrator mode. Skip this step if already launched.
- Download Notification.ps1 and NotificationUtil.psm1 from this git repository into a local folder.
- Run NotificationUtil.psm1 script first to load utility library functions.
- Launch Notification.ps1 powershell script. If you have done all above steps correctly, you will see following output.
- Press "Y" to proceed. You will see similar output as given below.
- Member of the O365 group would have received the sent notification in Microsoft Teams chat.
- Select "Send Reminder" in Action column corresponding to notification entry in the Sharepoint Online list created in Step 2.
- Launch Powershell in Administrator mode. Skip this step if already launched.
- Download Notification.ps1 and NotificationUtil.psm1 from this git repository into a local folder. Skip this step if already downloaded.
- Run NotificationUtil.psm1 script first to load utility library functions. Skip this step if already done.
- Launch Notification.ps1 powershell script. If you have done all above steps correctly, you will see following output.
- Press "Y" to proceed. You will see similar output as given below.
- Member of the O365 group would have received the sent reminder in Microsoft Teams activity feed.