Get user keyring info
With this action, you can fetch the list of users known to a UniFi Protect instance, together with their NFC and fingerprint associations. It returns the information as response data so you can use it in automations, for example to react when a specific person unlocks a door with their fingerprint.
Using this action from the user interface
If you prefer building automations and scripts visually, Home Assistant walks you through this action step by step. You pick what to target, tweak a few options, and save. No YAML knowledge required.
To use this action in an automation or script:
- Go to Settings > Automations & scenes.
- Open an existing automation or script, or select Create to start a new one.
- If you’re setting up a new automation, add a trigger in the When section. Scripts don’t need a trigger.
- In the Then do section, select Add action.
- From the search box, search for and select UniFi Protect: Get user keyring info.
- Select a device from the UniFi Protect instance you want to read.
- Select Save.
Options in the UI
Using this action in YAML
If you work directly in YAML, or you want to know exactly what Home Assistant does under the hood, this section has the technical reference. It lists the field names you use in YAML, their types, and which ones are required.
In YAML, refer to this action as unifiprotect.get_user_keyring_info. A basic example looks like this:
action: unifiprotect.get_user_keyring_info
data:
device_id: 1234567890abcdef1234567890abcdef
response_variable: keyring
The response_variable holds the returned keyring information for later use in your script or automation.
Options in YAML
Response data
The action returns a users list. Each user contains:
-
full_name: The full name of the user. -
user_status: The status of the user, for exampleACTIVE. -
ulp_id: The unique UniFi user ID. -
keys: A list of keys associated with the user. Each key has akey_typeofnfcorfingerprint, along with annfc_idorfingerprint_id.
users:
- full_name: User One
user_status: ACTIVE
ulp_id: d23e27e0-a32a-41e5-9424-be646330c2d5
keys: []
- full_name: User Two
user_status: ACTIVE
ulp_id: a243ffdb-3ab2-4186-b2fe-0b53ccb29f24
keys:
- key_type: nfc
nfc_id: ABCDEF12
- key_type: fingerprint
fingerprint_id: "1"
Good to know
- Users without any registered NFC or fingerprint keys return an empty
keyslist. - You can match the
fingerprint_idornfc_idagainst the value reported when someone unlocks a door, so your automation knows who it was.
Try it yourself
Ready to test this? Open Developer tools > Actions, search for this action, fill in the fields, and select Perform action. You see what happens on your actual entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] without writing a line of YAML.
Still stuck?
The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with the action you’re calling and what you expected to happen, or share on our subreddit /r/homeassistant.
AI assistants like ChatGPT or Claude can also explain actions or suggest the right one when you describe what you want in plain language.