Jaa


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. Digitalteamwork GmbH
Website https://teams-spirit.de
Privacy policy https://teams-spirit.de/datenschutz/
Categories Communication;Productivity

Teams-Spirit Connector

Teams-Spirit provides an extensive REST API. Using this API, you can manage your approvals, teams, and users via Teams-Spirit.

Publisher: D.F.K. Digital Teamwork GmbH

Prerequisites

You will need the following to proceed:

  • A Microsoft Power Apps or Power Automate plan with custom connector feature
  • A Teams-Spirit Azure AD Enterprise Application (usually this will be present if you are using Teams-Spirit)
  • A Teams-Spirit Subscription
  • The Power platform CLI tools

Supported Operations

The connector provides the following triggers:

Action-Trigger

Can be Triggered via a Teams-Spirit Action The connector supports the following operations:

Get All Approvals

Lists all approvals

Approves

Approves an approval

Reject

Reject an approval

Archive Team

Archives a team and optionally marks the groups SharePoint site as read-only

Delete Team

Deletes a team

Change Role To Member

Changes a users role to member

Change Role To Owner

Changes a users role to owner

Remove All Guests

Removes all guests from a team

Remove All Users Except Owner

Removes all team members except for a given owner

Remove User From Team

Removes a user from a team

Change Tag Value

Changes the value of a Teams-Spirit Tag

Get Tag Value

Returns the value of a Teams-Spirit Tag

Extend Expiration Date

Extends a teams expiration date

Obtaining Credentials

The Teams-Spirit Connector uses OAuth2 against Azure Active Directory (AD). This is the same Authentication Method used by the Teams-Spirit Application itself and therefore the user will have the same permissions in both the connector and the app.

Getting Started

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.

Deployment Instructions

Since the Teams-Spirit API is secured by Azure Active Directory (AD) via OAuth2, we first need to set up a few things in Azure AD so that our connectors can securely access the API. After that is completed, you can create and test the connector.

Set up an Azure AD application for your custom connector

We first need to register our connector as an application in Azure AD. This will allow the connector to identify itself to Azure AD so that it can ask for permissions to access Teams-Spirit data on behalf of the end user. You can follow the steps below:

  1. Create an Azure AD application This Azure AD application will be used to identify the connector to Teams-Spirit. This can be done using [Azure Portal] (https://portal.azure.com), by following the steps here. Once created, note down the value of Application (Client) ID. You will need this later.

  2. Configure (Update) your Azure AD application to access the Teams-Spirit API This step will ensure that your application can successfully retrieve an access token to invoke Teams-Spirit on behalf of your users. To do this, follow the steps here.

    • For redirect URI, use “https://global.consent.azure-apim.net/redirect”
    • For the credentials, use a client secret (and not certificates). Remember to note the secret down, you will need this later and it is shown only once.
    • For API permissions, add the Teams-Spirit access_as_user permission. To do that click Add a permission, navigate to APIs my organization uses, search for Teams-Spirit and add the access_as_user permission.

At this point, we now have a valid Azure AD application that can be used to get permissions from end users and access Teams-Spirit.

Deploying the connector

First replace {clientId} in the apiProperties.json with your Azure AD applications Client ID.

The {resourceId} shall be replaced with api://app.teams-spirit.com/3a57026a-cf3f-4295-93f5-ca245af3d2df/access_as_user in case of custom connector deployment.

Then run the following commands and follow the prompts:

paconn create --api-def apiDefinition.swagger.json --api-prop apiProperties.json --secret <client_secret>

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'.