Welcome
Make the columns that matter mandatory — items can't move forward until they're filled in.
Mandatory Fields protects the quality of your monday boards. You choose a board, a group and the columns that must be filled in — and the app blocks items from moving into that group (or changing status) while any of those columns is still empty, then tells the user exactly which columns are missing. Set it up once and stop chasing people for missing data.
Section 1
Getting started
Install the app, create your first restriction, and add one automation recipe — three steps.
1.1 Install the app
- Open the Mandatory Fields listing on the monday.com marketplace and click Install. You can also reach it from inside monday: Profile → monday apps marketplace, then search Mandatory Fields.
- Choose the account to install it on and approve the requested permissions when monday asks — the app needs to read your columns and move items / update statuses to enforce the restrictions.
- Once installed, the app is available as a dashboard widget, from a group's menu, and as automation recipes under Integrate.
1.2 Open the app
There are two places to manage your restrictions:
- Dashboard widget — the full experience. Add the Mandatory Fields widget to a dashboard and you get the Create and Existing tabs, this User Guide, the widget Settings, and plan management.
- Group menu — click the three dots next to a group on a board and open Mandatory Fields from there. The board and group are pre-selected, so you only pick the columns.
1.3 Create a restriction
A restriction is three choices:
- Pick the board.
- Pick the group the restriction protects — usually the group items move into when they progress (e.g. "Done", "In review").
- Pick the columns that must be filled in before an item may enter that group.
Save it, and it appears under the Existing tab, where you can edit or delete it at any time.
1.4 Add the automation recipe
- Open the board and click Integrate (top-right).
- Search Mandatory Fields and pick the recipe that matches how your team works — see Automation recipes for what each one does.
- Click each underlined field in the sentence to map it (group, status…) and click Create automation.
That's it — from now on, items with empty mandatory columns are stopped, and the user who tried to move them gets a monday notification listing exactly which columns are missing.
Section 2
How it works
A gatekeeper for your groups: the app checks the mandatory columns at the exact moment an item tries to move forward.
2.1 What happens when a column is empty
When one of the app's recipes fires, Mandatory Fields reads every column in the restriction for that board + group. If all of them are filled, the action goes through untouched. If any is empty:
- The action is undone — the item is returned to its previous group, or the status change is reverted, depending on the recipe.
- The user is told why — the person who made the change gets a monday notification on the item listing the missing columns by name.
- Nothing else is touched — the app never edits the mandatory columns themselves or any other data on the item.
2.2 What counts as "empty"
Every column type has a sensible definition of "filled in":
Files
Needs at least one uploaded file.
Dropdown
Needs at least one selected label.
Status
Needs a label — the default gray "empty" state counts as empty.
Connect boards · Dependency · Mirror
Need a displayed value — at least one linked item (with something to show, for mirrors).
Numbers
Needs a value — and by default 0 counts as empty. Flip the "zero is empty" setting if 0 is meaningful data for you.
Everything else
Text, dates, people, timelines and the rest just need any value.
Section 3
Automation recipes
Pick the recipe that matches the moment you want the check to happen — when an item is moved, or when a status changes.
3.1 Guard a group against manual moves
The classic recipe. When an item is moved into the restricted group, the app checks the mandatory columns. If any is empty, the item is returned to the group it came from and the user gets a notification listing the missing columns. If everything is filled, the item stays — the app doesn't interfere.
3.2 Move an item by status — only when it's ready
When a status changes to the label you choose, the app moves the item into the target group — but only if all mandatory columns are filled. If something is missing, the item stays where it is and the user is notified that it did not move to the designated group.
- The basic variant leaves the status as the user set it.
- The revert variant also flips the status back to its previous label when the check fails — so the board never shows "Done" on an item that isn't.
3.3 Guard a status change
No group move at all — when a status changes, the app checks the mandatory columns and, if any is empty, reverts the status to its previous value and notifies the user. Use it when your process is driven by a status column rather than by groups.
3.4 Lock a column behind a status
A different kind of protection: when a chosen column changes and a status condition you define is met (e.g. status is "Approved" — or is not "Draft"), the app reverts the column to its previous value. Use it to freeze fields after sign-off. Note this recipe is a lock, not a mandatory-columns check — it doesn't look at the restriction's column list.
3.5 Several restrictions on one group — the Restriction Selector
Normally one board + group pair holds one restriction. If you want different rules for different situations (say, one set of mandatory columns when moving to "QA" triggered by one status, another set for "Done"), do this:
- Enable multiple restrictions per group in the widget Settings.
- Create the additional restrictions on the same board + group.
- In the recipe, use the Restriction Selector field — it lists each restriction by its column names — to pick which one that automation enforces.
3.6 Conditions — group, status and more
Our recipes no longer bake in the "item in this group" and "and only if status is X" conditions. These are now added in a smarter, more flexible way through monday's own Automations conditions:
- Add the Mandatory Fields recipe from Integrate.
- Open it in the Automations section and click + to add conditions.
- Combine any of monday's conditions — group, status, person, and many more — to control exactly when the check runs.
Section 4
Settings
Open the widget's Settings (the gear on the dashboard widget) to tune how the app behaves.
Zero counts as empty
On by default. A Numbers (or mirrored number) column containing 0 is treated as not filled in. Turn it off if 0 is a legitimate value in your process. This choice is saved for your whole account.
Show current board only
Limits the board dropdown and the Existing list to the board(s) connected to the widget — handy on busy accounts. Outside the dashboard widget the app always scopes to the board you opened it from.
Show subitem boards
Switches the board dropdown to subitem boards, so you can make subitem columns mandatory too. Pair it with the status-guard recipe, which understands subitems.
Multiple restrictions per group
Allows saving more than one restriction on the same board + group, for use with the Restriction Selector recipes. Off by default — the app warns you about duplicates instead.
Section 5
Frequently asked questions
The questions that come up most.
Which column types can be made mandatory?
Any column on the board — text, numbers, status, dates, people, timelines, files, dropdowns, and connected columns (Connect boards, Dependency, Mirror). Each type has its own definition of "filled in" — see What counts as "empty".
Does a 0 in a Numbers column count as filled?
By default, no — 0 is treated as empty so a forgotten default doesn't slip through. If 0 is real data in your process, turn off zero counts as empty in the widget Settings.
Does it work with subitems?
Yes. Enable Show subitem boards in Settings, create a restriction on the subitems board, and use the status-guard recipe — when a subitem's status changes with mandatory columns still empty, the change is reverted and the user is notified.
Can I have more than one restriction on the same group?
Yes — enable multiple restrictions per group in Settings, then use a recipe with the Restriction Selector field to choose which restriction each automation enforces. Recipes without the selector always use the first restriction saved for that board + group.
Does the app fill in or change my data?
No. It only undoes the guarded action — moving the item back or reverting the status — and sends a notification. Your columns are never edited by the app.
I moved an item with empty columns and nothing happened.
Check four things: the board has the Mandatory Fields recipe added under Integrate; the restriction matches the exact board + group the item moved into; you're not past the free plan's 3 blocked actions per month; and on the free plan, only the first restriction is enforced. The app sends a notification when a plan limit is the reason.
What happens to my restrictions if I uninstall?
Uninstalling deletes your account's data and all restrictions from our side. Restrictions may also be reset after long inactivity, in line with our privacy policy — you'll get a notification asking you to set them up again.
Section 6
Troubleshooting
Every notification the app sends, and what to do about it.
That's the app doing its job — the listed columns are empty. Fill them in and move the item again.
A status-based recipe fired but mandatory columns are missing, so the item stayed put (and with the revert variant, the status flipped back). Fill the listed columns and set the status again.
The free plan blocks up to 3 actions per month. The counter resets on the 1st of the month — or upgrade for unlimited enforcement.
The item matched a restriction beyond the first one. Delete the extra restrictions, or upgrade to enforce them all.
Your monday account now has more users than your seat tier covers. Upgrade to the matching tier under Administration → Apps → Mandatory Fields → Billing and the app resumes immediately.
After a long period of inactivity your stored restrictions were removed in line with our privacy policy. Recreate them in the app to continue.
One restriction per board + group is the default. Edit the existing restriction instead — or enable multiple restrictions per group in Settings if you really want several (see the Restriction Selector).
Section 7
Need more help
We're a small team and we read every email.