Microsoft Teams process actions

Microsoft Teams process actions let you automate the creation of teams, channels, messages, and meetings in Microsoft Teams. The requirement for the use of actions is an existing connection in the "Integration" module. General information can be found here about process actions, for example how to create them in processes.

Create team/channel

You can use the "Create team/channel action", for example when creating a new project with project members to create a team automatically in Microsoft Teams for the project or a channel whose name is defined. A welcome message can then be written in the new channel in conjunction with the Teams messages action, for example.

A channel can also be added to an existing team, for example, if subgroups are formed within the project. In addition to members, you can also determine the owners of the new team here.

Create team

In the first step, the name of the action, including a multilingual one, can be specified. Click on "Next" when you are done.

Select an existing Microsoft 365 configuration here. Also specify a service account under which the process is to be carried out. Click on "Next" afterwards.

Create team/channel

Click on "Create team" here. This selection can only be made directly after creating the process action. Later editing is no longer possible. Click on "Next".

Team options

If you have selected "Create team", the following information can be stored here:

Team name

Static name

A simple, monolingual text for the name can be entered here.

Name from data field

This option is available if the action has a data group context, e.g. if a data group event handler has been defined as the event source. Select a data field from the data group whose content forms the name of the team.

Name from system value

The name of the team is read from a request value, a session variable, a variable in the processing context, a system data field or a data field of the user data group.

Click on "Edit system value" to open a dialog in which the system value can be defined.

Team email address (local part)

Only the local part of the email address is defined here. The @ and the domain part come from the MS-365 configuration.

Static email address

An email address for the new team can be entered here, which will be created automatically when the process action is executed. The value can also be empty. In this case, an email address is determined from the team name during execution of the process.

Email address from data field

With this option, the value of the data field you can select here will be used as the team's email address.

Email address from system value

The name of the team is read from a request value, a session variable, a variable in the processing context, a system data field or a data field of the user data group.

Click on "Edit system value" to open a dialog in which the system value can be defined.

If a new team is created and the configured email address already exists, there is an error in the process execution. Exception: If a team with the selected name already exists and the option is set for the name to be given a unique suffix in such cases, then this suffix is also used for the email address.

Additional options

Visibility

The visibility of the team can be set as

  • Private

  • Public

  • Hidden membership

If a team with the selected name already exists:

How to proceed with teams whose name is already in use by another team can be defined here. Either all new team members of the existing team are added or a new team is created whose name consists of the chosen name and a unique suffix.

Click on "Next". The team members are selected in the next step.

Team members

The team members are selected in the next step.

Static members

The email addresses of the members must be entered here, as they are also stored in Entra ID (formerly Azure AD) as the Principal User Name. The email addresses can be entered comma-separated or semicolon-separated. Alternatively, there can be one email address per line.

Members from data field

