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 protected] |
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:
- 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.
- When creating the flow, the user is asked to select a trigger for the flow.
- 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''
- 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'.