How to write Process Rules


Process rules come in three categories:

  • Issue or Warning

  • Creation

  • Assignment

For each category, rules are defined according to a specific format.

1. Issue or Warning

Have atfinity raise an issue or display a warning, according to the conditions you set.

The condition is made up of:

When the condition evaluates to 'true', the defined Issue or Warning is displayed in the Case Manager.


A Swiss bank only allows for people who live in the country to be assigned power of attorney over an account. Whenever an application for a power of attorney comes in concerning an individual who lives abroad, a warning will be shown in the case manager.

This condition is configured as follows in atfinity:

poa is PowerOfAttorney
poa.domicile != ch

Line 1 is the declaration, line 2 the expression. If true, the warning will be raised in the case.

2. Creation

Specify the condition and what you want atfinity to create under that condition.

Creation process rules consist of:

  1. condition: the declarations and expressions

  2. creation: the expression of what should be created


When running the process to create a new joint account, at least two account holders are required.

When writing this as a process rule, this should be filled out in the Conditions field:

c is Contract
c.type_of_account = joint

Line 1 is the declaration, line 2 the expression.

Since we chose 'Create' as outcome of the Process Rule, you will see a Creation field. There, write:

create 2 AccountHolder

Note: be sure to use the exact name of the ontology/role. Here: AccountHolder and not AccountHolders in plural, even though we're creating two.

3. Assignment

Assignment process rules create a specified value, if it does not already exist.

They are made up of:

  1. a condition (declarations and expressions)

  2. an assignment expression

When the condition is true, values are assigned.


You want a person's tax country to be taken from the information the system has on that person's country of domicile.

This should be filled out in the Conditions field:

p is Person

And this follows as the assignment expression:

p.tax_country := p.domicile