Custom Fields

Empowering our users to customize Procore for their specific needs and business processes

Configurability

The Problem

Procore was originally built for one customer type: general contractors in the United States. As we’ve expanded to new customer types, geographies, and industries, we’ve found that the product does not fit the business processes of these new customer types.

Enter configurable fieldsets and custom fields.

Configurable fieldset definition
Custom fields definition

Configurable Fieldsets

A new instance of a form on a tool (such as the form a customer fills out to complete an Observation on the job site). Customers can then turn each field in the form off or on, or make certain fields required. Fieldsets allow users to customize the product to their processes, with minimal work on their or our part.

Custom Fields

A new field that can be added to any configurable fieldset. Customers can name the field, choose what type of field they want (such as a checkbox or dropdown), and add the field to forms. This allows users to collect additional data that doesn’t come default with the tool in Procore.

designs

My Role

When I joined the team as the sole UX designer, the core experience had already been designed and built, but it had not been implemented on very many tools at Procore.

While my priority was to help the team roll out fieldsets and custom fields to over a dozen tools, I also helped the team define their vision and roadmap, designed some visual updates, added new field types, and designed & implemented new features.

Config team brainstorm ideas
Config team prioritization grid

Defining Vision & Roadmap

When I joined, the team was at a crossroads in terms of what they worked on next. I led the engineers and product manager in a half day workshop where we did some brainstorming and prioritization exercises. This not only allowed us to clarify our main priority and identify some additional features we should work on, but also allowed me to gain knowledge of the product and build rapport with the team.

We defined who our key users were (especially helpful for me, a new member of the team), brainstormed some ideas for improving the product, and prioritized them. These prioritized ideas then became the basis for our roadmap for the rest of the time I was on the team.

old config designs

Old fieldset designs

new config designs

New fieldset designs

Visual Updates

Soon after I joined the team, I learned that another team at the company was something similar to fieldsets but had a different visual treatment. One of my first orders of business was befriending the designers on this other team and learning about what they had been doing. Although it wasn’t ideal that they had built a separate but similar solution, I agreed that their UX was an improvement on what we had, since it was more clear that you were turning fields off and on. I was able to work with both teams to make a few adjustments, and we were able to implement their designs using shared frontend code, giving our users a more consistent and clear experience.

Field type examples

Field Types

On the custom fields front, one of our top priorities was to add more field types. We supported a few basic types like checkbox, text input, and single select dropdown, but wanted to add in all the possible fields that were in the rest of the product

When talking internally about the new field types (or “data types”), our engineering team used the technical names such as “true/false” (for checkbox) and “decimal” (for number). Additionally, there were some Procore-specific fields like “multi person selector”, “directory person selector”, and “single person selector” — names that were so confusing that nobody on the team could keep them straight. It became pretty clear to me that we could not surface these technical and confusing names to our users.

I worked with our team’s content strategist to first figure out what each field was, find examples of that field across web and mobile, and ultimately come up with a list of names that were clear to everyone.

Config squad rollout status by tool

Rollout

Last but certainly not least, rolling out fieldsets and custom fields to more tools in Procore was one of the company’s top objectives while I was on the team. While most of the rollout legwork was an engineering effort, I helped to standardize how we announced releases in the product, built relationships across teams, and helped answer and address any UX questions & concerns as we engaged with new teams.

H2 goal and results

Outcomes

Over the course of the almost two years I was part of this team, we rolled out fieldsets to almost 20 tools and custom fields to over 16. Customer use of this functionality continues to grow; in the second half of 2020 our goal was to have 23% of customers using fieldsets on 3 or more tools, and we exceeded that goal with over 30% of customers using fieldsets.

See the next project