Skip to main content
Custom fields let an admin add the data your business tracks, for example a domain renewal date on projects, a referral source on quotes or a policy number on contacts. Every field is stored on the record itself, keyed by its immutable key.

Where fields live

Settings → CRM → Custom fields (“שדות מותאמים”). There is one tab per record type:

Types

null or an empty string clears a value. Unknown keys are rejected with 400.

Definition settings

  • Group: fields of the same group show together, in a collapsible section of the form.
  • Required: a new record must have a value (also when an API call leaves customFields out); editing an older record only checks the fields you change.
  • Help text under the input, and a default value for new records.
  • Visibility: staff, portal or public_form (who may see the field).
  • Validation: min / max for numbers and amounts, maxLength and pattern (a regular expression) for text.

Formulas

A formula is a small, safe expression: numbers, + - * /, parentheses, the record’s numeric fields as {key} (number, amount and rating; amounts in shekels), a few built-in record numbers (for example budget on projects, total on quotes, amount on expenses), and the functions round(x, digits), min, max and if(condition, a, b) with comparisons (<, <=, >, >=, ==, !=). Example: round(budget / {hours}, 2). A formula that cannot be computed (a missing value, division by zero) has no value.

Amounts and hidden finance

Team members whose finance is hidden, and contractors, do not see amount fields or formulas that read an amount (such as budget), cannot filter or sort by them, and cannot change them.

Filter and sort lists

Every list of these nine entities accepts two query parameters:
  • cf: a JSON object of { key: value }. Text, long text, link, phone and email match by contains; select and team member by equality (or a list for any-of); a checkbox by true / false; a multi-select by any of a list; number, amount, rating, formula and date by equality or a range { "min": …, "max": … } (inclusive).
  • cfSort: key:asc or key:desc. Numbers, amounts, ratings and formulas sort numerically, dates by date, everything else as text. Records without a value come last either way.

Archive and delete

Deleting a field archives it: it leaves the forms and filters, but the values stay on the records, in their history and in exports, and you can restore it. Delete permanently (“מחיקה לצמיתות”, archived fields only, after a confirmation) removes the values from every record. Your plan limits how many active fields the organization has across all entities; archived fields do not count.

Events

Creating, editing and archiving a field emit custom_field.created, custom_field.updated and custom_field.archived, and each change lands in the audit log under settings.