> For the complete documentation index, see [llms.txt](https://docs.graspil.com/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.graspil.com/en/app/custom-fields.md).

# User custom fields

In Graspil, you can add your own custom fields for users.

For example, if your system has different pricing plans, you can create a "Plan" field and fill it in for each user.

This allows you to:

* filter users by the values of this field;
* create reports that use the data from these fields

{% hint style="info" %}
A custom field is a user property that describes their current state (for example, plan, status, city).

An event is an action the user performs in your system (registration, page view, purchase, etc.).
{% endhint %}

### How do I create a field?

1. Select the resource you need.
2. Go to the custom fields settings section:

   <https://app.graspil.com/custom-fields>
3. Add the fields you need.

**Field settings**

`Field name` — the display name. It can be changed at any time.

`Key` — the unique identifier of the field, used in the system, including when transferring data via the API.

`Type` — the type of data that will be stored in the field:

*string*, *number*, *boolean*, *date*, *array*.

Please note: data must match the selected type. For example, you can't pass a string into a field of type "number".

### How do I populate a field with data?

There are several ways:

1. Pass data using the [API](/en/api/custom-fields.md)
2. Pass data from the Mini App, using the corresponding command
3. Populate data using graspil automations
4. Pass data from your website/landing page using the data transfer script.
