Creating a custom content-type for a list & use some built-in columns


My understanding is that if I have a list which needs custom columns (aka fields) I should create a content-type; create the custom fields add them to the content-type and associate the content-type with the list.

I'm a bit confused when it comes to combining custom fields with built-in fields and after some advice:


  1. Should I create and add a custom content-type and add this along with the built-in contact type (says Contacts) to the list?
  2. Should I build a custom content-type made up of custom fields and built-in fields?
    1. If so can I rename the built-in field, for example "Title" to "Project Title", how would I reference this in PNP PowerShell?

Many thanks for any help


2 Replies

@Paul Bendall I have to say that in many years of using SharePoint I have rarely created custom content types. In most cases I just create the columns I need in the list and, if necessary, add columns from the site columns. But generally I just add columns and don't worry too much about content types. Others will probably react in horror to that!


You can rename columns but bear in mind if you rename columns like Title to Project Title, in other apps you will almost certainly need to use the original internal name for the column, i.e. Title. That is certainly the case in Power Apps and Power Automate and I suspect is with PowerShell as well.


Not sure I've helped much.


Los Gallardos
Microsoft Power Automate Community Super User

@RobElliott sorry for the large delay in responding.


Sometimes I get bog down worrying about best practice. Thanks for your input. What I have done is look at the columns I need in my list. If the column is similar to something built-in then I'd associate that content-type with the list and then the field (if necessary renaming, mostly Title due its special usage). If a built-in column doesn't meet my requirement I'll create one and an associated content-type.

At first I assumed that content types and fields need to be created ahead of the list. However, as the list is a scoping boundary then it seems that a combination of adding columns before and after is acceptable. For example Title rename I do after list creation to ensure it affects only the instance of the field.

Thanks for your input, it helped me come to the conclusion I describe above.