Skip to content

Apps and packages ​

Record types are not defined in the workspace that uses them. They are built in an app workspace, published as a release, and installed where they are needed. The same goes for workflows (built in a workflow workspace) and connectors (a connector workspace). All three are packages.

PackageBuilt inHolds
AppAn app workspace (/~helpdesk)Record types, fields, relations, views, sidebar items, and data the app ships (a list of statuses)
Workflow packageA workflow workspace (/_acme-flows)Workflow definitions and step templates
ConnectorA connector workspace (/!core)How to reach another service: its sign-in, its actions, its webhooks

Why it works this way ​

  • One definition, many workspaces. A Helpdesk app can be installed by ten teams. Each gets the Ticket type and keeps its own tickets.
  • Upgrades. A new release changes the type for everybody who installs it, on their own schedule.
  • Nothing breaks by accident. A team's workspace cannot edit an app's types; it can only install another release.

The path of an app ​

  1. Create an app workspace, with a three-character ID prefix (HLP).
  2. Build types in the Entity Builder.
  3. Commit, and publish a release.
  4. A superuser reviews and approves the release.
  5. A team's workspace installs it from the Marketplace.

The demo on this site is exactly that: an app "Helpdesk" (HLP) with the types Customer, Ticket and Ticket Status, installed in the workspace "Acme Studio".

A customer, a record type of the Helpdesk app, in the workspace that installed it

What a workspace may do with an installed app ​

  • Add records of the types the app opens to its installers (tickets, customers).
  • Read the data the app ships (ticket statuses). Those lists are the app's and are read-only.
  • Rename, hide and reorder the app's sidebar items.
  • Translate or rename the app's labels (see Names and translations).

It cannot change the types themselves.

IDs ​

Every record's id starts with a code that says what it is: PRJ… is a project, HLPTKT… a ticket of the Helpdesk app (publisher HLP, type TKT). Codes are claimed once and never change, which is why the prefix and the type codes are asked for up front.

The core app ​

The Core app (/~core) is installed in every workspace. It defines Project, Document, File, Tag, Label, Link, Board and the other basic types. Your own types usually inherit from its base entity, which gives them a name, a summary, a description, labels, documents, files and translations without any work.

Two more apps come with the platform, and no workspace has them until it installs them from the Marketplace:

  • CodeKasten (/~codekasten) holds the Coding Session type, for workspaces that keep a coding agent's sessions.
  • Design (/~design) holds boards and drawings.

They do not count against a plan's installed apps.

Every picture on this site was saved by a test that had just seen the feature work.