Retrieves a single group via id or ref. Useful for requesting group details or member counts.
query {
group(id: "uuid-here") {
id
name
ref
maxUsers
enableChat
isEditable
userCount
managerCount
}
}You can also look up a group by ref:
query {
group(ref: "your-external-id") { id name userCount }
}Provides a list of all groups in the organization.
query {
groups {
id
name
ref
userCount
managerCount
}
}For advanced filtering and pagination, use paginatedGroups:
query {
paginatedGroups(q: "sales", first: 50) {
edges {
node {
id
name
ref
userCount
}
}
pageInfo {
hasNextPage
endCursor
}
count
}
}mutation {
createGroup(group: {
name: "Sales Team"
maxUsers: 50
enableChat: true
ref: "group-sales"
}) {
group {
id
name
ref
}
}
}mutation {
updateGroup(
ref: "group-sales"
group: {
name: "Sales & Marketing"
enableChat: false
}
) {
group {
id
name
}
}
}mutation {
deleteGroup(id: "uuid-here") {
ok
}
}mutation {
deleteGroups(ids: ["uuid-1", "uuid-2"]) {
bulkDelete {
succeededIds
failedIds
}
}
}type Group {
id: UUID!
name: String!
ref: String
maxUsers: Int!
enableChat: Boolean!
isEditable: Boolean!
users: UserConnection
managers: UserConnection
trainings: [TrainingListItem!]!
extraCategoryValues: [ExtraCategoryValue!]!
userCount: Int
managerCount: Int
permissions: JSONString
skills: [SkillListItem!]
}group(id: UUID, ref: String): Group
groups(groupVia: GroupVia): [Group!]
paginatedGroups(
q: String
first: Int
after: String
offset: Int
sortBy: GroupSortByInput
): GroupConnectioncreateGroup(group: CreateGroupInput!): CreateGroup
updateGroup(id: UUID, ref: String, group: UpdateGroupInput!): UpdateGroup
deleteGroup(id: UUID!): DeleteGroup
deleteGroups(ids: [UUID!]): DeleteGroupsref or id to select specific groups — both work in queries and mutations.paginatedGroups is recommended for extensive filtering, sorting and pagination.extraCategoryValues for custom metadata.