# ApprovalPolicyActionType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Supertype: PolicyActionType
Approval action. The operation will be suspended and the approval workflow will be started. If the workflow ends with success the operation will proceed. If the workflow ends with an error the operation will also end with an error.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
$itemDefinition.Name.LocalPart | property string | [0,1] | Name for the action.
$itemDefinition.Name.LocalPart | property string | [0,1] | Free-form description (e.
$itemDefinition.Name.LocalPart | property ExpressionType | [0,1] | When should this action be applied?
$itemDefinition.Name.LocalPart | container WfProcessSpecificationType | [0,1] | TODO EXPERIMENTAL
$itemDefinition.Name.LocalPart | container ApprovalCompositionStrategyType | [0,1] | How should be this approval policy action composed with other ones that might be related to the same item (object or assignment)?
$itemDefinition.Name.LocalPart | property LocalizableMessageTemplateType | [0,1] | Display name for this approval definition.
$itemDefinition.Name.LocalPart | property QName | [0,-1] | What relation(s) to use when determining approvers? E.
$itemDefinition.Name.LocalPart | reference ObjectReferenceType | [0,-1] | Direct enumeration of the approvers to be used.
$itemDefinition.Name.LocalPart | property ExpressionType | [0,-1] | Expression(s) that yield approvers to be used.
$itemDefinition.Name.LocalPart | container ApprovalSchemaType | [0,1] | More complex (multi-stages) approval schema.
$itemDefinition.Name.LocalPart | property string | [0,1] | Name of custom approval process.

- ### Items

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Name for the action. It is used for logging and other diagnostic purposes.

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Free-form description (e.g. comments about the action purpose)

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    When should this action be applied?

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    TODO EXPERIMENTAL

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    How should be this approval policy action composed with other ones that might be related to the same item (object or assignment)?

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display name for this approval definition. If not specified, the name is derived from triggered constraints (short messages).

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    What relation(s) to use when determining approvers? E.g. "approver", "owner", "securityApprover", and so on.

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM

    Multiplicity: [0,-1]

    Direct enumeration of the approvers to be used. May be used with approverRelation and approverExpression element(s).

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Expression(s) that yield approvers to be used. If specified, the expression(s) are evaluated and the result is used as a set of approvers (UserType, OrgType, RoleType, or any combination of them). May be used with approverRelation and approverRef element(s).

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    More complex (multi-stages) approval schema.

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Name of custom approval process.

    THIS PROPERTY (approvalProcess) IS NOT SUPPORTED YET.