LogoLogo
User DocsAPI Docsatfinity.swiss
  • 🚀Atfinity: No-Code Process Automation
  • Guides
    • Getting Started
      • Introduction
      • 1. Create Ontologies and Roles
      • 2. Create Information
      • 3. Create and Configure a Document
      • 4. Create a Rule
      • 5. Create a Process
      • 6. Put Live
      • Summary and Next Steps
    • Advanced Topics
      • Extending a Workflow
      • Customizing Names of Cases and Instances
      • Automatically Calculating Information Values
      • Using Built in Integrations
    • Troubleshooting
      • Why is a question not asked?
      • Why is a question asked?
      • The value of my calculated field has a strange format
      • Why is my Proof never asked for?
      • Why is my Rule not executed?
      • Why are some options missing in a dropdown?
      • Case Errors
    • Glossary
      • Case
      • Process
      • Workflow
      • Ontology
      • Instance
      • Role
      • Information
      • Document
      • Document Section
      • Document Template
      • Rules
      • Scheduled Rules
      • Information Types
      • Tab
      • Category
      • Taxonomy
      • Proof
      • RuLa Functions
      • Constants
  • Rule Language (RuLA)
    • ℹ️What is RuLa?
    • Declarations
      • is
      • is with where
      • is all
      • is all with min max
      • Role Choices
    • Expressions
    • Operators
      • Boolean Operators
        • =
        • !=
        • >
        • >=
        • <
        • <=
        • and
        • and then
        • not
        • or
        • or else
        • matches (~=)
      • Date Operators
        • NOW
        • IS_DATE
        • TODAY
        • FORMAT_DATE
        • DAYS
        • WEEKDAYS
        • ADD_DAYS
        • ADD_WEEKDAYS
        • ADD_MONTH
        • ADD_YEARS
        • SUBTRACT_YEARS
        • AFTER
        • DATE_EQUAL
        • DATETIME_EQUAL
        • AFTER_EQUAL
        • BEFORE
        • BEFORE_EQUAL
        • DAYS_AGO
        • MONTHS_AGO
        • YEARS_AGO
      • Known Operators
        • unknown
        • known
        • SNEAKY
        • AVG_OF_ANY
        • LIST_OF_ANY
        • MAX_OF_ANY
        • MIN_OF_ANY
        • SUM_OF_ANY
        • CONCAT_OF_ANY
        • UNION_OF_ANY
        • JOIN_OF_ANY
      • List Operators
        • [ , ] (create)
        • [] (access)
        • in
        • not in
        • contains
        • contains any
        • contains only
        • COUNT
        • SORT
        • CUSTOM_MAX
        • REVERSE
        • FIRST_ELEMENT
        • ALL
        • SOME
        • UNION (or |)
        • SET_DIFFERENCE
        • INTERSECTION
        • MAP
        • FILTER
        • FILTER_FALSE
        • FILTER_UNKNOWN
        • SET
      • Dictionary Operators
        • {} (create)
        • [] (access)
        • in
        • keys()
        • FLATTEN
      • Mathematical Operators
        • + - / *
        • %
        • **
        • //
        • AVG
        • CEIL
        • FLOOR
        • MAX
        • MIN
        • ROUND
        • SUM
        • SUM_PRODUCT
        • SQRT
      • String Operators
        • LEN
        • LOWER
        • UPPER
        • TRIM
        • TRIM_LEFT
        • LEFT
        • RIGHT
        • SLICE
        • REPLACE
        • REPLACE_CHARS
        • format
        • calculated_name
        • CONCAT
        • markdown_table
        • make_filename
        • JOIN
        • uuid
      • Special Operators
        • :=
        • ensure
        • get_attr
        • get_translated_attr
        • has_attr
        • get_properties
        • instances
        • instances_exist
        • is
        • ontology
        • Translate (.$)
        • translate_string
        • roles
        • self
        • name_and_log (debug)
    • Conditional Expressions
      • case
      • if-then-else
      • switch
    • Comments
    • Information about the case
    • Accessing the outcome instance
    • Information about documents
    • Recipes
  • Document XML (ADX)
    • ℹ️What is ADX?
    • ADX Elements
      • Body
      • Text
      • Image
      • Columns
      • Field
      • Checkbox
      • Table
      • Rect
      • Line
      • Space
      • KeepTogether
      • Template
      • Style
      • Page Number
      • QR Code
      • HR Code
    • Jinja Templating
      • Instances
      • Case Meta Information
      • Custom Translations
      • Functions
      • Jinja filters
    • Font support
  • API
    • ℹ️What is the Atfinity API?
    • Generate API Keys
    • API Documentation
    • Calling your APIs within Cases
    • External Data Sources (e.g. CRM)
  • Deploying
    • Deploying on-site
      • Kubernetes
      • Docker Compose
    • Management commands
    • Security Logging
    • LDAP User Backend
    • Single Sign On
  • Integrations
    • Avaloq
    • Worldcheck
  • Releases
    • Release Notes
      • Version 11.x
      • Version 10.x
      • Version 9.x and earlier
    • Release Schedule
