> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://docs.groupalarm.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# GroupAlarm Things

Things in GroupAlarm acts as a kind of database, allowing you to store information within GroupAlarm in order to trigger specific processes. For example, alarm templates can be triggered when data changes. The most prominent example of this is the PNA function in GroupAlarm, which collects information from the GroupAlarm PNA App so that alarms can then be triggered. This article focuses solely on configuring Things in the GroupAlarm WebApp. Further background information and examples of how to use Things can be found in the following [blog post](https://www.groupalarm.com/en/blog/new-extension-groupalarm-things/). 

| 💡 Things is an extension that you can add via `Admin` → `Extensions`. The extension itself is free and includes 100 entries across all entities. If you wish to use more than 100 entries, you can increase the limit for a fee in the `Usage` section.

![](https://storage.crisp.chat/users/helpdesk/website/-/9/1/f/e/91fefd8b4b0ac000/appgroupalarmcomen-gbdprofiles_1rzkezv.png)

###### Entities

To use Things, you must first create an entity. An entity is essentially a single database to which you can add records, which are then populated with the relevant data. For unique identification, you can add a name and a description to the entity.

You can also restrict read and write access to the entity. By default, every user has access.

In the `Fields` section, the individual fields are defined, which can then be populated with data. You can name the individual records as you wish when creating or editing the entity. The actual maintenance of the data takes place later.

The following options are available:

**Text:** A free-text field that can be filled in as required.
**Number:** A field for a numeric value
**Date:** A field for a date format.
**Date & Time:** Similar to the Date field, but combined with the time. 
**Yes/No:** A field for a checkbox with Yes/No, or more precisely, true or false.
**Drop-down:** This allows you to add a drop-down menu which can be customised with options. Please press `Enter` to confirm after adding an option. 
**Coordinates:** A field for coordinates in lat/long format (example: 50.76273,6.0774249)
**Address:** For data in address format, such as the location.

| 💡 The individual fields can be sorted in any order using drag and drop.

![](https://storage.crisp.chat/users/helpdesk/website/-/9/1/f/e/91fefd8b4b0ac000/appgroupalarmcomen-gbdprofiles_10dt9q9.png)

###### Rules

When you edit an entity, you can define rules. These rules are used to trigger an action when the data for an entity changes.

| 💡 The rules are only available once the entity has been created.

![](https://storage.crisp.chat/users/helpdesk/website/-/9/1/f/e/91fefd8b4b0ac000/appgroupalarmcomen-gbdprofiles_f6bnuw.png)

To help you identify the rules more easily, you can add a name and a description as usual. 

Under `Trigger`, select when the action should be triggered. You can choose from the three data statuses: `On creation`, `On modification` and `On deletion`. As soon as a corresponding change to the data occurs, the action you specify under `Action type` will be triggered automatically. It does not matter how this change occurs – i.e. manually, via [API](https://developer.groupalarm.com/api/things.html) or [Flow](https://docs.groupalarm.com/de/article/flows-cpcy18/). Currently, alert templates are available as an action type.

Under `Configure Alarm Template`, select the desired alarm template that is to be triggered. 

You can also optionally specify coordinates to be transmitted. These are taken from the `Coordinates` field of the entity. If you also wish to send documents with the alarm, you can specify a document key. You must store this in a `Text` field within the entity.

Furthermore, you can specify a custom event name and an alarm text. You can also add variables from the relevant fields to the text.

|| ⚠️ The event name and alarm text from the rule only apply if they are not defined in the template.

If you want the rule to apply only under certain conditions, you can optionally add one or more conditions. These conditions must then be met for the rule to apply. Please note, however, that the rule will also apply if, for example, you make a change to a field other than the one defined in the condition. For example: if you set the Yes/No checkbox to `YES` as shown in the screenshot for the condition, the rule will also apply if the checkbox for the condition was already ticked and only the coordinates have been adjusted.

|| ⚠️ For the rule in the PNA App, you should, for example, add a condition that expects the value `Yes` for the `Alarm` field. Otherwise, you may receive multiple alerts for the same event. After an alert is triggered, the PNA App always sends an `Alarm false` to the system, which in turn also constitutes a change and thus triggers another alert.

The `Alarm lockout time` helps you to avoid multiple triggers. The system always checks the field you select. If the content is identical to a previous entry within the blocking period, the rule will not apply. For example, you could check whether the address is the same.

![](https://storage.crisp.chat/users/helpdesk/website/-/9/1/f/e/91fefd8b4b0ac000/appgroupalarmcomen-gbdprofiles_s0uniz.png)

![](https://storage.crisp.chat/users/helpdesk/website/-/9/1/f/e/91fefd8b4b0ac000/tingsneuen_yqxoeb.png)

Via `MAINTAINE DATA`, accessible from the overview, you can now populate the individual fields with data. All existing entries are also listed there and can be edited or deleted as required. As well as manually maintaining data, you can also populate, edit and remove entries via the [GroupAlarm Flows](https://docs.groupalarm.com/de/article/flows-cpcy18/) and the [GroupAlarm API interface](https://developer.groupalarm.com/api/things.html). Furthermore, data can be imported via CSV using the `Import` function.

| 💡 When maintaining the data in the individual fields, it is important to adhere to the correct format. Failure to do so may lead to problems during further processing.

![](https://storage.crisp.chat/users/helpdesk/website/-/9/1/f/e/91fefd8b4b0ac000/appgroupalarmcomen-gbdprofiles_5c1alj.png)

![](https://storage.crisp.chat/users/helpdesk/website/-/9/1/f/e/91fefd8b4b0ac000/appgroupalarmcomen-gbdprofiles_gkq6v3.png)