> For the complete documentation index, see [llms.txt](https://help.bots.business/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.bots.business/use-the-mobile-app/properties.md).

# Inspect and edit stored properties

Inspect, create, edit, and delete bot or user properties in the mobile app, with the correct scope and value type.

Properties are named values that a bot keeps between command executions. A value can belong to the bot or to one of its users. Check the scope before changing it: two properties can have the same name but belong to different users.

## Find a property

Open the bot → **Properties**. Use the available scope controls, name search, and type filter to narrow the list. Expand a value or group to inspect its details.

To inspect one known user, open **Chats**, find the user's chat, and tap **Properties**. This provides the user context instead of making you guess an internal ID.

<figure><img src="https://3310729168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVh0yg9olT-QWqi3AYt%2Fuploads%2Fgit-blob-94274cc000da50b14f760691567f0d7ee7f04ade%2Fmobile-properties.png?alt=media" alt="The mobile Properties screen with demonstration bot values"><figcaption><p>The mobile Properties screen with demonstration bot values</p></figcaption></figure>

## Create or edit a value

1. Open the intended bot or user property list.
2. Add a property or open an existing one.
3. Enter **Name**, choose **Type**, and enter **Value**.
4. Save, reopen the property, and check that its stored value matches your intent.
5. Run the command that reads it to verify the result.

Use **String** for text such as a display name, **Integer** for a whole-number counter, and **Boolean** for a true/false setting. Use **JSON** for structured data only when the consuming code expects it. The form rejects values that do not match its selected type.

For example, the [name question](/build-bot-behavior/collect-input.md) writes a user property named `display_name` with type `string`. Look for it under the user who answered, not under bot-wide properties.

<figure><img src="https://3310729168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVh0yg9olT-QWqi3AYt%2Fuploads%2Fgit-blob-02317c8a4625e285fe9df4b6f1b3b7d8c53085e8%2Fmobile-property-json.png?alt=media" alt="The JSON property form with a demonstration structured value and Save"><figcaption><p>The JSON property form with a demonstration structured value and Save</p></figcaption></figure>

<figure><img src="https://3310729168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVh0yg9olT-QWqi3AYt%2Fuploads%2Fgit-blob-5df84e2db885a59263cca46f24134df9d06e839a%2Fmobile-property-boolean.png?alt=media" alt="The Boolean property form with its value switch and Save"><figcaption><p>The Boolean property form with its value switch and Save</p></figcaption></figure>

## Choose the scope deliberately

| You need to store                     | Typical scope                                                                      |
| ------------------------------------- | ---------------------------------------------------------------------------------- |
| A setting shared by the bot           | Bot property                                                                       |
| One user's name or progress           | User property                                                                      |
| A collection of entries read in pages | A [List](/bjs-reference/lists.md), with its documented scope and query limitations |

Changing a value's type or deleting it may affect commands that expect the original data. Keep a copy of an important value before editing it manually.

## Delete a property

Open the property and use **Delete**, then confirm its name. For a selection of properties, inspect the selection before confirming the bulk action. Check the list again after the operation; a failed request does not prove the data was deleted.

## When the value seems wrong

* Clear search and type filters if the property is missing.
* Check the selected bot and user, and refresh after a BJS write.
* Check spelling and type against the BJS that reads the property.
* Distinguish a missing value from a stored `0`, `false`, or empty string; see the getter behavior in [the properties reference](/bjs-reference/user-properties.md).

Properties visible to a bot owner are not a hiding place for credentials you need to keep from that owner. See [protected bots](/account-and-resources/protected-bots.md) and [BJS security](/bjs-reference/security.md).
