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:

  1. Go to Settings > Automations & scenes.
  2. Open an existing automation or script, or select Create to start a new one.
  3. If you’re setting up a new automation, add a trigger in the When section. Scripts don’t need a trigger.
  4. In the Then do section, select Add action.
  5. From the search box, search for and select UniFi Protect: Get user keyring info.
  6. Select a device from the UniFi Protect instance you want to read.
  7. Select Save.

Options in the UI

UniFi Protect NVR

Any device from the UniFi Protect instance you want to read keyring information from. This matters when you have more than one Protect instance.

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:

ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
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

device_id string Required

The ID of any device from the UniFi Protect instance you want to read keyring information from.

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 example ACTIVE.
  • ulp_id: The unique UniFi user ID.
  • keys: A list of keys associated with the user. Each key has a key_type of nfc or fingerprint, along with an nfc_id or fingerprint_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 keys list.
  • You can match the fingerprint_id or nfc_id against 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.

Tip

AI assistants like ChatGPT or Claude can also explain actions or suggest the right one when you describe what you want in plain language.