Skip to content

Use-Case Examples

These walkthroughs show how to model common real-world scenarios in Entu using entity types, properties, and references.

CRM — Contacts & Companies

Goal: Track companies, the contacts within them, and any notes or activities linked to each contact.

Entity types to create

Company

Property nameTypeNotes
namestringCompany display name
websitestringStore as plain text or use markdown on a text field for clickable links
industrystring
notestext

Contact

Property nameTypeNotes
namestringFull name
emailstring
phonestring
companyreferencePoints to a Company entity
titlestringJob title

Activity

Property nameTypeNotes
datedatetime
typestringe.g. call, meeting, email
summarytext
contactreferencePoints to a Contact entity

Structure

  • Create a Companies container entity as the root.
  • Add each company as a child of that container.
  • Add contacts as children of their respective company — the company reference property and the _parent relationship both link the contact to the company.
  • Add activities as children of their contact.

Access control

Grant _editor rights on the Companies container to your sales team and enable _inheritrights: true on all children so rights propagate automatically.


Project Tracker

Goal: Manage projects with properties, counters, and a formula-computed field.

Entity type

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

Property definitions

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

What this demonstrates

  • set turns a string field into a dropdown.
  • counter generates a unique code per entity (e.g. project numbers).
  • hidden keeps a field out of the edit form but visible on the entity page — good for formula-driven values.
  • formula on total_hours recalculates automatically on every save using child/referrer data.

Media Library

Goal: Store and organise images, videos, and documents with metadata and tags.

Entity types to create

Collection

Property nameTypeNotes
namestringFolder / album name
descriptiontext

Media Item

Property nameTypeNotes
titlestring
filefileThe actual uploaded file
typestringimage, video, document
tagsstringlist: true — multiple values allowed
descriptiontext
authorreferencePoints to a Person entity
publishedboolean
sizenumberSet formula: 'file.size' on the property definition — auto-computed from the attached file

Structure

  • Create Collections as top-level containers.
  • Upload media items as children of the appropriate collection.
  • Use _sharing: public on collections that should be publicly browsable.
  • Use tags (with list: true) so each item can carry multiple tags for filtering.

Querying items by tag via the API

GET /api/{db}/entity?_type.string=media-item&tags.string=nature