---
title: Charmhub | Deploy Hook Service Operator using Charmhub - The Open Operator
  Collection
description: Deploy the latest version of Hook Service Operator as a Kubernetes Operator
  on any cloud.
url: https://charmhub.io/hook-service/actions
---

# Hook Service Operator

[prod-identity-charmhub-bot-2](https://charmhub.io/publisher/prod-identity-charmhub-bot-2 "View all packages from prod-identity-charmhub-bot-2")

* [prod-identity-charmhub-bot-2](https://charmhub.io/publisher/prod-identity-charmhub-bot-2 "View all packages from prod-identity-charmhub-bot-2")

Platform:

edge 17

```
juju deploy hook-service --channel edge
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [create-group](https://charmhub.io/hook-service/actions#create-group)
* [delete-group](https://charmhub.io/hook-service/actions#delete-group)
* [get-access-token](https://charmhub.io/hook-service/actions#get-access-token)
* [groups-add-users](https://charmhub.io/hook-service/actions#groups-add-users)
* [groups-list-users](https://charmhub.io/hook-service/actions#groups-list-users)
* [groups-remove-users](https://charmhub.io/hook-service/actions#groups-remove-users)
* [import-groups](https://charmhub.io/hook-service/actions#import-groups)
* [list-groups](https://charmhub.io/hook-service/actions#list-groups)
* [users-delete](https://charmhub.io/hook-service/actions#users-delete)
* [users-list-groups](https://charmhub.io/hook-service/actions#users-list-groups)
* [users-set-groups](https://charmhub.io/hook-service/actions#users-set-groups)

[Learn about actions >](https://juju.is/docs/juju/action)

* create-group

  Create a new group via the hook-service API.

  Returns the ID of the newly created group.

  Params

  + description
    string

    Group description.
  + name
    string

    Group name.
  + type
    string

    Group type (e.g. "local").

  Required

  name
* delete-group

  Delete a group via the hook-service API.

  Params

  + group-id
    string

    The ID of the group to delete.

  Required

  group-id
* get-access-token

  Generate a JWT token for accessing the Group/Authz management APIs.

  This action requires the oauth integration to be established and ready.
* groups-add-users

  Add one or more users to a group.

  This operation is idempotent; adding a user already in the group succeeds without error.

  Params

  + group-id
    string

    The group ID to add users to.
  + users
    string

    Comma-separated list of user IDs (email addresses) to add.

  Required

  group-id,
  users
* groups-list-users

  List all users in a group.

  Returns a JSON array of user IDs for the specified group.

  Params

  + group-id
    string

    The group ID to list users for.

  Required

  group-id
* groups-remove-users

  Remove one or more users from a group.

  This operation is idempotent; removing a user not in the group succeeds without error.

  Params

  + group-id
    string

    The group ID to remove users from.
  + users
    string

    Comma-separated list of user IDs (email addresses) to remove.

  Required

  group-id,
  users
* import-groups

  Batch imports user group mappings into the database.

  When sync=true, the database is reconciled with the driver data: stale groups
  and memberships that no longer exist in the driver are removed. If the openfga
  integration is configured, authorization tuples for deleted groups are also
  cleaned up automatically.

  Params

  + consumer-secret
    string

    Secret ID containing `consumer-key` and `consumer-secret` keys.
  + domain
    string

    The API domain, e.g. for Salesforce.
  + driver
    string

    Import driver (e.g. salesforce)
  + sync
    boolean

    Reconcile the database with the driver data, removing stale groups and memberships.
    Only groups with the driver's prefix (e.g. `salesforce:`) are affected; local/admin-created
    groups are never touched.
* list-groups

  List all groups via the hook-service API.

  Returns a JSON array of group objects including their IDs, names, and descriptions.
* users-delete

  Remove a user from all groups.

  This operation is idempotent and succeeds even if the user has no group memberships.
  The user is identified by their email address.

  Params

  + user-id
    string

    The user ID (email address) to remove from all groups.

  Required

  user-id
* users-list-groups

  List all groups a user belongs to.

  Returns a JSON array of group objects for the specified user.

  Params

  + user-id
    string

    The user ID (email address) to list groups for.

  Required

  user-id
* users-set-groups

  Replace a user's group memberships.

  Sets the user's group memberships to exactly the provided list,
  removing any previous memberships not included.

  Params

  + groups
    string

    Comma-separated list of group IDs to assign to the user.
  + user-id
    string

    The user ID (email address) whose memberships to replace.

  Required

  user-id,
  groups
