Deployment Guide manual - OfficeDev/microsoft-teams-apps-icebreaker GitHub Wiki
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. Icebreaker video walkthrough
For PowerShell deployment (new automated approach) please use this deployment guide.
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 select an expiry time. 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.
-
Click on "Review + create" to start the deployment. It will validate the parameters provided in the template. Once the validation is passed, click on "Create" 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.