Company Communicator #1 most requested feature is improved reporting (yeah, we all need that) and I know some colleagues are already working on that :).

But what about #2? That is the ability to have groups of authors targeting only a limited set of users. That is, think about installing multiple instances of the message composition app for specific authors and then controlling which groups are allowed for those authors.

By default CC allows any users listed on the AuthorizedCreatorUpns configuration variable to send communications for any Active Directory groups, any teams with the bot installed, any user in your organization. I’ve seen dozens of customers asking if there is a way to restrict the groups, so authors can’t send a communication “by mistake” to every person in your company.

Well. You can now do that… actually you can help us to test a new Company Communicator variant that has the ability to segment composition by authors and target specific authorized groups.

The new administration level (Master Admins)

To create that feature we implemented a new administration level. The master admins group.

Master admins install Company Communicator for different business units (in their specific Teams channels), they also configure CC for that specific business unit, customizing the card and listing all groups that are authorized for authors with access to a specific instance of the composition interface.

Azure admins need to list all master admins on a new configuration variable for the CC App Service named MasterAdminUpns. The Azure administrator also enable the targeting mode by setting up a new boolean configuration variable named TargetingEnabled.

That is, after re-sync your deployment against the variation repo/branch, you need to go ahead and configure those two variables to enable the targeting functionality.

  • TargetingEnabled: [true|false] – Enables/disables the CC targeting feature.
  • MasterAdminUpns: UPN – List all upns for the master admins.

You also need to list the master admins in the AuthorizedCreatorUpns so they can use the composition interface to customize the application for a specific business unit.

Installing the Authors Interface with Targeting mode enabled

When you enable the targeting mode and list your user as master admin, you can go ahead and install the authors interface in any channel. We are using a paradigm where you represent a specific business unit using a Teams team and channel.

Let’s suppose you are configuring Company Communicator to allow communication for the Sales and Marketing Department. First step is to go to the Sales and Marketing team and create a new channel, let’s call it Sales News.

I included just Megan Bowen as an authorized author for the Sales News channel (she is already listed on the AuthorizedCreatorUpns configuration variable in Azure).

Now we can setup Company Communicator on the new channel. Click on (+) at the top of the screen and install the CC authors interface. You will see the first change we implemented right on the configuration page.

If you have a private channel, the system will mention the name of the channel twice, if you have a public channel, the name of the team followed by the name of the channel will appear. The system also recognizes you as a master admin and show your UPN.

If a non admin user attempts to install the app, an error message will be shown asking the person to contact a master admin.

Business Unit Configuration

In our example, the Sales and Marketing / Sales News is a business unit. You may have as many as you want, and the idea behind this variant is to ensure you will have a set of messages that are exclusive for that business unit. Exclusive in terms that you have a controlled set of authors that have access to the composition interface and you can also control and allow those authors to choose just a specific set of groups to target and send the message.

Now that you have the authors interface installed for the Sales News, go ahead and click on the new button that you will see on the top right corner. Manage Groups.

When you click on Manage Groups you get access to the personalization interface for this business unit. You can upload an image and a BU title that will be used to personalize the messages originated from this instance of the authors interface.

That is the place where you define the authorized target groups. Those will be the only groups available for Megan Bowen (the non admin author) when she creates and send new messages using the app.

On the above screen you see that a small logo was uploaded, the title was defined as Sales and Marketing News and three target groups were defined. Click close to save those configurations back to the database.

The app is ready to create new messages. Ask Megan to access the app and create messages, she will be restricted to the three groups you defined when sending the notification. She will also send all messages branded with your business unit logo and title.

Creating New Messages

If you create new messages using a master admin account, you will have flexibility to select any targets for the message. See below.

Now let’s use teams as Megan Bowen. Note that she doesn’t have the Manage Groups button. She can only create messages.

She can also create messages using the interface, but she can’t send to everyone. Only the defined set of groups defined by the master admin is available for her.

Another cool thing is that master admins can create messages, select the send to all and then allow Megan just send the message. She can’t select the everyone option, but a master admin can pre-select and leave the message to be sent by Megan (or other author).

How to Update your Company Communicator Deployment

Please be aware that this variation is under development and may not be 100% stable. I invite you to test and provide feedback. Follow the steps below to update your Company Communicator 4.1 deployment.

  1. Open your Azure Portal and authenticate using admin credentials.
  2. Open the resource group where you installed Company Communicator.
  3. Select the App Service being used by CC and click on Deployment Center, under Deployment.
  4. In Settings, click Disconnect under External Git.
  1. Click OK to disconnect your deployment.
  2. Under Source, select External Git.
  1. In Repository, type https://github.com/cristianoag/microsoft-teams-apps-company-communicator.git
  2. In Branch, type master
  3. Leave the Repository Type as Public, and click Save.
  4. Click Sync.
  5. The whole update process will take a few minutes. Make sure you see Success (Active) on the logs tab.
  6. Now repeat that for each one of the Azure Functions you have on the same resource group. Those are the resources listed as:
    • <ccname>-data-function
    • <ccname>-function
    • <ccname>-prep-function

Enjoy… Cristiano.

Disclaimer – The information contained in this blog post doesn’t represent the official Microsoft guidance or best practices. It is just the view of the author on current alternatives, implementations and workarounds for common issues and/or business needs. Please refer to official Microsoft documentation and evaluate carefully any steps, code or procedures documented herein. The author doesn’t offer any warranty. Use this information at your own risk.