A deal marked Won with no value never reaches your revenue report, and a deal with no close date never lands in the right month. Attio can block both at the moment of the stage change. It takes one rule on the Deals object with two requirements.

The rule has gaps. It doesn't check changes made through the API, apps, integrations or Import2, and it can't be put on a list. This guide covers the setup, what your team sees when blocked, and a workflow that catches the cases the rule lets through.

Everything below comes from Attio's help centre, checked on 7 October 2026.

Before you start: three checks

Your plan. Rules are available on Pro and Enterprise. Pro allows up to eight rules per object; Enterprise has no limit. Admins can create rules, and so can members with Full access to the object.

Where your stage lives. Rules are created for objects; Attio's help centre says "Rules aren't available on lists". The standard Deals object has its own Deal stage attribute, and a rule can gate it. If your team moves deals through a stage attribute you created on a list, a rule can't block that move. Either move the pipeline onto the Deal stage attribute, or skip to the workflow section below, which flags the gap after the change.

A Close date attribute. The standard Deals object comes with Deal name, Deal owner, Deal stage, Deal value, Associated company and Associated people. It has no close date. If you haven't added one, open any Deals table view, click ⋮ in the top right, choose Manage attributes, click Create attribute, name it Close date and pick the Date type.

Fill the gaps in existing deals first

A new rule doesn't change or flag deals that already break it. The trap comes later: the next time someone edits such a deal, Attio checks the rule, and the edit can't be saved until the deal meets it. That applies to any edit. Rename a won deal that has no value, and Attio asks for the value first.

So find those deals before you switch the rule on:

  1. Open the Deals table view and click Filter.
  2. Set Deal stage is Won (the default stage is called "Won 🎉").
  3. Add the Deal value and Close date columns and look for blank cells. For a non-numeric column such as Close date, the table's column calculation counts empty and filled values.
  4. Click the arrow next to Save for everyone and choose Save as new view. Call it "Won deals: check values". You'll use it again later.

Fill the missing values, or agree with the deal owners that they'll fill them when the dialog asks.

Create the rule

  1. Click your workspace name, then Workspace settings.
  2. Under Data, click Objects, then Deals.
  3. Open the Rules tab and click + Add.
  4. Name the rule after its outcome: "Require value and close date when deal is Won".
  5. Set the Condition: Deal stage → is → Won.
  6. Add the first Requirement: Deal value → greater than → 0.
  7. Click + next to Requirements and add the second: Close date → is required.
  8. Leave Applies to empty. By default a rule applies to changes made by anyone.
  9. Click Save.

The rule takes effect immediately.

Why "greater than 0" and not "is required". "Is required" accepts any value, including 0. For currency, number and date attributes, a requirement can also compare the value against one you set: greater than, at least, less than, at most or equals.

Gating an earlier stage. The condition is built like a view filter. To require the same fields at "Contract sent" as well, click ⋮ next to the condition, choose Convert to advanced condition and add "Deal stage is Contract sent" with an or. Every requirement in a rule has to be met.

Requirements a rule can't check. You can't set a requirement on an AI-generated attribute or a formula attribute.

What your team sees

In the web or mobile app, when someone drags a deal to Won without a value, the Updates required dialog opens. It shows the change that triggered the rule and the fields that need values. The person fills them in and clicks Save, and Attio saves the stage change together with the new values. Closing the dialog discards the stage change.

In a CSV import, a row that breaks the rule isn't imported. It shows as Failed with the error "Blocked due to object rules violation".

In Ask Attio, the required fields are added to the approval card, and the change applies only when they're set.

In a workflow, a block that tries to make a blocked change fails. Open the run and select the failed block to see the reason. If a workflow moves deals to Won, it now has to set Deal value and Close date too, or its block fails. The other option is Applies to: list only the members or teams the rule should check, and workflows fall outside it.

Rules apply through the Attio MCP as well.

What rules don't check

Attio lists these exceptions in its help centre:

  • the Attio API;
  • apps and integrations;
  • data brought in by Import2;
  • enrichment, email and calendar sync, and records Attio creates on its own from email and calendar activity;
  • list attributes, including a stage attribute on a list.

Rules also don't stop deletion. They check values when a record is created or updated.

In practice, a deal pushed to Won by a billing integration, a form connector or your own script skips the rule. So does a whole pipeline migrated with Import2.

Catch the deals rules let through

A workflow can't block a change, but it can flag one after it happens. This one creates a task for the deal owner whenever a deal reaches Won without both values.

  1. Trigger: Attribute value changed. Object: Deals. Attribute: Deal stage. Unlike Record updated, this trigger also fires when a deal is created already in Won.
  2. Filter. Deal stage is Won, and a group: Deal value empty or Close date empty. If the conditions are false, the workflow stops.
  3. Create task. Task: "Add deal value and close date". Linked records: the deal from the trigger. Assignees: the Deal owner. Due: a date, if you want one.

Triggers and Filter blocks cost no credits. Create task costs 1 credit per run, so you pay only for deals that actually break the rule. Plus includes 1,500 workspace credits a month and Pro 10,000.

Test it once: send one update through the API or the integration you rely on most, and check the task appears.

For a pipeline on a list, point the same trigger at the list's stage attribute. Attribute value changed accepts an object or a list.

To find the source of a gap, open the deal. The Created by attribute shows whether a user, Attio, an integration, a workflow or an app created it. On Pro and Enterprise, right-click a value and choose View edit history to see who or what changed it.

Once a week, open the "Won deals: check values" view you saved earlier. With the rule and the workflow in place, it should have no blank values.

Your rule budget on Pro

Eight rules per object goes further than it sounds, because one rule can hold several requirements. A typical Deals setup uses two:

  • Won: Deal value greater than 0 and Close date required;
  • Lost: Lost reason required, if you add such an attribute.

That leaves six for stage gates such as "Contract sent needs Associated company". Rules on People and Companies count against those objects, not Deals.

Checklist

  1. You're on Pro or Enterprise.
  2. Your pipeline stage is the Deal stage attribute on the Deals object, not a list attribute.
  3. A Close date attribute of type Date exists on Deals.
  4. Existing won deals have a value and a close date.
  5. The rule requires Deal value greater than 0 and Close date when Deal stage is Won.
  6. Workflows that move deals to Won set both values, or the rule's Applies to excludes them.
  7. A workflow creates a task when a won deal is missing either value, and you've tested it with one API update.
  8. Someone opens the "Won deals: check values" view once a week.

Rules are Pro-only, so on Plus this setup starts with an upgrade. Our Attio pricing page shows what Pro costs for your team size.