Required fields are the main weapon against empty cards: the system refuses to save a deal or move it down the funnel until the data is filled in. But the mechanism has plan restrictions and bypass routes, which is why a "required" field still ends up empty in real databases. Let's cover the setup, the holes, and how to close them with automation and visual indicators.
How do I make a field required in Bitrix24?
Hover over the field in the card, open its settings (the gear) and switch on "Required". From then on the card won't save with the field empty — it's marked with an asterisk. Both system and custom fields can be required, in leads, deals, contacts, companies and SPAs in Bitrix24 (Alaio). The second route — CRM → Settings → Field settings: requiredness is visible across all of the entity's fields at once, handy for an audit.
What is "required at a stage" and why is it better?
For entities with stages — leads, deals, SPAs — requiredness can be attached not "always" but to specific stages: Budget becomes required when moving into Negotiation, Loss reason — only at the Lost stage. The manager isn't forced to fill in what they don't know yet, and the card fills up as the deal moves down the funnel. A hard "always required" breeds garbage in practice: at creation time the data doesn't exist, so people type "-" just to save. Per-stage requiredness is not available on every plan — on lower plans a field is either required everywhere or not at all.
Why is a required field still empty sometimes?
The requiredness check fires only in the UI, on manual saves and manual stage moves. Everything that changes data outside the form bypasses it: file imports, leads created by integrations and web forms, the REST API, automation rules and workflows, bulk actions in the list view. Plus permissions: if a role has no access to a field, the manager physically can't fill it — yet sometimes must move the stage. So "we made the field required" does not equal "the field is filled across the whole database": requiredness needs a second line of defense.
How do I enforce completion with automation?
The second line lives in stage automation. The Check field is not empty robot returns Y/N for any field type — then a condition: on N, create a task for the responsible person to complete the card, notify the manager, or send the deal back a stage with a stock action. This control catches imports, the API and integrations — everything that walks past the UI check. The reverse operation matters too: the Clear field robot properly empties a value when a deal returns to work, so stale data doesn't make the card look complete.
How do I make incomplete cards visible at a glance?
"Fill it in" works better when the gap is visible immediately. Visual field types from the Roboteka catalog turn enforcement into something you can see: Checklist shows the deal's mandatory steps with checkmarks, Progress bar renders card completeness as a bar, Color status paints problem states red, Card note puts a "what to fill at this stage" hint right among the fields. The combination of per-stage requiredness + robot enforcement + a visual indicator covers input, bypasses, and the human factor.
Common mistakes with required fields
Making everything required always — managers fill fields with garbage, and the formally required database turns out fictional. Requiredness without permissions — a role can't edit the field it's obliged to fill. Relying on the UI check alone — imports and integrations walk right past it. No periodic audit — fields required "historically" that nobody needs anymore slow down every funnel transition. And checking at the very end: demanding all data at the last stage is too late — spread requiredness evenly across the funnel.
Summary
Required fields take two clicks to set up but only work as a combination: per-stage requiredness against garbage at creation, the Check field is not empty robot against imports and the API, and visual indicator fields against the human factor. Missing a robot or field type for your enforcement scenario — describe the task, we build it for free.