Configuring Teamwork templates

Configuring Teamwork templates

Valo Teamwork offers different types of templates which can be used to create consistent Microsoft Teams, SharePoint sites and Microsoft 365 groups with predefined configuration. This section demonstrates what configuration is supported for each kind of Teamwork template.

Template types

The table below lists all supported Valo Teamwork templates:

Valo Template Description
Interest Group Creates a Microsoft 365 group with Microsoft Yammer
Project Creates a Microsoft 365 group
Communication Site Create a communication site
Modern Team Site Creates a modern team site without Microsoft 365 group
Classic Publishing Site Creates an classic SharePoint site
Steering Group Creates a Microsoft 365 group with a customized Modern SharePoint team site. Note that PnP will be used for customizing the modern team site
Team Creates a Microsoft Teams team)
HR Onboarding Creates a Microsoft Teams team with four tabs (Posts, Files, Onboarding tasks and Team Info
Extracted Team Creates a Microsoft Teams team based on an extracted team template

Template schemas

Teamwork templates are created based on two XML schemas:

XML schema Usage Related Teamwork templates
UnifiedGroup Used for all workspaces based on Microsoft 365 groups Interest Group; Project; Steering Group; Team; Extracted Team
TeamworkSite Used for all workspaces based on Microsoft SharePoint Communication Site; Modern Team Site; Classic Publishing Site

Namespace

The namespace of this Teamwork template is:

http://www.meteoriitti.com/ns/genesisxml

All the elements have to be declared with that namespace reference.

Root Elements

Here follows the list of root elements available in the Teamwork schemas.

UnifiedGroup schema

Here follows the list of root elements available in UnifiedGroup schema.

<UnifiedGroup xmlns="http://www.meteoriitti.com/ns/genesisxml">
  <Settings />
  <Planner />
  <OneDrive />
  <Yammer />
  <Teams />
  <SharePoint />
  <GroupMetadata />
</UnifiedGroup>

Here follow the available child elements for the UnifiedGroup element.

Element Type Description
Settings Settings General settings for Teamwork templates.
Planner Planner Entry point to manage Microsoft Planner provisioning
OneDrive OneDrive Entry point to manage Microsoft OneDrive
Yammer Yammer Entry point to manage Microsoft Yammer
Teams Teams Entry point to manage Microsoft Teams provisioning
SharePoint SharePoint Entry point to manage Microsoft SharePoint provisioning
GroupMetadata GroupMetadata Entry point to manage template metadata

Here follow the available attributes for the UnifiedGroup element.

Attribute Type Description Required Default
SuppressWelcomeMessage xsd:boolean Suppress welcome message in Microsoft Teams team No false

TeamworkSite schema

Here follows the list of root elements available in TeamworkSite schema.

<TeamworkSite>
  <SiteCollection />
</TeamworkSite>

Here follow the available child elements for the UnifiedGroup element.

Element Type Description
SiteCollection SiteCollection Defines a classic SharePoint site
ModernSite ModernSite Defines a modern SharePoint site

Child Elements and Complex Types

Settings

General settings for Teamwork templates.

<Settings>
  <Visibility />
  <ExternalSharing />
</Settings>

Here follow the available child elements for the Settings element.

Element Type Description
Visibility Visibility Defines the template’s visibility
ExternalSharing ExternalSharing Defines the templates’ external sharing capability

Visibility

Describes Teamwork template’s visibility and the behavior of the visibility field in Teamwork orders form.

<Visibility
    AllowUserToSelect=""
    Visibility=""
    ShowFieldOnOrderForm="" / >

Here follow the available attributes for the Visibility element.

Attribute Type Description Required Default
AllowUserToSelect xsd:boolean Defines if user can select visibility in Teamwork orders form Yes true
Visibility xsd:string Defines default value for template’s visibility. Possible values are: Private, Public and Empty (“”) No Empty (“”)
ShowFieldOnOrderForm xsd:boolean Defines if visibility field will appear in Teamwork orders form Yes true

ExternalSharing

Describes if external users can access Teamwork template and the behavior of the allow external user field in Teamwork orders form.

<ExternalSharing
    AllowUserToSelect=""
    AllowExternalSharing=""
    ShowFieldOnOrderForm="" / >

Here follow the available attributes for the ExternalSharing element.

Attribute Type Description Required Default
AllowUserToSelect xsd:boolean Defines if user can allow external users in Teamwork orders form Yes true
AllowExternalSharing xsd:string Defines default value for allow external user in template. Possible values are: False, True and Empty (“”) No Empty (“”)
ShowFieldOnOrderForm xsd:boolean Defines if allow external user field will appear in Teamwork orders form Yes true

Planner

Entry point to manage Microsoft Planner provisioning.

<Planner>
  <Plans />
</Planner>

Here follow the available child elements for the Planner element.

Element Type Description
Plans Plans Defines the plans for Microsoft 365 group

Plans

Defines the plans for Microsoft 365 group

<Plans>
  <Plan />
</Plans>

Here follow the available child elements for the Plans element.

Element Type Description
Plan Plan Defines a Planner plan to add

Plan

Defines a Planner plan to add

<Plan
    resourceId=""
    title="">
  <Buckets />
</Plan >

Here follow the available child elements for the Plan element.

Element Type Description
Buckets Buckets Defines Buckets to add inside a Planner plan

Here follow the available attributes for the Plan element.

Attribute Type Description Required Default
ResourceId xsd:string Defines the unique identifier for the plan inside the Teamwork template file Yes
Title xsd:string Defines the Plan name which will be used during Plan creation Yes

Buckets

Defines Buckets to add inside a Planner plan

<Buckets>
  <Bucket />
</Buckets>
Here follow the available child elements for the Buckets element.

Element Type Description
Bucket Bucket Defines the Bucket to add inside a Planner plan

Bucket

Defines the Bucket to add inside a Planner plan

<Bucket
    Name="">
  <Tasks />
</ Bucket >

Here follow the available child elements for the Bucket element.

Element Type Description
Tasks Tasks Defines Tasks to add inside a Bucket

Here follow the available attributes for the Bucket element.

Attribute Type Description Required Default
Name xsd:string Defines the Bucket’s display name Yes

Task

Defines the Task to add inside a Bucket

<Task
    Title=""
    PercentComplete=""
    StartDateTime=""
    DueDateTime=""
    Priority="">
  <AppliedCategories />
  <Details />
  <Conversation />
</Task>

Here follow the available child elements for the Task element.

Element Type Description
AppliedCategories AppliedCategories Defines the categories (labels) to which the task has been applied
Details Details Defines additional information about a task
Conversation Conversation Defines the conversation on a task

Here follow the available attributes for the Task element.

Attribute Type Description Required Default
Title xsd:string Defines the Task’s title Yes
PercentComplete xsd:int Defines the Task’s completeness. If value is equal to 100, task will be considered as completed Yes 0
StartDateTime xsd:string Defines the Task’s start date. Value must be provided in iso8601 format No
DueDateTime xsd:string Defines the Task’s due date. Value must be provided in iso8601 format No
Priority xsd:string Defines the Task’s priority. Possible values are: Urgent, Important, Medium and Low Yes Medium

AppliedCategories

Defines the categories (labels) to which the task has been applied.

<AppliedCategories 
    Pink=""
    Red=""
    Yellow=""
    Green=""
    Blue=""
    Purple="" />

Here follow the available attributes for the AppliedCategories element.

Attribute Type Description Required Default
Pink xsd:boolean Defines Task’s pink label No false
Red xsd:boolean Defines Task’s red label No false
Yellow xsd:boolean Defines Task’s yellow label No false
Green xsd:boolean Defines Task’s green label No false
Blue xsd:boolean Defines Task’s blue label No false
Purple xsd:boolean Defines Task’s purple label No false

Details

Defines additional information about a task

<Details 
    Description="" 
    PreviewType="">
  <References />
  <Checklist />
</Details>

Here follow the available child elements for the Details element.

Element Type Description
References References Defines the collection of references (attachments) on the task
Checklist Checklist Defines the collection of checklist items on the task

Here follow the available attributes for the Details element.

Attribute Type Description Required Default
Description xsd:string Defines Task’s description No
PreviewType xsd:string Defines Task’s preview object. Possible values are: automatic, noPreview, checklist, description and reference Yes

References

Defines the collection of references (attachments) on the task

<References>
  <Reference />
</References>

Here follow the available child elements for the References element.

Element Type Description
Reference Reference Defines a reference (attachment) on the task

Reference

Defines a reference (attachment) on the task

<Reference 
    Key=""
    Alias="" 
    Type="" 
    ShowOnCard="" 
    PreviewPriority="" />

Here follow the available attributes for the Reference element.

Attribute Type Description Required Default
Key xsd:string Defines attachment URL Yes
Alias xsd:boolean Defines attachment’s display name Yes
Type xsd:string Defines attachment’s file type. Possible values are: Pdf, Excel, Word, PowerPoint, Other Yes
ShowOnCard xsd:boolean Defines if attachment will be display on task card Yes false
PreviewPriority xsd:string Defines attachment’s order Yes

Checklist

Defines the collection of checklist items on the task

<Checklist>
  <ChecklistItem />
</Checklist>

Here follow the available child elements for the Checklist element.

Element Type Description
ChecklistItem ChecklistItem Defines a checklist items on the task

ChecklistItem

Defines a checklist items on the task

<ChecklistItem 
    Key="" 
    IsChecked="" 
    Title="" />

Here follow the available attributes for the ChecklistItem element.

Attribute Type Description Required Default
Key xsd:string Defines check list item unique identifier Yes
IsChecked xsd:boolean Defines if a checklist item is checked Yes false
Title xsd:string Defines the check list item’s display name Yes

Note

It is not possible to retrieve the correct order of a check list item. If check list items must be displayed in an specific order, the desired order must be provided in Teamwork’s template file.

Conversation

Defines the conversation on a task

<Conversation>
  <Posts />
</Conversation >

Here follow the available child elements for the Conversation element.

Element Type Description
Posts Posts Defines the collection of posts in a conversation

Here follow the available attributes for the Conversation element.

Attribute Type Description Required Default
Topic xsd:string Defines the conversation’s topic Yes

Posts

Defines the collection of posts in a conversation

<Posts>
  <Post />
</Posts>

Here follow the available child elements for the Posts element.

Element Type Description
Post Post Defines a post in a conversation

Post

Defines a post in a conversation

<Post>
  <Body>
    <ContentType />
    <Content />
  </Body>
</Post>

Here follow the available child elements for the Post element.

Element Type Description
Body Body Defines the contents of the post

Body

Defines the contents of the post

<Body>
  <ContentType />
  <Content />
</body>

Here follow the available child elements for the Body element.

Element Type Description
ContentType BodyContentType Defines the body’s content type
Content BodyContent Defines the body’s content

BodyContentType

Defines the body’s content type. Possible value is html.

<ContentType>
</ContentType>

BodyContent

Defines the body’s content. Value must be provided in HTML format inside a CDATA section.

<Content>
</Content>

OneDrive

Entry point to manage Microsoft Planner provisioning.

<OneDrive>
</OneDrive>

Yammer

Entry point to manage Microsoft Yammer provisioning.

<Yammer>
</Yammer>

Note

This entry point doesn’t support configuration. However, it must be available when Microsoft 365 group are created with Microsoft Yammer!

Teams

Entry point to manage Microsoft Teams provisioning.

<Teams>
  <Settings />
  <InstalledApps />
  <Channels />
</Teams>

Here follow the available child elements for the Teams element.

Element Type Description
Settings TeamsSettings Defines Team’s settings
InstalledApps InstalledApps Defines Team’s apps
Channels Channels Defines Team’s channels

TeamsSettings

Defines Team’s settings

<Settings>
  <MemberSettings />
  <MessagingSettings />
  <FunSettings />
  <GuestSettings />
</Settings>

Note

The discovery settings will be set depending on the Team's visibility.

Here follow the available child elements for the Settings element.

Element Type Description
MemberSettings MemberSettings Defines member settings
MessagingSettings MessagingSettings Defines messaging settings
FunSettings FunSettings Defines fun settings
GuestSettings GuestSettings Defines guest settings

MemberSettings

Defines member settings

<MemberSettings 
  AllowCreateUpdateChannels="" 
  AllowCreatePrivateChannels="" 
  AllowAddRemoveApps="" 
  AllowCreateUpdateRemoveConnectors="" 
  AllowCreateUpdateRemoveTabs="" 
  AllowDeleteChannels="" />

Here follow the available attributes for the MemberSettings element.

Attribute Type Description Required Default
AllowCreateUpdateChannels xsd:boolean Defines if members (and not just owners) are allowed to create channels No False
AllowCreatePrivateChannels xsd:boolean Defines if members (not only owners) can create private channels No False
AllowAddRemoveApps xsd:boolean Defines if members (not only owners) are allowed to add apps to the team No False
AllowCreateUpdateRemoveConnectors xsd:boolean Defines if members (and not only owners) can manage connectors in the team No False
AllowCreateUpdateRemoveTabs xsd:boolean Defines if members (and not only owners) can manage tabs in channels No False
AllowDeleteChannels xsd:boolean Defines if members (and not only owners) can delete channels in the team No False

MessagingSettings

Defines messaging settings

<MessagingSettings
  AllowChannelMentions=""
  AllowOwnerDeleteMessages=""
  AllowTeamMentions=""
  AllowUserDeleteMessages=""
  AllowUserEditMessages="" />

Here follow the available attributes for the MessagingSettings element.

Attribute Type Description Required Default
AllowChannelMentions xsd:boolean Defines if channels in the team can be @ mentioned so that all users who follow the channel are notified No False
AllowOwnerDeleteMessages xsd:boolean Defines if owners can delete messages that they or other members of the team have posted No False
AllowTeamMentions xsd:boolean Defines if the entire team can be @ mentioned (which means that all users will be notified) No False
AllowUserDeleteMessages xsd:boolean Defines if members can delete messages that they have posted No False
AllowUserEditMessages xsd:boolean users can edit messages that they have posted No False

FunSettings

Defines fun settings

<FunSettings
  AllowCustomMemes=""
  AllowGiphy=""
  AllowStickersAndMemes=""
  GiphyContentRating="" />

Here follow the available attributes for the FunSettings element.

Attribute Type Description Required Default
AllowCustomMemes xsd:boolean Defines if members can use the custom memes functionality in teams No False
AllowGiphy xsd:boolean Defines if giphy can be used in the team No False
AllowStickersAndMemes xsd:boolean Defines if stickers and memes usage is allowed in the team No False
GiphyContentRating xsd:string Defines the level of sensitivity of giphy usage that is allowed in the team. Possible values are: Strict and Moderate No Moderate

GuestSettings

Defines guest settings

<GuestSettings
  AllowCreateUpdateChannels=""
  AllowDeleteChannels="" />

Here follow the available attributes for the GuestSettings element.

Attribute Type Description Required Default
AllowCreateUpdateChannels xsd:boolean Defines if guests are allowed to create channels No False
AllowDeleteChannels xsd:boolean Defines if guests can delete channels in the team No False

InstalledApps

Defines Team’s apps

<InstalledApps>
  <App />
</InstalledApps>

Here follow the available child elements for the InstalledApps element.

Element Type Description
App App Defines a Teams app

App

Defines a Teams app

<App
  Id="" 
  Name="" />

Here follow the available attributes for the App element.

Attribute Type Description Required Default
Id xsd:string Defines the app’s ID Yes
Name xsd:string Defines the app’s name Yes

Channels

Defines Team’s channels

<Channels>
  <Channel />
</Channels>

Here follow the available child elements for the Channels element.

Element Type Description
Channel Channel Defines a Teams channel

Channel

Defines a Teams channel

<Channel
  Name=""
  Description=""
  IsFavorite=""
  RemoveWikiTab="">
  <Messages />
  <Tabs />
</Channel>

Here follow the available child elements for the Channel element.

Element Type Description
Messages Messages Defines messages inside a channel
Tabs Tabs Defines tabs inside a channel

Here follow the available attributes for the Channel element.

Attribute Type Description Required Default
Name xsd:string Defines the channel’s display name Yes
Description xsd:string Defines the channel’s description Yes
IsFavorite xsd:boolean Defines if a channel will be automatically shown in everyone’s channel list. Note: Correct value cannot be retrieved from template team. Hence it must be set manually in Teamwork XML template in order to get provisioned inside the team No Always true for General channel. Otherwise, false
RemoveWikiTab xsd:boolean Defines if the wiki tab will be removed from target channel No false

Messages

Defines messages inside a channel

<Messages>
  <Message />
</Messages>

Here follow the available child elements for the Messages element.

Element Type Description
Message Message Defines a message inside a channel

Message

Defines a message inside a channel

<Message
    Subject=""
    Importance=""
    Summary="">
  <Body />
</Message >

Here follow the available child elements for the Message element.

Element Type Description
Body MessageBody Defines the message’s body

Here follow the available attributes for the Message element.

Attribute Type Description Required Default
Subject xsd:string Defines the subject of the chat message, in plaintext Yes
Importance xsd:string Defines the importance of the chat message. The possible values are: normal, high and urgent Yes normal
Summary xsd:string Defines the summary text of the chat message that could be used for push notifications and summary views or fall back views Yes

MessageBody

Defines the message’s body

<Body
    ContentType="">
  <Content />
</Body>

Here follow the available child elements for the Body element.

Element Type Description
Content xsd:string Defines the plaintext/HTML representation of the content of the chat message

Here follow the available attributes for the Message element.

Attribute Type Description Required Default
ContentType xsd:string Defines the type of the content. Possible value is: text Yes

Tabs

Defines tabs inside a channel

<Tabs>
  <Tab />
</Tabs>

Here follow the available child elements for the Tabs element.

|Element|Type|Description| |---|---|---|---| |Tab|Tab|Adds a tab to the specified channel within a team|

Tab

Adds a tab to the specified channel within a team

<Tab 
    Name=""
    SortOrderIndex=""
    TeamsAppId=""
    ResourceId="">
  <Configuration />
</Tab>

Here follow the available child elements for the Tab element.

Element Type Description
Configuration Configuration Container for custom settings applied to a tab. The tab is considered configured only once this property is set. If configuration is not provided, customer can select Set up tab to configure it

Here follow the available attributes for the Tab element.

Attribute Type Description Required Default
Name xsd:string Defines tab’s display name Yes
SortOrderIndex xsd:string Defines the index of the order used for sorting tabs No
TeamsAppId xsd:string Defines the app definition identifier of the tab. Check out this Microsoft documentation for more information about possible configuration for this property Yes
ResourceId xsd:string Defines a Teamwork resource which should be embedded as a tab No

Configuration

Container for custom settings applied to a tab. The tab is considered configured only once this property is set. If configuration is not provided, customer can select Set up tab to configure it

<Configuration>
  <EntityId />
  <ContentUrl />
  <RemoveUrl />
  <WebsiteUrl />
</Configuration >

Here follow the available child elements for the Configuration element.

Element Type Description
EntityId EntityId Defines the identity for the entity hosted by the tab provider. This value is required and must be unique across all tabs within a channel
ContentUrl ContentUrl Defines the URL used for rendering tab contents in Teams. Required
RemoveUrl RemoveUrl Defines the URL called by Teams client when a Tab is removed using the Teams Client
WebsiteUrl WebsiteUrl Defines the URL for showing tab contents outside of Teams

EntityId

Defines the identity for the entity hosted by the tab provider. This value is required and must be unique across all tabs within a channel

<EntityId>
</EntityId >

ContentUrl

Defines the URL used for rendering tab contents in Teams. Required

<ContentUrl>
</ContentUrl >

RemoveUrl

Defines the URL called by Teams client when a Tab is removed using the Teams Client

<RemoveUrl>
</RemoveUrl >

WebsiteUrl

Defines the URL for showing tab contents outside of Teams

<WebsiteUrl>
</WebsiteUrl>

SharePoint

Entry point to manage Microsoft SharePoint provisioning

<SharePoint>
  <ModernSite />
</SharePoint>

Here follow the available child elements for the SharePoint element.

Element Type Description
ModernSite ModernSite Defines a modern SharePoint site

ModernSite

Defines a modern SharePoint site

<ModernSite 
    Theme=""
    BackgroundImage=""
    PnPTemplateFile=""
    PnPTemplatePath=""
    PnPTemplateFolder=""
    TemplateAssets=""
    SiteDesignId=""
    Type=""LCID=""
    Locale=""
    TimeZoneId=""
    StorageMaximumLevel=""
    StorageWarningLevel=""
    SharingCapabilities="">
  <Branding />
</ModernSite>

Here follow the available child elements for the ModernSite element.

Element Type Description
Branding Branding Defines branding for SharePoint site

Here follow the available attributes for the ModernSite element.

Attribute Type Description Required Default
Theme xsd:string Defines the relative URL of file containing theme which will be applied to target SharePoint site collection during provisioning No
BackgroundImage xsd:string Defines the relative URL of file containing background for SharePoint site which will be applied during provisioning No
PnPTemplateFile xsd:string Defines PnP template file name including extension No
PnPTemplatePath xsd:string Defines the relative URL of library containing PnP templates. Usually PnPTemplates under Teamwork admin site colleciton
PnPTemplateFolder xsd:string
TemplateAssets xsd:string Defines the name of a folder which contains assets that will be created in target site collection during provisioning No
SiteDesignId xsd:string Defines the Site Design which will be applied to the target site collection during provisioning No
Type ModernSiteType Defines the template's type No
LCID xsd:unsignedInt Defines the LCID decimal value which will be used to specify the target site collection's default language Yes
Locale xsd:string Defines the language code which will be used to specify the target site collection's default language Yes
TimeZoneId xsd:int Defines the SharePoint time zone ID No
StorageMaximumLevel xsd:int Defines the storage quota of the SharePoint site 1024
StorageWarningLevel xsd:int Defines the quota warning level in MB 700
SharingCapabilities xsd:string Defines the default external sharing capability No

Branding

Defines branding for SharePoint site

<Branding>
  <Files />
</Branding>

Here follow the available child elements for the Branding element.

Element Type Description
Files Files Defines files that will be provisioned in a SharePoint site

Files

Defines files that will be provisioned in a SharePoint site

<Files>
  <File />
</Files>

Here follow the available child elements for the Files element.

Element Type Description
File File Defines a file that will be provisioned in a SharePoint site

File

Defines a file that will be provisioned in a SharePoint site

<File
  Name=""
  Path=""
  Folder=""
  SourcePath=""
  SourceFolder=""
  Url=""
  Delete=""
  Extract=""
  UploadLast="">
</File>

Here follow the available attributes for the File element.

Attribute Type Description Required Default
Name xsd:string Defines the file’s name including extension Yes
Path xsd:string Defines the library path in target site collection Yes
Folder xsd:string Defines folder in target site collection’s library. Only provide a value for this attribute if file will be added to a place different than root folder No
SourcePath xsd:string Defines source library path which contains file Yes
SourceFolder xsd:string Defines folder in source site collection’s library. Separate multiple folders with an slash if folder levels will be provided Yes
Url xsd:string Relative or absolute site collection URL to file source. Used mainly on workspacecreator where we need to know where original url is located. By default file is loaded from parentsite "style library/valo" folder No
Delete xsd:boolean Removes file from SharePoint No
Extract xsd:boolean Extracts .zip file and upload content No
UploadLast xsd:boolean If set to true the file will be uploaded after all other installation steps. Possible values are: true and false No

GroupMetadata

Entry point to manage template metadata

<GroupMetadata>
  <GroupProperty />
</GroupMetadata>

Here follow the available child elements for the GroupMetadata element.

Element Type Description
GroupProperty GroupProperty Defines template metadata

GroupProperty

Defines template metadata

<GroupProperty 
  Name=""
  Enabled=""
  Default="" />

Here follow the available attributes for the GroupProperty element.

Attribute Type Description Required Default
Name xsd:string Defines the metadata name. Possible values are: SharePoint, OneDrive, Teams, Planner, Yammer, OneNote, Conversations, PowerBI and Stream Yes
Enabled xsd:boolean Defines resource will be created during provisioning Yes false
Default xsd:boolean Defines the default template's resource. If many group properties are provided, only one can have the default attribute set to true Yes