Office 365 Groups

Office 365 Groups lets you manage group membership and calendar events in your organization using your Office 365 account. You can perform various actions such as get group roster, add or remove members and create group events.

This connector is available in the following products and regions:

Service Class Regions
Logic Apps Standard All Logic Apps regions
Power Automate Standard All Power Automate regions
Power Apps Standard All Power Apps regions
Connector Metadata
Publisher Microsoft
Website https://www.office.com/

Known Issues and Limitations

  1. The When a group member is added or removed trigger can return the same change in subsequent responses due to underlying backend service limitations. Your Power Automate flow or LogicApps application must be prepared for such replays. Please learn more here.

  2. If you see the "Cannot Update a mail-enabled security groups and or distribution list" error, please use the Exchange admin center to manage such groups.

  3. Microsoft Entra ID groups with the attribute "isAssignableToRole" are not supported for now.

  4. Send an HTTP request/Send an HTTP request V2 (Preview) actions. If you get an error similar to:

  • { "error": { "code": "Forbidden", "message": "" } }
  • { "error": { "code": "Authorization_RequestDenied", "message": "Insufficient privileges to complete the operation." } } then it could be because this connector has a limited set of scopes. If your scenario requires something more advanced, please use the "HTTP" connector or create a custom connector.

Pagination

Pagination is needed for queries that return larger lists of results.

  • The pagination feature in Power Automate and Logic Apps supports some of the operations in the Office 365 Groups connector.
  • Canvas Apps gallery control does not supported automatic pagination for the Office 365 Groups connector. Paging must be implemented manually and cached in a collection.

Supported operations

  • ListGroupMembers
  • OnGroupMembershipChange
  • ListGroups

To implement a paging experience in canvas apps, parse the @odata.nextLink field to retrieve the $skipToken value.

Warning

This field should not be used in Power Automate or Logic Apps. Please only use the @odata.nextLink and $skipToken fields in canvas apps.

Manual pagination in canvas apps

Initial Load

