Skip to content

Entity Types

An entity type defines a category of objects in your database. Create one for each kind of thing you need to store — for example project, invoice, or product. The fields each entity carries are defined by property definitions, which are child entities of the entity type.

All configuration happens through the Entu UI — no code or config files.

Creating an Entity Type

  1. Open Configuration in the sidebar
  2. Add a new entity of type Entity
  3. Fill in the parameters below

Entity Type Parameters

ParamDescription
nameInternal identifier (e.g. project, invoice). Used in API queries — lowercase, no spaces.
labelDisplay name shown in the UI (e.g. Project, Invoice).
descriptionExplanation of what this entity type represents.
add_fromWhich menus or parent entity types this type can be created under. Without this, the "Add" button won't offer this type anywhere. Reference one or more menu entities here.
_sharingMaximum visibility for entities of this type: private (default), domain, or public. See Entities → Sharing.
pluginPlugins attached to this entity type. See Plugins.

WARNING

If add_from is not set, users will have no way to create entities of this type through the UI. Always reference at least one menu or entity.

DANGER

Setting _sharing: public makes all entities of this type visible to anyone on the internet without authentication. Only use it for intentionally public content.

Adding Property Definitions

On the entity type's page, use the "Add" button to create child entities of type Property. Create one for each field entities of that type should have.

Property Definition Parameters

ParamDescription
nameInternal key (e.g. first_name, due_date). Used in API queries. Must be unique within the entity type.
typeData type — determines the UI input and how values are stored. See Property Types below.
labelDisplay name shown above the field.
label_pluralPlural label shown when the field has multiple values (e.g. Tags instead of Tag).
ordinalNumeric sort order within the group. Lower numbers appear first.
groupGroups related fields into named sections on the entity page and in the edit form.
descriptionHelp text shown in an info popover next to the field label.
mandatoryMarks the field as required — always shown with a red indicator when empty.
readonlyVisible on the entity page but not editable through the UI.
hiddenHides the field from the edit form but still shows its value on the entity page. Use for formula-driven or integration-managed fields.
formulaA server-side expression evaluated and written on every save. See Formulas.
defaultPre-filled value when creating a new entity.
listAllows multiple values. Extra inputs appear automatically as the user fills them in.
multilingualStores a separate value per language. A language selector appears next to each input.
markdownEnables markdown rendering for text type fields.
decimalsNumber of decimal places for number type fields.
setRestricts input to a fixed list — renders a dropdown instead of free text. Pair with string type.
reference_queryFilters which entities are selectable in a reference field (e.g. _type.string=person).
_sharingVisibility of this field's values. Cannot exceed the entity type's own _sharing.
searchIndexes values for full-text search. Enable on fields users naturally search by.
pluginAttaches a plugin at the field level for custom UI or behavior.

TIP

Enable search on properties users frequently filter by (e.g. name, status, reference code).

Property Types

TypeInputNotes
stringSingle-line textIf set is defined, renders as a dropdown instead.
textMulti-line textareaAuto-resizes between 3–15 rows. Enable markdown for rich formatting.
numberNumber inputLocale-formatted. Use decimals to control precision.
booleanToggle switchStores true/false.
dateDate pickerStores date only — no time component.
datetimeDate + time pickerStores a full timestamp.
fileFile uploadStores a file attachment. See Files.
referenceEntity selectorLinks to another entity. Use reference_query to filter selectable options.
counterAuto-generated codeRead-only. Shows a generate button when empty; displays the value once assigned. Use for invoice numbers, project codes.

Example: "Project" Entity Type

Entity type:

ParamValue
nameproject
labelProject
descriptionA client project or internal initiative
add_from(reference to the "Projects" menu)

Property definitions (child entities):

nametypelabelNotable settings
namestringNamemandatory, search
statusstringStatusset: ["Planning", "Active", "On Hold", "Done"], mandatory
descriptiontextDescriptionmarkdown
ownerreferenceOwnerreference_query: _type.string=person
due_datedateDue Date
budgetnumberBudgetdecimals: 2
tagsstringTaglabel_plural: Tags, list
codecounterProject Codereadonly
notestextInternal Noteshidden
total_hoursnumberTotal Hoursformula, readonly, decimals: 1