Powered by GitBook
On this page

Was this helpful?

  1. Guides
  2. Advanced Topics

Using Built in Integrations

Atfinity allows to send data to and get data from the outside by using its built-in integrations. This is useful if a case needs relevant information from external systems.

Using Atfinity's integrations includes three parts:

  1. Define when the integration should be executed in a rule.

  2. Defining the information sent to the system in an input assignment.

  3. Defining what happens with the received result in an output assignment.

1. Define when the integration should be executed in a rule

Execution of an integration is always triggered by a rule, or rather when the rule's condition evaluates to true. In order to use an integration in Atfinity's one has to create a rule and define its condition.

2. Defining the information sent to the system in an input assignment.

The information to be sent needs to be assigned to pre defined parameters of the integration. This input assignment happens in the rule's action. An input assignment could look like this:

API_REQUEST.name := UPPER(p.full_name)

On the left side of the assignment operator := is a predefined parameters of the respective integration. API_REQUEST is a reserved word in Atfinity indicating an integration input and, in this example, name is a predefined placeholder which this integration can send to the outside system. On the right side of the := operator is the value which name should take. This value is collected during the case in the case manager.

3. Defining what happens with the received result in an output assignment.

Output assignments are similar to input assignments. They are also defined in the rule's action, however, the other way around, since this time values received from the outside system need to be assigned to information in the case manager. So an output assignment would look like this:

p.number_of_hits := API_RESULT.number_of_hits

Here, the instance's information needs to be assigned a value and is therefore on the left side of the := operator, while the returned result is on the right side. The word API_RESULT indicates a returned result and, in this case, number_of_hits is the specific information returned from the system.

Once assigned, the information p.number_of_hits is available in the case manager.

Example: World-Check

Word-Check is a product offered by the company Refinitiv. It's a database of Politically Exposed Persons and heightened risk individuals. In the case that a person needs to be screened, the world-check integration can be used. It sends data about the individual to World-Check which screens for possible hits and returns the result to Atfinity.

A rule for an that would execute the World-Check integration could have a condition like this:

p is Person
p.perform_worldcheck = true

This means that once yes is selected for the information 'perform_worldcheck' the rule's condition evaluates to true and its action (i.e. the integration) will be executed.

The input assignment in the rule's action would be as follows:

API_REQUEST.name := UPPER(p.full_name)
API_REQUEST.gender := UPPER(p.gender)
API_REQUEST.date_of_birth := FORMAT_DATE(p.date_of_birth, "YYYY-MM-DD")
API_REQUEST.country_of_residence := UPPER(p.domicile_country)
API_REQUEST.place_of_birth := UPPER(p.country_of_birth)
API_REQUEST.nationality := UPPER(p.first_nationality)

In this integration run, a person's (referenced as p) name and gender as well as other pieces of information are provided. The receiving system uses this information and screens for whether it contains a person that matches this information. The result of this screen is then sent back to Atfinity and received as follows:

p.worldcheck_has_hits := API_RESULT.has_hits
p.worldcheck_number_of_hits := API_RESULT.number_of_hits
p.worldcheck_check_date := API_RESULT.check_date

Here, the result includes if the screen led to any hits, how many hits there were and the date on which the world check was performed. These three values are assigned to information that the user has defined in Atfinity. These values can then further be used in the case.

PreviousAutomatically Calculating Information ValuesNextTroubleshooting

Last updated 2 years ago

Was this helpful?