create_employee
ChatGPTWrite: adds one person to the caller's Swif employee directory. Call only when the user explicitly asks to add a specific person, and only after the user has confirmed the first name, last name, email and team you will send; never call it to test, to look someone up, or to fix data on your own initiative. Check list_employees first: Swif refuses an email that an active or onboarding employee already uses. teamId must be an id returned by list_teams; omit it to put the person in the organization's default team, and say so. Returns the created employee, including the id that update_employee_team takes. Never call it again after an unconfirmed result without checking list_employees, or the person may be created twice.
find_devices_with_application
ChatGPTScope: the whole Swif organization, scanning each device's reported applications; there is no team or group filter. Use to find devices and owners with an application across the fleet, including inactive devices. Returns at most five app matches per device and scan coverage. Scans at most maxDevices with five concurrent lookups and a 50-second deadline. Upstream fuzzy search is not exact-name matching. scanned.complete describes coverage; errors, caps or truncated app pages mean the answer is incomplete. list_device_applications provides further results for an individual device. Null means unreported.
list_device_applications
ChatGPTScope: one device, the applications that device reports to Swif; not organization-wide. Use to inspect installed applications on a device identified by list_devices. Returns the deviceId the results belong to, and application names, identifiers, versions, status and installation details. query is upstream fuzzy search across name, identifier, version and status, not an exact-name match. pagination.nextOffset identifies further results. find_devices_with_application provides fleet-wide application matches. Null means unreported.
list_device_extensions
ChatGPTScope: one device, the Chrome, Safari, Firefox and Edge extensions that device reports to Swif; not organization-wide. Use to inspect browser extensions on a specific device. Returns the deviceId the results belong to, and extension lists and totals by browser, including versions and enabled status. deviceId identifies a device returned by list_devices, whose owner name/email corresponds to a person returned by list_employees. Empty arrays mean known zero; null arrays/totals mean not reported, not zero. Null enabled means unknown.
list_devices
ChatGPTScope: the Swif organization device inventory, every device in the organization unless teamId limits it to one team. For a team request, such as devices in the QA team, call list_teams first and pass the matching team's id as teamId; never infer team membership from names, email domains or job titles. If team data is unavailable, say the results cover the whole organization rather than one team, give the total and a short breakdown, and offer the full list; do not write out every device or create a file unless the user asks. Use to inspect device inventory, OS versions, encryption, last check-in, owners, and Swif's compliance verdict with the reasons a device is not compliant. Returns devices with their primary team and owner name/email corresponding to people returned by list_employees; query is passed to the upstream q parameter and accepts a name or email returned by list_employees, with matching fields unverified. Device ids identify inputs to list_device_applications and list_device_extensions. Null means unknown, never a pass or a fail. Active filtering is page-local; pagination.nextOffset identifies the next upstream page even after an empty page.
list_employees
ChatGPTScope: the Swif organization employee directory, every person in the organization unless teamId limits it to one team. With teamId, returns everyone linked to that team, including people for whom it is a secondary team; each person's teamId and teamName show their primary team, which can differ from the filter. For a team request, such as employees in the QA team, call list_teams first and pass the matching team's id as teamId; never infer team membership from names, email domains or job titles. If team data is unavailable, say the results cover the whole organization rather than one team, give the total and a short breakdown, and offer the full list; do not write out every employee or create a file unless the user asks. Use to look up people and their name/email, department, position, or onboarding status. Returns employees whose name/email can identify owners in list_devices; those device ids are inputs to list_device_extensions. query is passed to the upstream q parameter; matching fields and full-name behavior are unverified. query is a text search, not a team filter, and can match on email address. Missing status/department is unknown. Active filtering is page-local; pagination.nextOffset identifies the next upstream page.
list_teams
ChatGPTScope: every team in the caller's Swif organization, ids and names only, no members. Call first for any question about a team, such as devices or people in the QA team: match the team the user named against these names, then pass that team's id as teamId to list_devices or list_employees. Team names are not unique: if several teams match the name, list them and ask which one; if none matches, say so and give the team names. Never infer team membership from device names, email domains or job titles.
update_employee_team
ChatGPTWrite: changes one employee's primary team in Swif and nothing else. Call only when the user explicitly asks to move a specific person to a specific team, and only after the user has confirmed both; never move people on your own initiative or in bulk without the user naming each one. employeeId comes from list_employees and teamId from list_teams. The person's devices stay in their current team, and secondary teams are unchanged; say so when reporting the move. If the person is already in that team, nothing is written and changed is false.
create_employee
Claudefind_devices_with_application
Claudelist_device_applications
Claudelist_device_extensions
Claudelist_devices
Claudelist_employees
Claudelist_teams
Claudeupdate_employee_team
Claude