Skip to content

Custom data

Custom data is your own business data, kept by Cellosign next to each process and each form: the loan amount, the product, the stage the case is in, the officer’s decision, the satisfaction score. You decide which fields exist. Your workflows fill them in. Your generic dashboards count, filter and list them.

Form fields belong to one form, and workflow values live only while the process runs. Custom data keeps the facts that matter to the business, in one record per case, ready for reporting.

Record One for each Who writes it In a generic widget
Process record process (BPMN) Database Tasks with the relation BPMN Process The rows of the widget: shown, filtered and sorted
Form record form (transaction) Database Tasks with the relation Transaction The forms you see when you open a row: shown and sorted

Each project has one definition for each kind of record: the list of its columns. Custom data can also be kept for business processes and form objects; generic dashboards don’t show those.

Each column has:

Property What it’s for Example
Name The key, used by the workflow. Lowercase letters, digits and underscores. requested_amount
Label The column title on dashboards. Requested amount
Type See the table below. Number
Values For a list: each value’s code and its label. car = Car loan
Default The value of a new record when the workflow doesn’t set it. Usually empty. started
Type Holds On dashboards
Text Any text Contains, equals, is any of
Number A whole number Equals, less than, greater than, between
True/false Yes or no Equals
List One value from a fixed list. The record keeps the code; dashboards show the label. Is any of, is none of, with the labels in a list
Date and time A date and time Between, before, after
Attachment A file, on process records only Not shown on dashboards

Store amounts in whole units (NIS, not agorot with a decimal point). For a rate such as 7.9%, use a list (r790 = 7.9%) or a text column.

The Database Task element writes it. These four patterns cover most processes:

When Database Task Settings
The process starts Create on BPMN Process Input $uuid with the reference $id (this process), and fixed values, for example stage = started.
After each step Update on BPMN Process Condition $uuid Equal $id. Inputs from the form’s fields or a script, for example stage = in_review, requested_amount = the amount field.
A form is created Create on Transaction, on the form’s Form created event An input of type session with the source <form>.session, then $uuid with the reference <input>.uuid, and fixed values such as step = credit_review.
A form is submitted or expires Update on Transaction Condition $uuid Equal <input>.uuid, and the outcome.

Rules that save you a failed process:

  • Create with values that are always there: fixed values, or values the workflow calculated. An empty value fails a text, number, list or date column. Write the values that come from forms with a following Update; an Update skips empty values.
  • Lists need their exact code: car, not “Car loan”. Give the form’s buttons and lists the same codes, and the workflow passes them on as they are.
  • Dates and times are ISO text, for example 2026-11-10T09:30:00. Use $now for the current time.
  • Always add the $uuid condition to an Update, so that it changes only this process’s record.

Name the process with the Meta Information element too, for example “Dana Levi – Car loan – NIS 85,000”: the dashboard search looks in the process name, not in custom data. Tags set by Meta Information can also limit which processes a user group sees.

Columns can be added or removed later, and labels and list values can change. Records that already exist keep their values: a new column is empty in them, and a removed column is no longer shown. A column’s name is its key: a new name is a new, empty column.

Everyone who can see a process on a dashboard sees its custom data. Keep only what the teams need to work and to report. Avoid ID numbers, card numbers and health details unless a team really needs them, and keep them in the forms instead.