-
Notifications
You must be signed in to change notification settings - Fork 206
Deployment guide
To begin, you will need:
- An Azure subscription where you can create the following kinds of resources:
- Azure Logic App
- App service
- App service plan
- Bot channels registration
- Azure Cosmos DB account
- Application Insights
- A copy of the Icebreaker app GitHub repo (https://github.com/officedev/microsoft-teams-icebreaker-app)
- This is not a pre-requisite per se, but here is a video walkthrough of this deployment if you'd like to follow along as you go through your own deployment.
<iframe width="1280" height="720" src="https://www.youtube.com/embed/BkoLT3MEtZg" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Register one multi-tenant Azure AD application with one Secret.
-
Log in to the Azure Portal for your subscription, and go to the “App registrations” blade at https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview.
-
Click on "New registration", and create an Azure AD application.
- Name: The name of your Teams app - if you are following the template for a default deployment, we recommend "Icebreaker".
- Supported account types: Select "Accounts in any organizational directory"
- Leave the "Redirect URI" field blank.
-
Click on the "Register" button.
-
When the app is registered, you'll be taken to the app's "Overview" page. Copy the Application (client) ID; we will need it later. Verify that the "Supported account types" is set to Multiple organizations.
-
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 for the Expires selection, select Never. Click "Add".
-
Once the client secret is created, copy its Value; we will need it later.
At this point you have 2 unique values:
- One application (client) ID
- One client secret
-
Click on the "Deploy to Azure" button below.
-
When prompted, log in to your Azure subscription.
-
Azure will create a "Custom deployment" based on the ARM template and ask you to fill in the template parameters.
-
Select a subscription and resource group.
- We recommend creating a new resource group.
- The resource group location MUST be in a datacenter that supports Application Insights. For an up-to-date list, refer to https://azure.microsoft.com/en-us/global-infrastructure/services/?products=monitor, under "Application Insights".
-
Fill in the various IDs in the template:
- Bot App ID: The Application (client) ID from the Azure AD application created above
- Bot App Password: The client secret from the Azure AD application created above
Make sure that the values are copied as-is, with no extra spaces. The template checks that the GUID is exactly 36 characters.
-
Agree to the Azure terms and conditions by clicking on the check box “I agree to the terms and conditions stated above” located at the bottom of the page.
-
Click on “Purchase” to start the deployment.
-
Wait for the deployment to finish. You can check the progress of the deployment from the "Notifications" pane of the Azure Portal.
-
Once completed, navigate to the App Service you have created (it should be of type Microsoft.Web/sites with a name similar to "icebreaker-XXXXXXXXXXXXX"). Copy its URL; we will need it later. It should be similar to "https://icebreaker-XXXXXXXXXXXXX.azurewebsites.net" where the X's are the hash.
-
Open the
Manifest\manifest.json
file in a text editor. -
Change the placeholder fields in the manifest to values appropriate for your organization.
-
developer.name
(What's this?) developer.websiteUrl
developer.privacyUrl
developer.termsOfUseUrl
-
-
Change the “botId” placeholder to your Azure AD application's ID from above. This is the same GUID that you entered in the template under “Bot App ID”.
-
In the "validDomains" section, replace the placeholder with your App Service's domain. This is your App Service's URL you copied above WITHOUT the "https://" e.g. "icebreaker-XXXXXXXXXXXXX.azurewebsites.net".
-
Create a ZIP package with
manifest.json
,color.png
, andoutline.png
. The two image files are the icons for your app in Teams.- Make sure that the 3 files are the top level of the ZIP package, with no nested folders.
-
If your tenant has sideloading apps enabled, you can install your app to a team by following the instructions below.
- Upload package to a team using the Apps tab: https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/apps/apps-upload#upload-your-package-into-a-team-using-the-apps-tab
- Upload package to a team using the Store: https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/apps/apps-upload#upload-your-package-into-a-team-or-conversation-using-the-store
-
You can also upload it to your tenant's app catalog, so that it can be available for everyone in your tenant to install: https://docs.microsoft.com/en-us/microsoftteams/tenant-apps-catalog-teams
Please see our Troubleshooting page.