Role / Application Provisioning Policies
Provisioning forms are presented to a user when a provisioning request cannot be completed without user input. The data collection fields that are presented on the form come from the role or application's Provisioning Policy, which is defined by the <Form> element inside the Bundle (role) or Application object's XML. The actual form presented to the user during provisioning of roles or application accounts are system-generated at run-time based on skeleton forms that are predefined in IdentityIQ. Requests made through LCM are built with the Identity Update form. Requests that come through the Identity Refresh workflow use the Identity Refresh form. These forms contain a read-only section at the top that displays identifying information about the request, for example, Account ID, First name, and Last name. The fields defined in the provisioning policy forms are added to the form at run time, when the form is presented to a user.
Provisioning policy forms define the fields required for the role or application account to be provisioned, often including a default value or script / rule for calculating a value. When a field cannot be calculated by the system during provisioning of an account or role, it must be presented to a user through a form to get the required value. When multiple accounts or roles are part of the same provisioning request, the form might display a collection of fields pulled from various provisioning police forms. On the form, the fields are, by default, grouped in sections according to the application or role to which they belong. This grouping can be overridden by specifying a section attribute on each of the fields, naming the section into which each field should be placed. See the section attribute description in Fields.

An application provisioning policy can be defined for an application on the Provisioning Policies tab of the Application Configuration page, Applications > Application Definition. Separate policies can be defined for create, update, and delete requests. Additionally, provisioning policies can be specified for creating or updating groups.
The required fields should be specified in the policy with the appropriate field attributes defined. These attributes can include a default value or a script / rule to calculate a default value for the field that can be based on the Identity attributes for the Identity for whom the request is being made. The field Name should match the corresponding native attribute on the application. If Review Required is selected, the field is always presented on a form during provisioning-request processing, even if a default value is provided or calculated successfully.
For creation-type operations you can specify dependencies between applications and application attributes that imply ordering of the provisioning requests.

The provisioning policy field attributes are grouped into two categories: Field Properties and Value Properties.
Field Properties describe field meta data. This includes the field's name, display name, tool tip help text, type, and owner. It also includes indications of whether the field is single or multi-valued, read-only, hidden, required, or review required. Fields can also be marked with a flag to indicate whether changes to the field value should cause the form to be reloaded. The Read-Only and Hidden attributes can be set to a static value (True or False) or can be defined programmatically through a rule or script. The rule and script options are used to dynamically hide and show the field, or change its edit properties, when the form is reloaded based on changes to values of other fields.
The Value Properties section includes properties specifically related to the field's value. A default value, a set of permitted values, and the field's validation logic can all be set here. The Dynamic attribute determines whether the field's value should be reevaluated on every form reload, when the form is reloaded based on a change in another field's value. It should only be selected when the field's value is rule or script based, such that it might change during the form processing based on other field values entered there.
The default value can be specified as a static value or can be calculated programmatically by a rule or script. In an account creation provisioning policy, an additional option, Dependent, is available as part of the ordered provisioning implementation, which is only available on account create provisioning policies. When the dependent option is selected, an application and attribute must also be selected and the value of the field is set to that attribute value for the Identity. Only applications on which this application is dependent are available for selection here.
The Allowed Values list can be specified as a list of values or can be set dynamically by a rule or script. Field validation is optional and can be managed by a reusable rule or with a script.

Role provisioning policies are specified through the Role Editor: go to Setup > Roles, select the role name, and click Edit Role. Then click Add Provisioning Policy and specify the fields for the policy.
Select the application to which the role provisioning policy applies and then specify the fields for the policy. Fields are specified for role provisioning policies exactly as they are specified for application provisioning policies. Role provisioning policies and application provisioning policies are not the same or to be used interchangeably, however.
Role provisioning is not intended for initial role assignment or for the provisioning of account attributes that are not entitlements. Using role provisioning and application provisioning interchangeably cause conflicts and should be avoided.
Role provisioning is designed to be used for profiles that use complex logic, where it is unclear what should be provisioned or deprovisioned. The role provisioning policy is used to state what to provision, "x and y" or "p and q," and to use the contents of the Identity to make that decision.