This setting is available if the action has a data group context, for example if a data group event handler has been defined as the event source. Here, a data field is selected from the data group in which the email addresses are stored. The type indicates how the data is formatted to collect the email addresses (e.g. semicolon-separated, GENERIC (which extracts email addresses from free text according to RFC 5322), distributor selection (pipe-separated list of GUIDs of the organizational structure) and double-pipe separated.

Members from a data group query

A data field from a published application is selected here, which holds the data as in the setting "Members from data field".

Click on "Filter" to open a dialog in which a filter can be created to restrict the data.

Here too - as with the "Members from data field" setting - the type of formatting must be selected.

User from system value

With this setting, the email addresses are determined via a session variable, a request value, a variable in the processing context or a system data field.

Click on "Edit system value" to open a dialog in which the system value can be defined.

Team owners

The team owners can be specified here.

Current user

The currently logged in user is considered to be the team owner.

All other settings in this dialog correspond to the dialog settings in which the team members can be specified.

Exception handling

You will only find this tab for a process item that has already been created when you open the properties dialog. You can specify here whether the transaction should be canceled or continued if there is no title or email address for the team. To do this, click on "Configure exception handling".

Create channel

If you want to create a channel, first proceed in the same way as for creating a team.

Then select "Create channel" and click on "Next".

Channel options

The name of the channel is defined here. The same sources are available as in the Team options, in which the name of the team is defined. Also select the Microsoft 365 team for which the channel will be made available.

Exception handling

You will only find this tab for a process item that has already been created when you open the properties dialog. Here you can specify whether the transaction should be canceled or continued if there is no title for the channel. To do so, click on "Configure exception handling".

Create team and channel

If a channel is created during the creation of a team, the configuration dialogs for the team are run through first and the configuration dialog for the channel is run through in the last step.

Use cases

You can use the "Create team/channel action", for example when creating a new project with project members to create a team automatically in Microsoft Teams for the project or a channel whose name is defined. A welcome message can then be written in the new channel in conjunction with the Teams messages action, for example.

A channel can also be added to an existing team, for example, if subgroups are formed within the project.

Teams messages action

You can use the "Teams message action" within a project context, for example, to send messages to a Teams channel that belongs to the project. Event-related messages are useful here: Send messages if there are production problems, for example, or you have received an investment request and link the message directly to the data record.

For this process action to be used, the Microsoft Teams message action must be preceded by a User change action. Alternatively, the process can be triggered from the web via a logged-in user.

In the properties dialog of the process action, the name of the process element, including a multilingual one, can be specified in the first step. Click on "Next".

Message to one or more users

Select the option "Message to one or more users" and click on "Next".

Recipient

The same data sources are available for selecting recipients as for selecting team members, for which you will find the information on the settings in this dialog. Click on "Next".

Content

The message content can come from four different sources.

Static value

The message can simply be entered here. If the message is to be sent as a card, a valid JSON format must be entered here. Otherwise, the dialog cannot be completed.

Text from data field

This option is available if the action has a data group context. The message content is then read from the data field that you select here.

Text from system value

With this option, the message content is read from a system value.

Click on "Edit system value" to open a dialog in which the system value can be defined.

Generate from Velocity

The Velocity Editor can be opened here to generate the message content with velocity script.

Text formatting

Plain text

With this setting, the message is sent as plain text without formatting.

Send as card (requires text in JSON format)

Specifies that the message will be sent as a card.

HTML

HTML in the text defined as the source is interpreted as HTML.

Please note: For all options except the static value, sending as a card does not check whether a valid JSON format has been used. If this is not the case, the message might not be sent.

Options

Link destination

If the message is intended to contain a link, this is defined here via the link destination. Click on "Edit link destination" to open a Dialog in which the link destination can be specified.

Microsoft 365 configuration

An existing configuration from which the system user is used for sending the messages must be selected here.

Exception handling

You will only find this tab for a process item that has already been created when you open the properties dialog. Here you can specify whether the transaction should be canceled or continued if there is no recipient or no content. To do this, click on "Configure exception handling".

Messages to a Microsoft Teams channel

Select the "Messages to a Microsoft Teams channel" option here and click "Next".

Channel selection

Select an existing Microsoft 365 configuration here. You can then select the desired team and channel. When doing so, you can use the listed, existing teams and channels, or specify the team and channel based on the processing context.

Content

Click here for more information about the settings in this dialog.

Options

Link destination

If the message is intended to contain a link, this is defined here via the link destination. Click on "Edit link destination" to open a Dialog in which the link destination can be specified.

Exception handling

You will only find this tab for a process item that has already been created when you open the properties dialog. Here you can specify whether the transaction should be canceled or continued if there is no recipient or no content. To do this, click on "Configure exception handling".

Use cases

You can use the "Teams message action" within a project context, for example, to send messages to the Teams channel that belongs to the project. Event-related messages, for example, are useful here:

  • From production, when errors are reported, to a person or a channel

  • When an Investment Request is received, to a channel or a person – with a link to the Intrexx record

  • From Sales, when a visit report is entered, to a channel

Create meeting

You can use this action, for example, when a project reaches a certain milestone, to create a team meeting with the project members automatically or via a button. When training courses are scheduled, for example, an invitation to an online meeting can be sent to all training participants.

To use this process, a Microsoft 365 application must be registered in the "Integration" module under Collaboration / Microsoft 365.

In the properties dialog of the process action, the name of the process element, including a multilingual one, can be specified in the first step. Click on "Next".

Select an existing Microsoft 365 configuration here. The login can be done via the current user, a static user or a service account. Click here for more information about this topic. Click on "Next" afterwards.

Thread and text configuration

Thread

Static value

A simple, monolingual text for the thread can be entered here.

Thread from system value

The thread or text can be read from a request value, a session variable, a variable in the processing context, a system data field or a data field of the user data group.

Thread from data field

This option is available if the action has a data group context – for example if a data group event handler has been defined as the event source. Here, a data field is selected from the data group whose content forms the thread or text.

Text

The same settings can be set for the thread text as for the thread. In addition, the "Type" selection list is used to specify whether it is plain text or HTML.

Click on "Next".

Participant configuration

Static users

If you want to use static users as participants, enter the email addresses of the participants here just as they are stored in Entra ID (formerly Azure AD) as the principalUserName. The email addresses must be entered comma-separated or semicolon-separated. Alternatively, there can be one email address per line.

Users from data field

This option is available if the action has a data group context – for example if a data group event handler has been defined as the event source. Here, a data field is selected from the data group in which the email addresses are stored. The type indicates how the data is formatted to collect the email addresses (e.g. semicolon-separated, GENERIC (which extracts email addresses from free text according to RFC 5322), Distributor selection (pipe-separated list of organizational structure GUIDs) and double-pipe-separated.

User from data group query

A data field from a published application is selected here, which holds the data as in the setting "Users from data field". Here too, the type of formatting must be selected accordingly.

System value

With users from system value, the email addresses are determined via a session variable, a request value, a variable in the processing context or a system data field.

Participant type

Select here whether they are required or optional participants or resources.

Click on "Next".

Times

The start and end of the meeting can be set here with the "From data field" and "From system value" options. The "From data field" option can only be selected if the action has a data group context.

The time zone (taken as UTC or from a system value) for the beginning and end of the meeting must also be defined.

Please note: If the time comes from a data field of the DATETIME type, it is converted to the set time zone. If the time comes from a text data field, no conversion is made. The set time zone should therefore match the set time.

Click on "Edit system value" to open a dialog for each of the "From system value" options in which the system value can be defined.

Click on "Next".

Options

The meeting location can be set here.

Do not set location

With this setting, no location is set.

Static value

Enter simple monolingual text here.

Location from data field

This option is available if the action has a data group context, for example if a data group event handler has been defined as the event source. Here, a data field is selected from the data group whose content forms the meeting location.

Location from system value

The location is read from a request value, a session variable, a variable in the processing context, a system data field or a data field of the user data group. Click on "Edit system value" to open a Dialog in which the system value can be defined.

Additional options

Here you can set whether or not the meeting is an online meeting.

Tip: The ID of the meeting created can be found in the SharedState under the "meetingId" key. The web link is also in the SharedState under the "meetingWebLink" key. The entire meeting can be found in the SharedState with the "meeting" key.

Exception handling

You will only find this tab for a process item that has already been created when you open the properties dialog. Here you can specify whether the transaction should be canceled or continued if there is no thread or no text, no participants could be identified, no start time or no end time were set for the meeting and no appropriate time zone was set. To do this, click on "Configure exception handling".

Use cases

You can use the "Create meeting action", for example, when a project reaches a certain milestone, to create a team meeting with the project members automatically or via a button.

When training courses are scheduled, for example, an invitation to an online meeting can be sent to all training participants.

Create MS365 group

An MS365 group is the basis for almost all MS365 services. For example, team sites, drives, Exchange group mailboxes, etc. are automatically set up for a group. The process action "Create MS365 group" now offers the possibility to create only one MS365 group. The functionality is identical to the "Create Teams" action, except that no team is created based on the group.

In the first step, the name of the action, including a multilingual one, can be specified. Click on "Next" when you are done.

Select an existing Microsoft 365 configuration here. Also specify a service account under which the process is to be carried out. Click on "Next" afterwards.

Group options

Group name

Static name

A simple, monolingual text for the name can be entered here.

Name from data field

This option is available if the action has a data group context, e.g. if a data group event handler has been defined as the event source. Select a data field from the data group whose content forms the name of the team.

Name from system value

The name of the group is read from a request value, a session variable, a variable in the processing context, a system data field, or a data field of the user data group.

Click on "Edit system value" to open a dialog in which the system value can be defined.

Group email address (local part)

Only the local part of the email address is defined here. The @ and the domain part come from the MS-365 configuration.

Static email address

An email address for the new group can be entered here, which will be created automatically when the process action is executed. The value can also be empty. In this case, an email address is determined from the group name during execution of the process.

Email address from data field

With this option, the value of the data field you can select here will be used as the group's email address.

Email address from system value

The name of the team is read from a request value, a session variable, a variable in the processing context, a system data field or a data field of the user data group.

Click on "Edit system value" to open a dialog in which the system value can be defined.

If a new group is created and the configured email address already exists, then there is an error in the process execution. Exception: If a group with the selected name already exists and the option is set for the name to be given a unique suffix in such a case, then this suffix is also used for the email address.

Additional options

Visibility

The visibility of the group can be set as

  • Private

  • Public

  • Hidden membership

If a group with the selected name already exists:

Here you must define how to proceed with groups whose name is already in use by another group. Either all new group members are added to the existing group or a new group is created whose name consists of the selected name and a unique suffix.

Click on "Next". The next step is to select the members of the group.

Group members

Static members

The email addresses of the members must be entered here, as they are also stored in Entra ID (formerly Azure AD) as the Principal User Name. The email addresses can be entered comma-separated or semicolon-separated. Alternatively, there can be one email address per line.

Members from data field

This setting is available if the action has a data group context, for example if a data group event handler has been defined as the event source. Here, a data field is selected from the data group in which the email addresses are stored. The type indicates how the data is formatted to collect the email addresses (e.g. semicolon-separated, GENERIC (which extracts email addresses from free text according to RFC 5322), distributor selection (pipe-separated list of GUIDs of the organizational structure) and double-pipe separated.

Members from a data group query

A data field from a published application is selected here, which holds the data as in the setting "Members from data field".

Click on "Filter" to open a dialog in which a filter can be created to restrict the data.

Here too - as with the "Members from data field" setting - the type of formatting must be selected.

User from system value

With this setting, the email addresses are determined via a session variable, a request value, a variable in the processing context or a system data field.

Click on "Edit system value" to open a dialog in which the system value can be defined.

Group owners

Here you can specify the owners of the group.

Current user

The currently logged in user is considered the owner of the group.

All other settings in this dialog correspond to the settings of the dialog where the group members can be specified.

Exception handling

You will only find this tab for a process item that has already been created when you open the properties dialog. Here you can specify whether the transaction should be canceled or continued if there is no group name or group email address. To do so, click on "Configure exception handling".