> For the complete documentation index, see [llms.txt](https://hyperdapp.gitbook.io/code-editor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hyperdapp.gitbook.io/code-editor/guides/custom-predicates.md).

# Custom Predicates

* You can create your own predicates for reusability and better readability:

```
// SYNTAX
predicate_name :- predicate_body

// EXAMPLE
get_token_owner(OwnerAddress) :- 
  call_fn(hyperdapp, owner, [OwnerAddress]).

prompt :-
  get_token_owner(OwnerAddress),
  show [
    text('Welcome ', OwnerAddress)
  ].
```

{% hint style="info" %}
The output value of the`owner`method is stored in the `OwnerAddress`variable. To expose this value outside of your predicate, we just need to add it as an input.
{% endhint %}