To load the first page of the data, use the below code in an action property of a logical control (e.g., the page's OnVisible property or on a button that initiates a search).

/* Call the	ListGroups operation and save response to a variable */
Set( var_response, Office365Groups.ListGroups() );

/* Parse the $skipToken value from the @odata.nextLink value in the response */
Set( var_nextLink, Last(Split( var_response.'@odata.nextLink', "=")).Result );

/* Save the response into a collection */
ClearCollect( col_groups, var_response.value );

/* Clear out the previous pages collection */
Clear( col_prevLinksData );

/* Reset page counter to 1 */
Set( var_page, 1 );

Load next page


/* Update page counter */
Set( var_page, var_page + 1 );

/* Save the last link in a collection */
Collect( col_prevLinksData, { 
    page: var_page, 
    link: var_nextLink 
} );

/* Get next page response */
Set( var_response, Office365Groups.ListGroups({ '$skiptoken': var_nextLink }));

/* Parse the next page's skiptoken value */
Set( var_nextLink, Last(Split( var_response.'@odata.nextLink', "=" )).Result );

/* Save the page results to the collection */
ClearCollect( col_groups, var_response.value );

Then use the col_groups collection in the Items property of a gallery control (or other data set control) to display the loaded list of items.

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
Frequency of trigger polls 1 120 seconds

Actions

Add member to group

This operation is used to add a member to an O365 group, using a UPN.

Create a group event (V2)

This operation is used to create a new event in a group calendar.

Create a group event [DEPRECATED]

This action has been deprecated. Please use Create a group event (V2) instead.

This operation is used to create a new event in a group calendar.

Delete event (V2)

This operation deletes an event in a calendar.

List group members

This operation returns a list of all members in the given group and their details such as name, title, email, etc. You can query up to 1000 items using Top parameter. In case you need to retrieve more than 1000 values please turn on Settings->Pagination feature and provide Threshold limit.

List groups

This operation returns a list of all groups in the organization.

List groups that I own and belong to

This operation returns a list of all groups that you own and belong to.

List my owned groups

This operation returns a list of all groups that you own.

List my owned groups (V2)

This operation returns a list of all groups that you own.

Remove member from group

This operation is used to remove a member from an O365 group, using a UPN.

Send an HTTP request [DEPRECATED]

This action has been deprecated. Please use Send an HTTP request V2 instead.

Construct a Microsoft Graph REST API request to invoke. Learn more: https://docs.microsoft.com/en-us/graph/use-the-api

Send an HTTP request V2

Construct a Microsoft Graph REST API request to invoke. There is one segment that is supported: /groups. Learn more: https://docs.microsoft.com/en-us/graph/use-the-api.

Update a group event

This operation is used to update a new event in a group calendar.

Add member to group

This operation is used to add a member to an O365 group, using a UPN.

Parameters

Name Key Required Type Description
Group Id
groupId True guid

Pick a group from the drop down or enter group id.

User Principal Name
userUpn True string

The user principal name (UPN) of the user.

Create a group event (V2)

This operation is used to create a new event in a group calendar.

Parameters

Name Key Required Type Description
Group Id
groupId True guid

Pick a group from the drop down or enter group id.

Subject
subject True string

Title of the event.

Start Time
dateTime True date-time

Start time of the event (example: '2016-11-01T14:30:00').

End Time
dateTime True date-time

End time of the event (example: '2016-11-01T15:30:00').

Body
content html

Body of the message associated with the event.

Location
displayName string

Location of the event.

Importance
importance string

The importance of the event: Low, Normal, or High.

Is All Day
isAllDay boolean

Set to true if the event lasts all day.

Is Reminder On
isReminderOn boolean

Set to true if the event has a reminder.

Reminder Start Duration
reminderMinutesBeforeStart integer

Time in minutes before event start to remind.

Show As
showAs string

Status to show during the event.

Response Requested
responseRequested boolean

Set to true if the sender would like a response when the event is accepted or declined.

Returns

Create a group event [DEPRECATED]

This action has been deprecated. Please use Create a group event (V2) instead.

This operation is used to create a new event in a group calendar.

Parameters

Name Key Required Type Description
Group Id
groupId True guid

Pick a group from the drop down or enter group id.

Subject
subject True string

Title of the event.

Start Time
dateTime True date-time

Start time of the event (example: '2016-11-01T14:30:00').

End Time
dateTime True date-time

End time of the event (example: '2016-11-01T15:30:00').

Body
content string

Body of the message associated with the event.

Body Content Type
contentType string

Pick the content type: Text or Html.

Location
displayName string

Location of the event.

Importance
importance string

The importance of the event: Low, Normal, or High.

Is All Day
isAllDay boolean

Set to true if the event lasts all day.

Is Reminder On
isReminderOn boolean

Set to true if the event has a reminder.

Reminder Start Duration
reminderMinutesBeforeStart integer

Time in minutes before event start to remind.

Show As
showAs string

Status to show during the event.

Response Requested
responseRequested boolean

Set to true if the sender would like a response when the event is accepted or declined.

Returns

Delete event (V2)

This operation deletes an event in a calendar.

Parameters

Name Key Required Type Description
Group Id
groupId True guid

Pick a group from the drop down or enter group id.

Id
event True string

Select an event

List group members

This operation returns a list of all members in the given group and their details such as name, title, email, etc. You can query up to 1000 items using Top parameter. In case you need to retrieve more than 1000 values please turn on Settings->Pagination feature and provide Threshold limit.

Parameters

Name Key Required Type Description
Group Id
groupId True guid

Pick a group from the drop down or enter group id.

Top
$top integer

Number of group members to retrieve (from 1 to 999, default is 100).

Returns

List groups

This operation returns a list of all groups in the organization.

Parameters

Name Key Required Type Description
Filter rows
$filter string

Enter an OData style filter expression to limit which rows are listed.

Page size
$top integer

Sets the page size of results.

Skip token
$skiptoken string

Token that references the next page of results and is returned in the @odata.nextLink property in the response.

Returns

List groups that I own and belong to

This operation returns a list of all groups that you own and belong to.

Returns

List my owned groups

This operation returns a list of all groups that you own.

Returns

List my owned groups (V2)

This operation returns a list of all groups that you own.

Returns

Remove member from group

This operation is used to remove a member from an O365 group, using a UPN.

Parameters

Name Key Required Type Description
Group Id
groupId True guid

Pick a group from the drop down or enter group id.

User Principal Name
userUpn True string

The user principal name (UPN) of the user

Send an HTTP request [DEPRECATED]

This action has been deprecated. Please use Send an HTTP request V2 instead.

Construct a Microsoft Graph REST API request to invoke. Learn more: https://docs.microsoft.com/en-us/graph/use-the-api

Parameters

Name Key Required Type Description
URI
Uri True string

The full or relative URI. Example: https://graph.microsoft.com/{version}/{resource}.

Method
Method True string

The HTTP method (default is GET).

Body
Body binary

The request body content.

Content-Type
ContentType string

The content-type header for the body (default is application/json).

CustomHeader1
CustomHeader1 string

Custom header 1. Specify in format: header-name: header-value

CustomHeader2
CustomHeader2 string

Custom header 2. Specify in format: header-name: header-value

CustomHeader3
CustomHeader3 string

Custom header 3. Specify in format: header-name: header-value

CustomHeader4
CustomHeader4 string

Custom header 4. Specify in format: header-name: header-value

CustomHeader5
CustomHeader5 string

Custom header 5. Specify in format: header-name: header-value

Returns

Send an HTTP request V2

Construct a Microsoft Graph REST API request to invoke. There is one segment that is supported: /groups. Learn more: https://docs.microsoft.com/en-us/graph/use-the-api.

Parameters

Name Key Required Type Description
URI
Uri True string

The full or relative URI. Example: https://graph.microsoft.com/{version}/{resource}.

Method
Method True string

The HTTP method (default is GET).

Body
Body binary

The request body content.

Content-Type
ContentType string

The content-type header for the body (default is application/json).

CustomHeader1
CustomHeader1 string

Custom header 1. Specify in format: header-name: header-value

CustomHeader2
CustomHeader2 string

Custom header 2. Specify in format: header-name: header-value

CustomHeader3
CustomHeader3 string

Custom header 3. Specify in format: header-name: header-value

CustomHeader4
CustomHeader4 string

Custom header 4. Specify in format: header-name: header-value

CustomHeader5
CustomHeader5 string

Custom header 5. Specify in format: header-name: header-value

Returns

Update a group event

This operation is used to update a new event in a group calendar.

Parameters

Name Key Required Type Description
Group Id
groupId True guid

Pick a group from the drop down or enter group id.

Id
event True string

Select an event

Subject
subject True string

Title of the event.

Start Time
dateTime True date-time

Start time of the event (example: '2016-11-01T14:30:00').

End Time
dateTime True date-time

End time of the event (example: '2016-11-01T15:30:00').

Body
content html

Body of the message associated with the event.

Location
displayName string

Location of the event.

Importance
importance string

The importance of the event: Low, Normal, or High.

Is All Day
isAllDay boolean

Set to true if the event lasts all day.

Is Reminder On
isReminderOn boolean

Set to true if the event has a reminder.

Reminder Start Duration
reminderMinutesBeforeStart integer

Time in minutes before event start to remind.

Show As
showAs string

Status to show during the event.

Response Requested
responseRequested boolean

Set to true if the sender would like a response when the event is accepted or declined.

Returns

Triggers

When a group member is added or removed

This operation triggers when a member is added to or removed from the given group.

When there is a new event

This operation triggers when a new event is added to a group calendar.

When a group member is added or removed

This operation triggers when a member is added to or removed from the given group.

Parameters

Name Key Required Type Description
Group Id
groupId True guid

Pick a group from the drop down or enter group id.

Returns

Name Path Type Description
User Id
id string

Unique id of the user.

Reason
@removed.reason string

Reason that caused the user to be removed from the group.

When there is a new event

This operation triggers when a new event is added to a group calendar.

Parameters

Name Key Required Type Description
Group Id
groupId True guid

Pick a group from the drop down or enter group id.

Returns

Name Path Type Description
Id
id string

Unique id of the event.

Reminder Start Duration
reminderMinutesBeforeStart integer

The number of minutes before the start of the event the reminder will fire.

Is Reminder On
isReminderOn boolean

Set to true if the event has a reminder.

Subject
subject string

Title of the event.

Importance
importance string

The importance of the event: Low, Normal, or High.

Is All Day
isAllDay boolean

Set to true if the event lasts all day.

Response Requested
responseRequested boolean

Set to true if the sender would like a response when the event is accepted or declined.

Show As
showAs string

Status to show during the event.

Content Type
body.contentType string

Body of the message associated with the event.

Content
body.content string

Pick the content type: Text or Html.

Date Time
start.dateTime date-time

Start time of the event (example: '2016-11-01T14:30:00-07:00').

Time Zone
start.timeZone string

Time zone of the event, specified as a time zone index value (example: 'Pacific Standard Time').

Date Time
end.dateTime date-time

End time of the event (example: '2016-11-01T15:30:00-07:00').

Time Zone
end.timeZone string

Time zone of the event, specified as a time zone index value (example: 'Pacific Standard Time').

Name
location.displayName string

The display name for the location of the event.

Definitions

ListGroupMembers_Response

Name Path Type Description
OData NextLink
@odata.nextLink string

Only used in Power Apps Canvas to genereate the $skipToken for pagination. Power Automate and Logic Apps must use the pagination setting.

value
value array of object

value

User Id
value.id string

Unique id of the user.

Display Name
value.displayName string

User's display name.

Given Name
value.givenName string

User's first name.

Job Title
value.jobTitle string

User's job title.

Mail
value.mail string

User's email address.

Mobile Phone
value.mobilePhone string

User's mobile number.

Office Location
value.officeLocation string

User's office address.

Surname
value.surname string

User's last name.

User Principal Name
value.userPrincipalName string

UPN id of the user.

ListOwnedGroups_Response

Name Path Type Description
value
value array of object

value

Classification
value.classification string

O365 group classification.

Created Date-Time
value.createdDateTime date-time

yyyy-MM-ddTHH:mm:ss.fffZ (ISO8601 format, UTC timezone)

Deleted Date-Time
value.deletedDateTime string

yyyy-MM-ddTHH:mm:ss.fffZ (ISO8601 format, UTC timezone)

Description
value.description string

More information about the group.

Name
value.displayName string

O365 group name.

Group Id
value.id string

Unique identifier of the group.

Email
value.mail string

Email address of the group.

Mail Enabled
value.mailEnabled boolean

True if mail is enabled for the group.

Nickname
value.mailNickname string

Group nickname.

On-Premises Last Sync Date-Time
value.onPremisesLastSyncDateTime string

yyyy-MM-ddTHH:mm:ss.fffZ (ISO8601 format, UTC timezone)

On-Premises Security Identifier
value.onPremisesSecurityIdentifier string

The on-premises security identifier.

On-Premises Sync Enabled
value.onPremisesSyncEnabled string

True if on-premises sync is enabled for the group.

Renewed Date-Time
value.renewedDateTime date-time

yyyy-MM-ddTHH:mm:ss.fffZ (ISO8601 format, UTC timezone)

Security Enabled
value.securityEnabled boolean

True if the owner is security enabled.

Visibility
value.visibility string

The owner's visibility.

ListOwnedGroups_V2_Response

Name Path Type Description
value
value array of object

value

Classification
value.classification string

O365 group classification.

Created Date-Time
value.createdDateTime date-time

yyyy-MM-ddTHH:mm:ss.fffZ (ISO8601 format, UTC timezone)

Description
value.description string

More information about the group.

Name
value.displayName string

O365 group name.

Group Id
value.id string

Unique identifier of the group.

Email
value.mail string

Email address of the group.

Mail Enabled
value.mailEnabled boolean

True if mail is enabled for the group.

Nickname
value.mailNickname string

Group nickname.

On-Premises Last Sync Date-Time
value.onPremisesLastSyncDateTime string

yyyy-MM-ddTHH:mm:ss.fffZ (ISO8601 format, UTC timezone)

On-Premises Security Identifier
value.onPremisesSecurityIdentifier string

The on-premises security identifier.

On-Premises Sync Enabled
value.onPremisesSyncEnabled string

True if on-premises sync is enabled for the group.

Renewed Date-Time
value.renewedDateTime date-time

yyyy-MM-ddTHH:mm:ss.fffZ (ISO8601 format, UTC timezone)

Security Enabled
value.securityEnabled boolean

True if the owner is security enabled.

Visibility
value.visibility string

The owner's visibility.

ListGroups_Response

Name Path Type Description
OData NextLink
@odata.nextLink string

Only used in Power Apps Canvas to genereate the $skipToken for pagination. Power Automate and Logic Apps must use the pagination setting.

value
value array of object

value

Classification
value.classification string

O365 group classification.

Created Date-Time
value.createdDateTime date-time

yyyy-MM-ddTHH:mm:ss.fffZ (ISO8601 format, UTC timezone)

Description
value.description string

More information about the group.

Name
value.displayName string

O365 group name.

Group Id
value.id string

Unique identifier of the group.

Email
value.mail string

Email address of the group.

Mail Enabled
value.mailEnabled boolean

True if mail is enabled for the group.

Nickname
value.mailNickname string

Group nickname.

On-Premises Last Sync Date-Time
value.onPremisesLastSyncDateTime string

yyyy-MM-ddTHH:mm:ss.fffZ (ISO8601 format, UTC timezone)

On-Premises Security Identifier
value.onPremisesSecurityIdentifier string

The on-premises security identifier.

On-Premises Sync Enabled
value.onPremisesSyncEnabled boolean

True if on-premises sync is enabled for the group.

Renewed Date-Time
value.renewedDateTime date-time

yyyy-MM-ddTHH:mm:ss.fffZ (ISO8601 format, UTC timezone)

Security Enabled
value.securityEnabled boolean

True if the owner is security enabled.

Visibility
value.visibility string

The owner's visibility.

CreateCalendarEvent_Response

Name Path Type Description
Id
id string

Unique id of the event.

Reminder Start Duration
reminderMinutesBeforeStart integer

Time in minutes before event starts to remind.

Is Reminder On
isReminderOn boolean

Set to true if the event has a reminder.

Subject
subject string

Title of the event.

Importance
importance string

The importance of the event: Low, Normal, or High.

Is All Day
isAllDay boolean

True if the event is an all day event.

Response Requested
responseRequested boolean

True if a response was requested for the event.

Show As
showAs string

Status to show during the event.

Content Type
body.contentType string

Text or Html.

Content
body.content string

The content of the body of this event.

Date Time
start.dateTime date-time

Start time of the event (example: '2016-11-01T14:30:00-07:00').

Time Zone
start.timeZone string

Time zone of the event, specified as a time zone index value (example: 'Pacific Standard Time').

Date Time
end.dateTime date-time

End time of the event (example: '2016-11-01T15:30:00-07:00').

Time Zone
end.timeZone string

Time zone of the event, specified as a time zone index value (example: 'Pacific Standard Time').

Name
location.displayName string

The display name for the location of the event.

ObjectWithoutType