Developers · Users and Permissions
Sharing Attributes Across Multiple Profiles
Last updated 2 November 2026
This guide shows you how to share attributes across multiple user profiles. If your profiles have the same Properties, you can extract them to a container profile. This action groups them and enables you to use them in different profiles.
Prerequisites
This guide builds on previous tutorials in the Users section:
Users
Steps
Sharing attributes across multiple user profiles is a three-step process:
- Step 1: Create a profile template
- Step 2: Create profiles
- Step 3: Use profiles
Step 1: Create a profile template
Create a general employee template. You can define other profiles with fields from the
app/user_profile_types/employee.yml
name: employee
properties:
- name: name
type: string
- name: email
type: string
- name: emergency_contact
type: stringStep 2: Create profiles
app/user_profile_types/software_developer.yml
name: software_developer
properties:
- name: programming_languages
type: arrayapp/user_profile_types/project_manager.yml
name: project_manager
properties:
- name: projects_managed
type: arrayStep 3: Use profiles
Here's an an example of using the software developer profile on a sign-up form:
app/forms/software_developer_signup.liquid
---
name: software_developer_signup
redirect_to: /software-developer/sign-in
resource: User
fields:
profiles:
validation: { presence: true }
employee:
validation: { presence: true }
properties:
validation: { presence: true }
name: { validation: { presence: true } }
email: { validation: { presence: true } }
emergency_contact: { validation: { presence: true } }
software_developer:
validation: { presence: true }
properties:
validation: { presence: true }
programming_languages: { validation: { presence: true } }
---
[...]Here's an example of using the project manager profile on a sign-up form:
app/forms/project_manager_signup.liquid
---
name: project_manager_signup
redirect_to: /project-manager/sign-in
resource: User
fields:
profiles:
validation: { presence: true }
employee:
validation: { presence: true }
properties:
validation: { presence: true }
name: { validation: { presence: true } }
email: { validation: { presence: true } }
emergency_contact: { validation: { presence: true } }
project_manager:
validation: { presence: true }
properties:
validation: { presence: true }
projects_managed: { validation: { presence: true } }
---
[...]Note
If you would like to create a profile on sign-up without assigning any property, please make sure that the parameters would include at minimum
Note
To discover names that fields should have, explore the
Next steps
Congratulations! You know how to share attributes across user profiles. You can learn more about Forms here: Reference: Forms