This article aims to provide you with information regarding what Custom User Attributes are and how to create them.
What are they and how do they work?
Custom User Attributes include additional information shown within your Happeo User Profile aside from the standard Google or Okta Directory Fields.
This additional information allows for much richer profiles (e.g. details about interests, skill sets, preferred pronouns, etc.) and faster searches.
Furthermore, only public attributes will be displayed on Happeo while attributes only visible to administrators will not be shown.
How often are custom attributes synced?
The synchronization happens automatically every 24 hours.
How to create a custom attribute in Google
Below, you can find a tutorial from Google:
- You can create a custom user attributes schema here by clicking Manage custom attributes
- Select Add custom attribute
- Add fields into the created schema. These fields should make the organization's visible fields available only for sync and visible in Happeo
- The info type should be set to Text
- The visibility should be set to Visible to organization
- The number of values should be set to Single or Multiple value
- By completing the previous steps, a user or administrator is then able to edit newly created fields
- For instance, if you navigate back here
- Click your user profile
- Click the downward arrow on the right side of User information
- And scroll down until you see your recently created custom attribute
- You can click the pencil / edit symbol on the right side of it (it will appear once you hover over it)
- And you can write whatever you like in the field
- After Happeo synchronizes with Google Workspace, the Custom Attributes become searchable and available on the user’s profile. Moreover, the name of the schema becomes the section title
How to create a custom attribute in Okta
From the Dashboard in Okta:
- Click Directory from the navigation menu and Profile editor
From the Users tab, select the Happeo App (by clicking the application name)
Then, click Add attribute
You can find the following settings below:
- Data type – Set to string
- Display name – The label you wish to display (e.g. skills, hobbies, favorite music genre, etc.)
- Variable name – This is used to refer to the attribute in profile mappings and expressions (e.g. skills, hobbies, etc.)
- External namespace – Fill in as: urn:ietf:params:scim:schemas:extension:happeo:2.0:User
- Description – A description of the label you are displaying (e.g. the user’s skills)
- Enum – Needs to be checked if there are only predefined fields that users can choose from (e.g. Monday, Tuesday….Sunday)
- Attribute length – The customizable length of an attribute
- Attribute required – Needs to be checked when creating a user or a group
- Scope – Check the box User personal
After filling in the necessary information, you can click Save.
On the Profile editor page, you can scroll down the Attributes list to find the new attribute you created.
To add the attribute to your Happeo environment, click on Mappings under the Attributes tab.
Then, you can:
- Click Okta User to Happeo
- Scroll down and click Choose an attribute or enter an expression
- You can then add the mapping related to the attribute you created
Make sure to preview the mapping to ensure that it maps properly. You can do this by entering an Okta user in the Preview field at the bottom of the page
Once everything looks good, you can click on Save Mappings
If users are already assigned to the Happeo app, we should receive an update from Okta as soon as you start adding values to the new attribute.
If they are not assigned to the app, we would get the whole user profile together with the Custom Attribute when this is synched in Happeo.
Once the users have been updated, you can find the new attributes under the Additional Info tab in the User Profile.
How to create a custom attribute in Azure AD
First, open your Azure Active Directory portal.
If your custom user attribute is not yet present in the User profile, you can:
- Go to External Identities
- Click Custom User Attributes
- Click Add
Then you can:
- Navigate to Enterprise Applications
- Open the Provisioning tab of the Happeo Enterprise Application
- Under Mappings, select the object (user or group) for which you'd like to add a custom attribute
- At the bottom of the page, select Show advanced options
- Select Edit attribute list for AppName
- At the bottom of the attribute list, enter information about the custom attribute in the fields provided
- Create a new custom attribute with Happeo attributes naming:
- Column value for type will remain as String
- Save your changes
From there you can:
- Click Add new mapping at the bottom-left of the page for users
- Select the source attribute
- Select the newly created target attribute
- Click OK
- Save your changes
Once the sync has been forced from the Azure provisioning, you can find the new attributes under the Additional Info tab in the User Profile
API Scope Issue for Custom User Attributes
If your custom user attributes aren’t being updated after editing the custom attribute itself, please ensure that the API scope is set up correctly in Google Workspace.
To do so, you must first:
- Determine the sync account designated for your Happeo environment. You can find this information by clicking on this provided link and identifying the user assigned as the Google Admin Account
- Go to admin.google.com using your Google Super Admin account
- From the left-hand sidebar, click Directory and then Users
- Click on the Google sync account designated for your Happeo environment
- Scroll down to Admin roles and privileges and click on the section
- You should find one or more roles named "Happeo Sync" or similar variations. A couple of scenarios may exist:
- The account may have a single "Happeo Sync" Admin Role assigned with the scope set to cover all organizational units
- The account may have multiple "Happeo Sync" Admin Roles assigned. Typically, one is named "Happeo User Sync," covering a limited number of organizational units, and another is named "Happeo Group Sync," with the scope encompassing all organizational units
- Open the Admin Role named after “Happeo” that has the scope for All organizational units
- Click on the Privileges section
- Scroll down until you see Schema management and check the box under it called Schema read
- Click Save
Here is the Google Help Center article.
For more information, please see this Google Doc.