# get\_attr

### Description

`get_attr` gives you access to named properties of an [instance](/guides/glossary/instance.md) using [expressions](/rule-language/expressions.md).

This is useful if the characteristics (properties) of an instance need to play a role in determining the next step in a [process](/guides/glossary/process.md).

If a property doesn’t exist, you can choose to have a default value assigned to it.<br>

### Example

```
p is Person
get_attr(p, "age", 16) >= 18
```

atfinity dives in and looks up what the value of the attribute “age” is for the person in this [case](/guides/glossary/case.md). If “age” is 18 or higher, this condition evaluates to true.

If “age” has not been provided, or “age” is not even a property of a person, the default value ‘16’ will be used. This means the condition ‘greater than or equal to 18’ evaluates to fals&#x65;**.**<br>

We can also use an expression to choose which property to access.

```
p is Person
get_attr(p, "favourite_property")
```

Here, the system takes what a user has entered as `favourite_property` to work with. If that property does not exist, the condition evaluates to ‘unknown’.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.atfinity.io/rule-language/operators/special-operators/get_attr.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
