Teams-Spirit (Preview)

The Teams-Spirit Connector enables you to connect your Teams-Spirit Subscription to your flows.

This connector is available in the following products and regions:

Service Class Regions
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name Immanuel Fuchs
URL https://teams-spirit.de/#kontakt
Email info@digitalteamwork.de
Connector Metadata
Publisher D.F.K. Digital Teamwork GmbH
Website https://teams-spirit.de
Privacy policy https://teams-spirit.de/datenschutz/
Categories Communication;Productivity

For users of the Teams-Spirit enterprise application, the connector provides the ability to automate Teams-related business processes with Flow and connect them to all other applications available in Flow. Teams metadata related to a team's categorization, usage, or lifecycle can be used as a trigger for a flow. Conversely, a team's metadata can be modified and augmented by Flow actions. Users and permissions can also be customized via flow. Overall, there are significantly more actions available than in the default Teams Connector.

Prerequisites

You will need the following to proceed:

  • Teams-Spirit Microsoft Entra ID Enterprise Application (usually this will be present if you are using Teams-Spirit)
  • Teams-Spirit Subscription

How to get credentials

Once you create a Flow using one of the actions or triggers the Teams-Spirit Connector provides, you will be prompted to sign-in. In order to sign-in Teams-Spirit has to be in you Microsoft Entra IDs Enterprise Applications which will be the case if you are already using Teams-Spirit outside of PowerAutomate.

Get started with your connector

If you want a Flow to be triggered by a Teams-Spirit Rule you can create a new Flow with the Action-Trigger. Once you have given it a name it will register itself in Teams-Spirit and will be available in the Rule-Engine. You can send every parameter available in the Teams-Spirit Rule to the Flow and use it to further automate your workflows. Use:

A new ''Automated Cloud Flow'' must first be created that uses the Teams-Spirit action trigger.

This requires the following steps:

  1. Create a new ''Automated Cloud Flow'' in Power Automate.
    • When creating the flow, the user is asked to select a trigger for the flow.
      If the Teams-Spirit action trigger is not available there, the selection must be skipped.
  2. Adding the teams-spirit action trigger.
    • After initially skipping the selection, the user is asked to select a trigger for the flow
    • Under the tab ''Custom'' the ''Teams-Spirit'' Connector can be selected, which provides the ''Action-Trigger''
  3. Select the name (see Input parameters)

Input parameter:

name
input-type description
Name Dropdown / Custom Value The name that will later be used to trigger by the Teams-Spirit rules engine.
If an existing name is selected from the dropdown, all flows that use this name will be triggered by the corresponding action.

Output:

name
data type description
body JSON text The payload generated by the Teams-Spirit action.

Actions


Get all Approvals

Gets a list of all approvals of the organization.

Input parameters:

None

Output:

A collection of objects with the following parameters:

name
data type description
id Text The ID of the team spirit approval
userName text The username of the user who requested the approval
userId Text The user ID of the user who requested the approval
externalUserId Text User ID of the external user, if the team is to be created for an external user
reactingUserId Text User ID of the user who reacted to the approval
requestTime text date when the approval was created
expirationDateTime Text If available the expiration date of the team
groupName Text The name of the group / team
groupDescription Text The description of the group / team
reason Text The specified reason for the team
rejectReason Text If present the reason for rejecting the approval
reactionTime Text If present, the date of the last reaction to the approval
type Text Type of the approval
tid Text The tenant ID of the organization
templateId Text The ID of the used Teams-Spirit template
createForExternalUser Boolean Determines whether the group should be created for an external user
access Boolean ''true'': the group is public, ''false'': the group is private
status Number ''0'' - Pending
''1'' - Approved
''2'' - Rejected
''3'' - Failed
attributeSettings List of objects List of teams spirit tags set for the group

Approve

Approves a Teams-Spirit approval

*Only possible if the account used for the connection in the flow has the role "Spirit-Approver".

Input parameters:

Name
Input Type Description
Approval ID Text field The ID of the team spirit approval to be approved

Output:

None


Reject

Rejects a Teams-Spirit Approval

*Only possible if the account used to connect in the flow has the "Spirit Approver" role.

Input parameters:

name
input-type description
Approval ID Text field The ID of the team spirit approval to reject

Output:

None


Archive Team

Archives a Microsoft 365 team

Input parameters:

name
input-type description
Group ID Text field The ID of the group to archive
Make the SharePoint site read-only for team Boolean Determines whether the SharePoint site should be set as read-only for team members

Output:

None


Delete Team

Deletes a Microsoft 365 team

Input Parameters:

name
input-type description
Group ID Text field The ID of the group to delete

Output:

None


Change Role to Member

Changes the role of a user within a group to ''member''.

Input parameter:

name
input-type description
Group-ID Textfield The ID of the group in which the role should be customized
User-ID Text field The ID of the user whose role should be changed

Output:

None


Change Role to Owner

Changes the role of a user within a group to ''owner''.

Input parameter:

name
input-type description
Group-ID Textfield The ID of the group in which the role should be customized
User-ID Text field The ID of the user whose role should be changed

Output:

None


Remove all Guests

Removes all guests from a group

Input parameters:

name
input-type description
Group-ID Textfield The ID of the group from which the guests should be removed

Output:

None


Remove all Non-Owners from Team

Removes all members except owners from a group

Input parameters:

name
input-type description
Group-ID Textfield The ID of the group from which the members should be removed

Output:

None


Remove all Users except Owner

Removes all members except a selected owner from a group

Input parameter:

name
input-type description
Group-ID Textfield The ID of the group from which the members should be removed
Owner-Id Text field The ID of the owner who should remain in the group

Output:

None


Remove User from Team

Removes a member from a group

Input parameters:

