This document describes the tools available for managing and querying users in Box.
List all users in the Box account.
- Arguments: None
- Returns: list[dict] with all users
- Each user includes: id, name, login (email), status, created_at, modified_at, etc.
- Use Case: Get a comprehensive list of all users in the enterprise
- Performance Note: May return a large dataset for large enterprises
Find a user by their exact full name (case-insensitive).
- Arguments:
name(str): The full name of the user to locate
- Returns: dict with user information if found, otherwise error message
- Returns: id, name, login, email, status, created_at, modified_at
- Use Case: Get user ID when you know the exact user name
- Note: This is an exact match search; partial names won't match
Find a user by their email address (exact match).
- Arguments:
email(str): The email address of the user
- Returns: dict with user information if found, otherwise error message
- Returns: id, name, login, email, status, created_at, modified_at
- Use Case: Look up a user by their email address
- Note: Email addresses are the most reliable user identifier
Search for users by name or email (partial/fuzzy match).
- Arguments:
query(str): Search query (part of name or email)
- Returns: list[dict] with matching users
- Each match includes: id, name, login, email, status, created_at, modified_at
- Use Case: Find users when you don't have the exact name or email
- Examples:
- Search by first name:
query: "John" - Search by last name:
query: "Smith" - Search by partial email:
query: "john@example"
- Search by first name:
Each user record includes:
id: Unique Box user IDname: User's full namelogin: User's email/login addressemail: User's email addressstatus: Account status (active, inactive, cannot_delete_login, cannot_delete_edit)created_at: Account creation timestampmodified_at: Last modification timestamprole: User's role (user, admin, coadmin)language: User's language preferencetimezone: User's timezonephone: User's phone number (if available)address: User's address (if available)
-
Finding Users:
- Use
box_users_locate_by_email_toolfor most reliable lookup (email is unique) - Use
box_users_locate_by_name_toolif you know the exact full name - Use
box_users_search_by_name_or_email_toolfor fuzzy/partial matching
- Use
-
Performance Considerations:
box_users_list_toolreturns all users - can be slow for large enterprises- Search tools are more efficient for finding specific users
- Email lookup is fastest when email is available
-
Use Cases:
- Share files/folders: Look up user ID to add collaborator
- Assign tasks: Find user ID for task assignment
- Collaboration: Verify user exists before adding to group
- Reporting: List all users for audit purposes
Tool: box_users_locate_by_email_tool
email: "john.smith@example.com"
Returns: User ID and full user information
Tool: box_users_search_by_name_or_email_tool
query: "john"
Returns: All users with "john" in their name or email
Tool: box_users_search_by_name_or_email_tool
query: "john@example"
Returns: All users with "john@example" in their email
Tool: box_users_list_tool
Returns: Complete list of all Box users in the enterprise
Refer to src/tools/box_tools_users.py for implementation details.