Fields in Bitrix24 are the cells of a lead, deal, contact, company or smart process card: system fields such as Amount and Stage ship with the CRM, custom fields you add for your own data. Everything downstream depends on them — filters, reports, automation, document generation. This guide covers field types, required fields and multiple values, plus the part the manual skips: how robots and workflows work with fields.

What types of custom fields are available?

You can create a field straight from the card or in the CRM field settings. The main types: string, number, yes/no, date/time, list, link, address, money, file, and bindings to an employee or to CRM elements. Pick the type by how the field will be used later: lists filter and report cleanly, free-form strings do not; money keeps the currency together with the amount; a CRM binding makes the field a clickable relation that automation can follow. You can rename a field at any time, but the type cannot be changed after creation — a wrong type means recreating the field and migrating the data.

How do I make a field required — and why per stage?

Requiredness is configured on the field. Making a field always required gets in the managers' way: at lead creation the data does not exist yet, so people fill the field with junk just to save the card. The better pattern is stage-based requiredness: Budget becomes required when entering Negotiation, Loss reason only on the Lost stage — the card fills up as it moves down the pipeline. The hole in this mechanism: it checks manual moves only; records arriving by import or API bypass it. The safety net is in automation: the Check if a field is filled robot returns Y/N plus the current value, and the workflow either lets the deal through or assigns a task to complete it.

What is special about multiple fields?

A multiple field stores several values at once — phones, emails, tags. Two traps. In workflows a multiple value is substituted as a comma-separated list: to work with the items individually, split it into parts first. And when updated through the API or robots, multiple fields are overwritten as a whole, not appended — write one value and the rest disappear. That is why "add a tag" always looks like: read the current values, add the new one, write everything back.

How do I fill, clear and copy fields automatically?

Four operations cover almost every scenario. Writing a value — the stock modify-document action or entity update robots. Clearing is awkward with stock tools (an empty string does not always equal "empty"), so the Clear a field robot empties a field on a deal, contact, company or lead and reports Y/N. Copying between related entities is a pair of robots: Get field value from a related entity and Set field value on a related entity — when a deal changes stage, read the contact's city into the deal for reporting, or push the deal status the other way into the company card. And before generating a document, run Check if a field is filled so a contract never leaves with blank details.

What are the common field mistakes?

Duplicate fields: instead of finding the existing field, someone creates a new one with a similar name and the data drifts apart — audit the field settings quarterly. Free-form strings where a list belongs: filters and reports on free text fail ("New York", "NYC" and "ny" are three different values), and inconsistent data is also where CRM duplicates start. Always-required instead of stage-based — covered above. And finally, completeness checked only in the interface, with no workflow safety net: automation, imports and the API all walk straight around it.

Where to go from here

Fields are the CRM's foundation: the right type, stage-based requiredness and automatic filling turn the card into a data source for documents and reports instead of a box-ticking form. The field robots — clearing, checking, copying between entities — are collected in the CRM robot catalog; installation is free; they appear in the designer next to the stock actions. If one is missing, describe the task — we build the robot for free and add it to the shared library.