root.elementRelationshipSet object
Describes relationships among individual app capabilities, including staticTabs
, configurableTabs
, composeExtensions
, and bots
. It's used to specify runtime dependencies to ensure that the app only launches in applicable Microsoft 365 hosts, such as Teams, Outlook, and the Microsoft 365 (Office) app. For more information, see how to specify runtime requirements in your app manifest.
Properties that reference this object type:
Syntax
Properties
oneWayDependencies
Defines one or more unidirectional dependency relationships among app components (each represented by a oneWayDependency
object with a dependent element
and a dependsOn
element
).
Type
Array of oneWayDependency
Required
—
Constraints
Minimum array items: 1.
Supported values
mutualDependencies
Defines one or more mutual dependency relationships among app capabilities (each represented by a mutualDependency
array of element
objects).
Use the mutualDependencies
array to group app capabilities that must load together to support their intended function. Each object in the array represents a set of mutually dependent app capabilities. The following JSON snippet shows a bot, static tab, message extension, and configurable tab that are mutually dependent on each other:
"elementRelationshipSet": {
"mutualDependencies" : [
[
{"name" : "bots", "id" : "bot-id"},
{"name" : "staticTabs", "id" : "staticTab-id"},
{"name" : "composeExtensions", "id" : "composeExtension-id"},
{"name" : "configurableTabs", "id": "configurableTab-id"}
]
]
}
Note
The mutualDependencies
property is a list of mutual dependency groups, and is defined in JSON as an array of arrays. The outer array defines the list of dependency groups and must have at least one item in the array. The inner array is the list of mutual dependencies for each group and must have at least two items in the array.
Type
Array of elementReference
Required
—
Constraints
Minimum array items: 2. Minimum array items: 1.
Supported values
Examples
{
"elementRelationshipSet": {
"oneWayDependencies" : [
{
"element" : {
"name" : "composeExtensions",
"id" : "composeExtension-id",
"commandIds": ["exampleCmd1", "exampleCmd2"]
},
"dependsOn" : [
{"name" : "bots", "id" : "bot-id"}
]
}
]
}
}