What's the difference between list attributes and object attributes?
Object attributes live on every record of an object. List attributes only exist in the context of a specific list. That's the core distinction, and getting it right is one of the most important decisions in your Attio data model.
Choosing the right attribute scope is one of the most important decisions in your data model.
An object attribute (like "Founding Year" on Companies or "LinkedIn URL" on People) shows up on every record of that type, across every list and view in your workspace. It defines something universally true about the record. If you add a "Sector" attribute to your Companies object, every company record has it, whether you're looking at your pipeline, your portfolio, or the all records view.
A list attribute belongs to a single list. It tracks something that only matters in that specific context. A "Priority" rating on your Target Accounts list, an "Owner" on your Sales Pipeline, a "Source" select field on your Inbound Leads list. These are all list attributes. The data still connects to the underlying record (you'll see it in the Lists section of the record page), but it doesn't bleed into every other view of that object.
The thing that trips people up most is pipeline stages. A status attribute on a pipeline is a list attribute, not an object attribute. It belongs to the list, not to the Companies or Deals object. This is actually what makes it possible for the same company to sit in multiple pipelines at different stages. Your BD pipeline might have them at "Outreach" while your partnerships pipeline has them at "Contract Review." If stages were object attributes, you'd be stuck with one status per record.
The rule of thumb I use with clients: if the data defines what the record is, it's an object attribute. If it describes where the record sits in a process, it's a list attribute. "Employee Count" is an object attribute. It's true regardless of context. "Deal Stage" is a list attribute. It only means something within a particular pipeline.
One practical thing to keep in mind: only admins can create object attributes, but anyone with read-and-write access can add list attributes. So if you're building out a workspace for a team, lean toward list attributes for workflow-specific data. It keeps your object schema clean and gives list owners the flexibility to adapt their own views without needing admin intervention.