# Account naming rules ## Definition

Account naming rules define how to generate account names to connect with final systems. The normal case is the account name will be the same as the user name, in other cases, here you could define the customized account name rules.

When you are configuring an agent, you have to indicate the user domain which will be used to create new accounts, that user domain refers to the Account naming rules defined on the Soffid console. You can visit the [Agents](https://bookstack.soffid.com/books/soffid-3-reference-guide/page/agents "Agents") page for more information. ## Standard attributes - **Code**: code used to identify the account naming rule. - **Description**: a brief description of the rule. That value will be displayed to select the user domain on the agent's setup. - **User domain type**: use to define the kind of - Main user name: use the main user name. - Assigned by the operator: the operator will assign the account name. - Script: allows you to configure the script condition and script creation of account naming. - Server Addon: allows selecting an addon to generate the account naming rules. - **Generator**: allows you to select an addon when the user domain type selected is "Server addon". - **Create account condition**: defines the conditions to enable or prevent the creation of the account. It is only available when the Script option is selected in the User domain type. - **Script**: computes the name to assign to the user account. If the script returns null, the account is not going to be created. It is only available when the Script option is selected in the User domain type. --- #### Create account condition The create account condition enables or prevents the creation of the account. ##### Available objects
userUser object: [Details](http://www.soffid.org/doc/console/latest/uml/com/soffid/iam/api/User.html)
attributesUser attributes map
groupsThe groups that the user belongs to. It's composed of a java map. The key is the group name, and the value is the [Group object](http://www.soffid.org/doc/console/latest/uml/com/soffid/iam/api/Group.html)
groupsListThe groups that the user belongs to. It's composed of a java list of [Group objects](http://www.soffid.org/doc/console/latest/uml/com/soffid/iam/api/Group.html)
serviceLocator[Helper](http://www.soffid.org/doc/console/latest/iam-core/apidocs/com/soffid/iam/ServiceLocator.html) to get access to Soffid microservices
userDomain[User domain](http://www.soffid.org/doc/console/2.8.1/uml/com/soffid/iam/api/UserDomain.html) object
system[Target system](http://www.soffid.org/doc/console/2.8.1/uml/com/soffid/iam/api/Application.html) object
##### Expected result
booleanReturn true if the account can be created
##### Examples Only users with mail address in soffid.com can have an account: ```JavaScript "soffid.com".equals(user.mailDomain) ``` --- #### Account name Script The create account script computes the name to assign to the user account. If the script returns null, the account is not going to be created. ##### Available objects
userUser object: [Details](http://www.soffid.org/doc/console/latest/uml/com/soffid/iam/api/User.html)
attributesUser attributes map
groupsThe groups that the user belongs to. It's composed of a java map. The key is the group name, and the value is the [Group object](http://www.soffid.org/doc/console/latest/uml/com/soffid/iam/api/Group.html)
groupsListThe groups that the user belongs to. It's composed of a java list of [Group objects](http://www.soffid.org/doc/console/latest/uml/com/soffid/iam/api/Group.html)
serviceLocator[Helper](http://www.soffid.org/doc/console/latest/iam-core/apidocs/com/soffid/iam/ServiceLocator.html) to get access to Soffid microservices
userDomain[User domain](http://www.soffid.org/doc/console/2.8.1/uml/com/soffid/iam/api/UserDomain.html) object
system[Target system](http://www.soffid.org/doc/console/2.8.1/uml/com/soffid/iam/api/Application.html) object
##### Expected result
StringReturn the account name to use
##### Example ```JavaScript // Uses the email address as the account name user.shortName+"@"+user.mailDomain ``` ## Actions #### Account naming rules query
**Add new** Allows you to add a new account naming rule in the system. To add a new agent it is necessary to fill in the required fields.
**Delete** Allows you to remove one or more agents by selecting one or more records on the list.
**Export** Allows you to export a CSV file with the account naming rules configuration.
**Import** Allows you to upload a CSV file with the account naming rules configuration to add new rules to the system. First, you need to pick up a CSV file, that CSV has to contain a specific configuration. Then you need to check the contents. And finally, you need to select the mappings for each column of the CSV file to import the data correctly and click the Import button.
#### Account naming rules detail
**Apply changes** Allows you to save new account naming rules or to save an updated account naming rule.
**Undo** Allows you to undo any changes made.
**Delete** Allows you to remove one account naming rule.