Manage GLPI users, groups, entities, and asset assignments. Trigger: When the AI needs to work with user accounts, groups, entity switching, or asset-to-user/group assignments.
Use itemtype="User" for users and itemtype="Group" for groups. Standard search/get/create/update applies.
The glpi_user_assets tool retrieves all assets assigned to a user by user_id. The glpi_group_assets tool does the same for groups by group_id. Use these instead of manually searching for assignments.
GLPI is multi-entity. The active entity determines which items are visible. Use glpi_get on the Entity itemtype to inspect entities. Entity switching via the API is session-scoped.
User fields have specific UIDs (e.g., User.name, User.firstname). Always call glpi_list_fields(itemtype="User") first.
To find users in a group, search Group_User (the relationship itemtype) or use glpi_get on the Group with related data.
| Tool | Purpose |
|---|---|
glpi_search | Search users, groups, entities |
glpi_get | Get user/group/entity details |
glpi_user_assets | Get all assets assigned to a user |
glpi_group_assets | Get all assets assigned to a group |
glpi_list_fields | Discover fields for User, Group, Entity |
glpi_create | Create users or groups |
glpi_update | Update user or group details |
glpi_update_by_name | Update user by exact name |
glpi_global_search | Search across users, groups, entities |
# Discover fields for users
glpi_list_fields(itemtype="User")
# Search users by name
glpi_search(itemtype="User", criteria=[{"field_name":"User.name","searchtype":"contains","value":"john"}])
# Get user details
glpi_get(itemtype="User", id=42)
# Get assets assigned to a user
glpi_user_assets(user_id=42)
# Get assets assigned to a group
glpi_group_assets(group_id=3)
# Search groups
glpi_search(itemtype="Group", criteria=[{"field_name":"Group.name","searchtype":"contains","value":"IT"}])
# Get group details
glpi_get(itemtype="Group", id=3)
# Search entities
glpi_search(itemtype="Entity", criteria=[{"field_name":"Entity.name","searchtype":"contains","value":"headquarters"}])
# Update user by name
glpi_update_by_name(itemtype="User", name="jdoe", data={"comment":"Transferred to IT dept"})
# Global search across relations
glpi_global_search(query="john", itemtypes=["User","Group","Entity"])