**Source URL:** https://limited.veevavault.dev/quality/mdl/component-types/qualityteam

**Class:** `metadata`

This component is specific to Quality family Vaults and supports the Quality Teams feature of the Veeva QMS application. Admins can create and configure *Quality Teams* and *Quality Team Roles* to suit their needs. Quality Teams allow users to make individual work assignments to individual Change Controls, Audits, CAPAs, or other Quality Event-related processes.

Learn about [Quality Teams in Vault Help](https://quality.veevavault.help/en/lr/54508).

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `destination_state` | Type: Subcomponent | If change state on team completion is selected, this is the state the team enabled record will change into. Note: This is required on change state when team completion is selected. |
| `initial_state` | Type: Subcomponent | If change state on team completion is selected, it will only occur while team complete happens if the team enabled record is in this state. Note: Required change state when team completion is selected. |
| `locked_in_states` | Type: String Max length: 1500 Multi-value | While the record is any one of these states, no user in the Vault may change team member assignments for any role. This supersedes all security configurations. Note: When using cascade of team member updates between records, records in this state will not reflect team membership changes, but will also not cause an error. |
| `object` | Type: Component **Required** | The object the `Qualityteam` applies to. |
| `objectlifecycle` | Type: Component | Must be the lifecycle for the selected object or type. |
| `objecttype` | Type: Component | If left blank, team will apply to all records of this object that do not have a team defined for this type. |
| `process_relationships` | Type: String Max length: 1500 Multi-value | No function at this time. |
| `quality_team_member_object_name` | Type: String Max length: 100 | For internal Veeva use only. Used by Vault to correctly name and associate the appropriate data storage object for a `Qualityteam` when migrating configurations between Vaults. |
| `record_trigger` | Type: ComponentReference | References a  component. |
| `recordrole_trigger` | Type: ComponentReference | References a  component. |

### Qualityteamrolemembershiprestriction

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `exclusive_role` | Type: String Max length: 1500 | Deprecated as of 24R3.2. Existing configurations migrated to `exclusive_team_role` attribute upon `CREATE` or `RECREATE` if the impacted `Qualityteam` component does not already exist in the Vault. For updates to existing teams, use `exclusive_team_role`. Prior to 24R3.2, indicated the role to restrict. Users in the specified `role` cannot be assigned to this role. |
| `exclusive_team_role` | Type: SubcomponentReference | The associated exclusive *Quality Team Role*. Users may not be assigned membership to both the `team_role` and `exclusive_team_role` roles on a given team-enabled record Component attribute is mutually exclusive with a value for the ‘exclusive\_role’ attribute. Replaced `exclusive_role` attribute as of 24R3.2. |
| `quality_team` | Type: ComponentReference | The *Quality Team* with roles abiding by exclusive membership rules. |
| `role` | Type: String Max length: 1500 | Deprecated as of 24R3.2. Existing configurations migrated to `team_role` attribute upon `CREATE` or `RECREATE` if the impacted `Qualityteam` component does not already exist in the Vault. For updates to existing teams, use `team_role`. Prior to 24R3.2, indicated the role to which to apply the restriction. For example, `Applicationrole.editor__c`. Only roles with `exclusive_membership` set to `false` are eligible. |
| `team_role` | Type: SubcomponentReference | The *Quality Team Role* of the associated team which has its membership restricted. Users may not be assigned membership to both the `team_role` and `exclusive_team_role` roles on a given team-enabled record. Component attribute is mutually exclusive with a value for the ‘role’ attribute. Replaced `role` attribute as of 24R3.2. |

### Qualityteamrole

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `cascade_behavior` | Type: Enum **Required** Allowed values: NOT\_APPLICABLE; INHERIT\_ALLOW\_OVERRIDE; MULTI\_SOURCE\_SINGLE\_INHERIT | Indicates if the membership of this role can be governed by the membership of a related records *Team Role*. Enums: `NOT_APPLICABLE` - These team role assignments are self-governed; `INHERIT_ALLOW_OVERRIDE` - These team role assignments will atempt to inherit changes in team role assgnments on the record related by the cascade from the field value. This matches on application role and enables user editing team membership to override or restore team membership assignments at the record level.; `MULTI_SOURCE_SINGLE_INHERIT` - Allows a Quality Team Role to be inherited from any source object with an inbound relationship to the object on which the Quality Team Role is configured. |
| `cascade_from_multiple_relationship` | Type: Subcomponent Multi-value | The object reference fields from which the team role should inherit behavior. For example, `'Field.complaint__v','Field.medtech_capa__v’`. |
| `cascade_from_relationship` | Type: Subcomponent | Required if cascade behavior is set to anything other than `NOT_APPLICABLE`. Defines the field which indicates the record from which team assignments should be inherited. |
| `constraining_role` | Type: String Max length: 1500 | Limits selection of users when editing this team role's membership to the current membership of the specified application role on the team enabled record. |
| `display_order` | Type: Number **Required** | The order in which this *Team Role* will display to viewers and editors of the team enabled record. |
| `exclusive_membership` | Type: Boolean | If `true`, users in this role cannot be assigned to any other team role while assigned to this team role. If omitted, the default value is `false`. |
| `help_content` | Type: String Max length: 255 | Hover text to display for the (?) icon in Business Admin for this object. Custom help text that appears in the UI when users hover over the field. |
| `linked_application_role` | Type: String Max length: 1500 | The role into which *Team Role* assignments for a team enabled record are inserted. This role defines the permissions and sharing settings role that team members will be granted. |
| `linked_field` | Type: Subcomponent | References an object field on the team-enabled object which is bound to the `user__sys` object. If included, Vault updates the identified user field whenever the membership of the `Qualityteamrole` on a given record is updated, and users are no longer able to edit that field. If omitted, the default value is `null`. |
| `locked_in_states` | Type: String Max length: 1500 Multi-value | While the record is any one of these states, no user in the Vault may change team member assignments for any role. This supersedes all security configurations. Note: When using cascade of team member updates between records, records in this state will not reflect team membership changes, but will also not cause an error. |
| `maximum_user_in_role` | Type: Number **Required** | Maximum number of users selected for a *Team Role* per record. Maximum must be greater than minimum. |
| `minimum_user_in_role` | Type: Number **Required** | Minimum number of users selected for a *Team Role* per record. Value of zero means the role is purely optional. Population of the role will not affect team completeness record behaviors. |
| `object` | Type: Component **Required** | The object the `Qualityteam` applies to. |
| `objectlifecycle` | Type: Component | Must be the lifecycle for the selected object or type. |

### Qualityteamrelatedobjectsecurity

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether the component is active. |
| `app_security_assignment` | Type: SubcomponentReference **Required** | For internal Veeva Use only. |
| `app_security_rule` | Type: ComponentReference **Required** | For internal Veeva Use only. |
| `application_role` | Type: String **Required** Max length: 1500 | Specifies the application role defining the access that the `quality_team_role` should possess on the related object. For example, `Applicationrole.owner__v`. |
| `outbound_reference_field` | Type: Subcomponent **Required** | Specifies the outbound reference field from the related object which defines the Quality-Team-enabled object. For example, `Field.source_deviation__v`. |
| `quality_team` | Type: ComponentReference **Required** | The *Quality Team* with roles abiding by exclusive membership rules. |
| `quality_team_role` | Type: SubcomponentReference **Required** | Specifies the Quality Team Role on the Quality Team-enabled object that defines the mapping. For example, `Qualityteamrole.owner__c`. |
| `related_object` | Type: Component **Required** | The `Object` for which to define the security mapping. For example, `Object.related_event__v`. |

### Supported Operations

| Operation | Support |
| --- | --- |
| Create | Yes |
| Recreate | Yes |
| Alter | Yes\* |
| Drop | Yes |
| Rename | Yes |
| Describe | Yes |
| Generate Recreate | Yes |
| Queryable | No |

**Notes:**

*   **Alter:** MDL Operation may not be supported for some multi-value attributes.

---

**Previous:** [Qualityreportabilitydecisiontreeconfig](/quality/mdl/component-types/qualityreportabilitydecisiontreeconfig)  
**Next:** [Qualityteamlifecycleassociation](/quality/mdl/component-types/qualityteamlifecycleassociation)