Skip to content

Releases: OfficeDev/microsoft-teams-app-schema

Schema v1.12

14 Mar 17:56
789c543
Compare
Choose a tag to compare

Schema v1.11

06 Jan 11:47
5830305
Compare
Choose a tag to compare

Clean-up

Removal of supported platform properties which is a feature that was cancelled for public release.
Compose extension id should be a guid definition not a bot id

Schema v1.10

10 May 15:43
024c127
Compare
Choose a tag to compare

App Customization

App customization enables admins to change the look-and-feel of the apps loaded through bots, messaging extensions, tabs, and connectors. For example, if the Teams admin customizes the name of an app from Contoso to Contoso Agent, then the app will appear with the new name Contoso Agent to users. However, while adding a connector to a chat, in the list the connectors will still show the name of the app as Contoso

Please refer to the documentation regarding the schema property:
configurableProperties
https://docs.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema#configurableproperties

Schema v1.9

27 Jan 21:08
29a8c86
Compare
Choose a tag to compare

Changes in this release:

MicrosoftTeams.schema.json

defaultInstallScope
Provides a way specify the default installation scope for their apps so the app install experience will make it the default option for users. The rest will be moved to the chevron.

defaultGroupCapability
This value is related to "defaultInstallScope" where you can specify the default capability in the case of having multiple capabilities when your app is installed in the group scope.

Schema v1.5

17 May 17:55
ff2e595
Compare
Choose a tag to compare

Changes in this release:

MicrosoftTeams.schema.json

  1. mpnId field has been added to the developer object's properties. This indicates the Microsoft Partner Network ID which identifies the partner organization building the app. This field is not required, and should only be used if you are already part of the Microsoft Partner Network. More info at https://aka.ms/partner
  2. localizationInfo object has been added. It is optional and allows you to specify your default language if other than English and the additional languages for which your app is localized. These include:
    • The defaultLanguageTag of your app
    • additionalLanguages for your app and the file location of their localized strings
  3. context property has been added to composeExtensions[].commands[] object's properties. This indicates which contexts a command is applicable in. It currently supports three values: compose, commandBox, and message.
  4. messageHandlers[] has been added to the composeExtensions[].commands[] object's properties. This allows an app to specify which domains it wants to provide link previews for. The app can specify 1 or more domains it wants to register, but the same domains need to part of its validDomains[] field as well.
  5. choiceset has been added to the composeExtensions[].commands[].parameters[].inputType property's enum.  This allows the compose extension to specify a limited set of choices that the user can input. 
  6. choices property has been added to composeExtensions[].commands[].parameters[] to be used in conjunction with the choiceset inputType, where the compose extension can specify the inputs it wants to display to the user.
  7. taskInfo has been added to the composeExtensions[].commands[] object's properties. This allows developers to specify the task module to preload when using a messaging extension command. 

MicrosoftTeams.Localization.schema.json

This new json file defines the schema for the localized strings file. A localized strings file should be added to the app package for any app which is localized for more than one language. There should be one localized strings file per language in the form <languageTag>.json. The properties in this schema are the JSON paths to the manifest values that are being localized, and you can choose to localize as few or as many of these properties as applies to your app.

Properties

  1. name.short property specifies the localized short name of your app.
  2. name.full property specifies the localized full name of your app.
  3. description.short property specifies the localized short description of your app.
  4. description.full property specifies the localized full description of your app.

