> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/automation/runbooks/runbook-references/group/general/add-or-remove-owner.md).

# Add Or Remove Owner

### Description

This runbook adds a user as an owner of a group or removes an existing owner. For Microsoft 365 groups, it also ensures that newly added owners are members of the group. Use the Remove switch to remove ownership instead of adding it.

### Location

Group → General → Add Or Remove Owner

**Full Runbook name**

rjgit-group\_general\_add-or-remove-owner

### Details

| Property         | Value                              |
| ---------------- | ---------------------------------- |
| Version          | 1.0.1                              |
| Required modules | RealmJoin.RunbookHelper (>= 0.8.9) |
| Schedulable      | no                                 |

### Permissions

#### Application permissions

* **Type**: Microsoft Graph
  * User.Read.All
    * *Resolves the target user to verify existence and report the UPN*
  * Group.ReadWrite.All
    * *Reads the group and adds or removes owners via /groups/{id}/owners/$ref*
  * GroupMember.ReadWrite.All
    * *Adds a newly appointed owner as group member*
* **Type**: Office 365 Exchange Online
  * Exchange.ManageAsApp
    * *Runs the distribution group owner cmdlets in the app-only Exchange Online session*

#### RBAC roles

* Exchange Administrator
  * *Required for the app-only Exchange Online session changing distribution group owners*

### Parameters

#### GroupID

Object ID of the target group.

| Property         | Value                                  |
| ---------------- | -------------------------------------- |
| Required         | true                                   |
| Default Value    |                                        |
| Type             | String                                 |
| Hidden in portal | yes (preset via runbook customization) |

#### UserId

Object ID of the user to add or remove.

| Property      | Value  |
| ------------- | ------ |
| Required      | true   |
| Default Value |        |
| Type          | String |

#### Remove

"Add User as Owner" (final value: $false) or "Remove User as Owner" (final value: $true) can be selected as action to perform. If set to true, the runbook will remove the user from the group owners. If set to false, it will add the user as an owner of the group.

| Property            | Value               |
| ------------------- | ------------------- |
| Required            | false               |
| Default Value       | False               |
| Type                | Boolean             |
| Portal display name | Add or Remove Owner |

**Portal options**

| Portal option        | Value |
| -------------------- | ----- |
| Add User as Owner    | false |
| Remove User as Owner | true  |

[Back to Runbook Reference overview](/automation/runbooks/runbook-references.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/automation/runbooks/runbook-references/group/general/add-or-remove-owner.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