name
input-type description
Group-ID Textfield The ID of the group from which the member should be removed
User-ID Textfield The ID of the user, which should be removed

Output:

None


Change Tag Value

Changes the value of a Teams-Spirit tag for a group

Input Parameters:

name
input type description
Group ID Text field The ID of the group in which the tag should be changed
Tag Dropdown The tag whose value is to be changed.
The selection includes all tags available in the organization
Value Dropdown / Custom Value The new value of the tag
If predefined values are configured for the selected tag, they can be selected in the dropdown

Output:

None


Get Tag Value

Gets the value of a global Teams-Spirit tag for a group.

Input parameter:

name
input-type description
Group-ID Textfield The ID of the group in which the tag should be fetched
Tag Dropdown The tag whose value is to be fetched.
The selection includes all tags available in the organization

Output:

name
data type description
tag value text the value of the tag

Extend Expiration Date

Extends the expiration date of a team.

Note: If the team already has an expiration date, it will be extended by the number of weeks. If not, the time when the action is performed will be extended by the number of weeks and set as the expiration date for the group.

Input parameters:

name
input-type description
Group ID Text field The ID of the group in which the expiration date should be extended
Weeks Text field The number of weeks by which the expiration date should be extended

Output:

None

Known issues and limitations

Pay attention about duplicate flow names
  • It is possible to register two or more Flow-Trigger with the same name.
  • That can be usefull, if a single Rule in the Teams-Spirit Rule-Engine should trigger more than one flow.
  • If you don't want that, take care to give your flow a unique name.
Payload

The payload, defined in a Teams-Spirit Rule, must be specified in JSON format. If it is syntactically incorrect, the flow cannot be triggered.

Any data in JSON format can be specified in the payload. Furthermore, placeholders are also supported here, for which it is important to note which data type they have in order to comply with the JSON syntax.

An example payload could look like this:

'''json { "groupId": ${group.id}, "memberIds": ${group.members}, "myOwnKey": "myOwnValue" } '''

Note that ''${group.members}'' is a collection of user IDs, so it does not need to be enclosed in quotes to be interpreted correctly.

Common errors and remedies

It is crucial to use the "Parse JSON" action after the Action-Trigger. This is because the object which is passed by Teams-Spirit will be defined by you inside the Teams-Spirit Rule. The "Parse JSON" action and therefore your Flow will fail if it is not valid JSON.

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Throttling Limits

Name Calls Renewal Period
API calls per connection 100 60 seconds

Actions

Approve

Approves the given approval

Archive Team

Archives the Team

Change role to Member

Changes a users role to member in the Team

Change role to Owner

Promotes a User in the Team to Owner

Change Tag Value

Changes the Value of a Tag in a given Team

Delete Team

Deletes the Team

Extend Expiration Date

Extends the Groups Expiration Date

Get all Approvals

Get all Approvals

Get Tag Value

Gets a Tags value for a group

Reject

Reject

Remove all Guests

Removes all Guests from the Team

Remove all Non-Owners from Team

Removes all the Members exept for Owners from the Team

Remove all Users except Owner

Removes all Users except one selected Owner

Remove User from Team

Removes a User from the Team

Approve

Approves the given approval

Parameters

Name Key Required Type Description
Id of approval
Approval-ID True string

Id of approval

Archive Team

Archives the Team

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

Make the SharePoint site read-only for team members
sharePointReadOnly True boolean

sharePointReadOnly

Change role to Member

Changes a users role to member in the Team

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

User Id
userId string

userId

Change role to Owner

Promotes a User in the Team to Owner

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

User Id
userId string

userId

Change Tag Value

Changes the Value of a Tag in a given Team

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

Tag
id string

id

Value
value string

value

Delete Team

Deletes the Team

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

Extend Expiration Date

Extends the Groups Expiration Date

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

Weeks
weeks string

weeks

Get all Approvals

Get all Approvals

Returns

Name Path Type Description
array of object
id
id string

id

userName
userName string

userName

userId
userId string

userId

createForExternalUser
createForExternalUser boolean

createForExternalUser

externalUserId
externalUserId string

externalUserId

reactingUserId
reactingUserId string

reactingUserId

reactingUserName
reactingUserName string

reactingUserName

requestTime
requestTime string

requestTime

expirationDateTime
expirationDateTime string

expirationDateTime

status
status integer

status

groupName
groupName string

groupName

groupDescription
groupDescription string

groupDescription

reason
reason string

reason

rejectReason
rejectReason string

rejectReason

access
access boolean

access

reactionTime
reactionTime string

reactionTime

type
type string

type

tid
tid string

tid

templateId
templateId string

templateId

attributeSettings
attributeSettings array of object

attributeSettings

attributeId
attributeSettings.attributeId string

attributeId

value
attributeSettings.value string

value

type
attributeSettings.type integer

type

Get Tag Value

Gets a Tags value for a group

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

Id of tag
Tag-ID True string

Id of tag

Returns

Tag Value
string

Reject

Reject

Parameters

Name Key Required Type Description
Id of approval
Approval-ID True string

Id of approval

Remove all Guests

Removes all Guests from the Team

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

Remove all Non-Owners from Team

Removes all the Members exept for Owners from the Team

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

Remove all Users except Owner

Removes all Users except one selected Owner

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

Owner Id
ownerId string

ownerId

Remove User from Team

Removes a User from the Team

Parameters

Name Key Required Type Description
Id of group
Group-ID True string

Id of group

User Id
userId string

userId

Triggers

Action-Trigger

Action-Trigger

Action-Trigger

Action-Trigger

Parameters

Name Key Required Type Description
Name
name True string

Name

Returns

response
object

Definitions

object

This is the type 'object'.

string

This is the basic data type 'string'.