Connect Microsoft Teams

Instructions to setup Zavvy's Microsoft Team integration for your Organisation. The integration will install a Zavvy bot into your Teams account so that Zavvy can write to the members of your organisation directly on the Teams app with content, reminders and notifications.

Step 1: Download and submit Zavvy app to Microsoft Teams

The Zavvy bot is added to Teams as part of a Zavvy Teams app. This Teams app from Zavvy is a very simple app that just has the bot.

  • Download the app from here.
  • Open your Microsoft Teams application and navigate to "Apps" from the bottom-left of the app.
  • On the lower-left corner of the Apps screen, click on the “Manager your apps” button.
  • On the “Manager your apps” page, select “Publish an app > Submit an app to you org” and upload the downloaded ZIP file from the previous step.
  • Upon successful upload, the screen will show that the app is submitted to your admin and under “Pending requests,  app's status will show "Pending".

Step 2: Approval of Zavvy app by your organisation's Teams' admin

The custom apps that are submitted to an organisation's app catalogue have to be approved by a Teams admin in your organisation.

If you are the admin, follow the steps below to approve the app.If you are not an admin, share these with your admin.If you are not sure, just follow along and you will see an error if you are not an admin
  • Navigate to https://admin.teams.microsoft.com/policies/manage-apps.
  • On the top-right of the table with all the apps, use the search bar to search for Zavvy and open the app details by clicking on the app's name.
  • On the app page, in the app card, look for "Publish" button and click it to "Publish" the app.

Step 3: Finish the step on Zavvy by your organisation's Microsoft Admin

❗ *If you are the admin, follow the steps below to finish the integration.
If you are not an admin, share these with your admin. You will have to invite them to Zavvy as an admin for them to be able to follow these steps.

If you are not sure, just follow along and you will see an error if you are not an admin*

To finish the integration, navigate to https://app.zage.life/company_admin/integrations and select"Connect Microsoft" and finish the setup.

Congratulations! Microsoft Teams integration between your organisation's Microsoft Account and  your Zavvy account is complete.

Updating the Zavvy app

Step 1: Download and submit the latest Zavvy app to Microsoft Teams

  • Download the latest version of the app from here.
  • Open your Microsoft Teams application and navigate to "Apps" from the bottom-left of the app.
  • On the lower-left corner of the Apps screen, click on the "Submit to app catalogue" button.
  • On the "Submit to your organisation's app catalogue" page, select "Submit an app" and upload the downloaded ZIP file from the previous step.
  • Upon successful upload, the app's status will show "Upgrade Pending".

Step 2: Approval of Zavvy app by your organisation's Teams' admin

The custom app upgrades that are submitted to an organisation's app catalogue have to be approved by a Teams admin in your organisation.

If you are the admin, follow the steps below to approve the app.If you are not an admin, share these with your admin.If you are not sure, just follow along and you will see an error if you are not an admin
  • Navigate to https://admin.teams.microsoft.com/policies/manage-apps.
  • On the top-right of the table with all the apps, use the search bar to search for Zavvy and open the app details by clicking on the app's name.
  • On the app page, click on "Update available" and in the popup select "Publish".

Congratulations! Zavvy Teams app is now updated in your Microsoft Teams.

Appendix: Permissions and access

To integrate with Microsoft Teams, Zavvy requests different permissions from the Company's admin during the integration flow. Though the permissions we request have a broader scope, we don't need the full extent of these scopes. We are limited to requesting permission to these scopes because of how Microsoft's APIs' permissions are set.

In this document, we try to summarise all the actions we perform and the data we access from a company's Microsoft integration.

  • Groups/Teams:We query for all Groups that also have a corresponding Team in the Teams app in a company's Microsoft directory so that we let the admin select which Team to install the app into. Once a team is selected, we store the Team ID to store the Team's ID.
  • Create channel / Add or remove members from Channels:We would create a channel with Multiple users if they are assigned in a Cohort to complete a Journey together. Currently, there are some limitations Microsoft Teams. So, we don't use this as of now.
  • Read members of all teams:To send a message to a user on Teams, we need to get their Microsoft IDs to target API calls to the users. To do this, we search among all the users in the company's Microsoft account to find the users that are also on Zavvy using their email addresses. We then store those IDs.During this process, the API calls to Microsoft returns additional information like user's name etc., we only store the IDs to identify the user in the Teams app to send them a message. All other data is discarded.
  • Manage teams appsWe built the integration flow to minimise the actions an Admin has to perform to integrate Zavvy with Teams. During the integration flow, we look up if Zavvy app is already installed. If not, we install it.
  • App catalogTo install an app, we must find the app's ID in the catalog for a Microsoft account.

Other data that is stored.

Tenant ID to identify a Company uniquely on Microsoft. This is what we use to target call to a specific company.Team ID to identify a Team within a company's Microsoft account.

Other identifiers to be able to identify a user to send them messages.

As of this writing, no personal data of the users is pulled from Microsoft integration/APIs to be stored. There might be some personal data returned from the API calls (for example where looking up a user using their email) but this is discarded and not stored anywhere in our systems.