Pattern Properties
The name of each of the pattern properties you use should match the regular expressions defined below.

  1. ^staticTabs\[([0-9]|1[0-5])\]\.name$ pattern property allows you to specify the localized value of up to 16 static tabs. E.g staticTabs[13].name
  2. ^bots\[0\]\.commandLists\[[0-2]\]\.commands\[[0-9]\]\.title$ pattern property allows you to specify the localized value of your bot[].commandLists[].commands[].title property. E.g. bot[0].commandLists[1].commands[5].title
  3. ^bots\[0\]\.commandLists\[[0-2]\]\.commands\[[0-9]\]\.description$ pattern property allows you to specify the localized value of bot[].commandLists[].commands[].description property. E.g. bot[0].commandLists[1].commands[5].description
  4. ^composeExtensions\[0\]\.commands\[[0-9]\]\.title$ pattern property allows you to specify the localized value of your composeExtensions[].commands[].title property. E.g composeExtensions[0].commands[2].title
  5. ^composeExtensions\[0\]\.commands\[[0-9]\]\.description$ pattern property allows you to specify the localized value of your composeExtensions[].commands[].description property. E.g composeExtensions[0].commands[2].description
  6. ^composeExtensions\[0\]\.commands\[[0-9]\]\.parameters\[[0-4]\]\.title$ pattern property allows you to specify the localized value of your composeExtensions[].commands[].parameters[].title property. E.g. composeExtensions[0].commands[2].parameters[0].title
  7. ^composeExtensions\[0\]\.commands\[[0-9]\]\.parameters\[[0-4]\]\.description$ pattern property allows you to specify the localized value of your  composeExtensions[].commands[].parameters[].description parameter. E.g. composeExtensions[0].commands[2].parameters[0].description
  8. ^composeExtensions\[0\]\.commands\[[0-9]\]\.parameters\[[0-4]\]\.value$ pattern property allows you to specify the localized value of the value of your composeExtensions[].commands[].parameters[].value property. E.g. composeExtensions[0].commands[2].parameters[0].value
  9. ^composeExtensions\[0\]\.commands\[[0-9]\]\.parameters\[[0-4]\]\.choices\[[0-9]\]\.title$ pattern property allows you to specify the localized value of the composeExtension[].commands[].parameter[].choices[].title property. E.g composeExtension[0].command[2].parameter[0].choices[5].title

Schema v1.4

04 Apr 18:28
Compare
Choose a tag to compare

Changes in this release:

  1. groupchat scope has been added to bots. App developers can specify this scope to enable their bots to be added to group conversations.
  2. type field has been added to the composeExtensions[].commands[] objects' properties. This indicates whether this command is a query or action.
  3. fetchTask property has been added to the composeExtensions[].commands[] objects' properties. It should only be set for commands that are of type action. This indicates whether to fetch the task module dynamically, or whether the task module is statically defined by parameters in the manifest.
  4. inputType property has been added to the composeExtensions[].commands[].parameters[] objects' properties. For commands that are of type action, this indicates whether the command is of type text, textarea, number, date, time, or toggle. For commands that are of type query, this should always be set to text.
  5. devicePermissions property has been added to the root object and allows app developers to request access to features on the user’s device. This property only takes affect in tab-based capabilities. The value of this property must be one of:
    • geolocation - Access a user’s location
    • media - Access a user’s camera, microphone and speakers
    • notifications - Send notifications
    • midi - Send and receive midi information from a digital musical instrument
    • openExternal - Open links in external applications.
  6. webApplicationInfo property has been added to the root object and allows an app developer to specify their AAD App ID and Graph information to help users seamlessly sign in.
  7. supportedSharePointHosts defines how the tab will be made available in SharePoint. This property has been added to the configurableTabs[] objects and defines how the tab integrates with SharePoint. Possible values are:
    • sharePointFullPage - Runs the tab as an "app page" (a full screen experience) in SharePoint
    • sharePointWebPart - Runs the tab as a "web part" (a page component) in SharePoint
  8. sharePointPreviewImage property has been added to the configurableTabs[] objects and is a relative file path to a tab preview image for use in SharePoint. The image must be included in your app package zip file.

Schema v1.3

07 Aug 23:35
42b0ed0
Compare
Choose a tag to compare

Changes in this release:

  1. groupchat scope has been added to configurableTabs and bots. Specify this scope to enable your users to add your bot or tab inside of a group chat.
  2. supportsFiles flag has been added to bots. Set this to true to indicate that your bot supports files.
  3. configurationUrl was added to connectors. This is used to support inline configuration for custom connectors, a la Teams tabs.
  4. The maximum number of commands for a messaging extension has been increased from 1 to 10. Multiple command support has been enabled for messaging extensions.

Schema v1.2

28 Jun 17:42
1d52d52
Compare
Choose a tag to compare
Schema 1.2

Schema v1.1

28 Jun 17:40
8c5527f
Compare
Choose a tag to compare
Schema 1.1

Schema v1.0

28 Jun 17:41
b85ee5b
Compare
Choose a tag to compare
Schema 1.0