Documentation

Connectors

Digital HUB

Connectors are the integration points of the entire workflow orchestration. They are wrapped by exchange commands to be used within the DSL.

Throughout the workflow execution, external/internal providers can be called by means of exchanges that trigger the connectors. The connectors fetch results and decide in each step what to do with the provider responses accordingly.

For a typical onboarding journey, connector use cases include the following:

  • Call an authentication service to authorize the client.
  • Call an eKYC service to validate his/her identity.
  • Call a loan management system to fetch his/her loan information.
  • Call one or more credit bureaus to get the loan history for a client.
  • Call one or more decision engines to decide if the client can get the loan.
  • Call a customer relationship manager (CRM) application to send communications.

Connector DSL examples

Here are some examples of common connector usage:

Sending one-time 2FA passcode


exchange('Send One-Time Passcode') {
    timeout 5
    connector('send-otp')
}

Authenticating user ID


exchange("Authenticate Document") {
    namespace upload
    timeout 60
    connector('authenticate-document')
}

Getting loan information


exchange('Loan Summary') {
    namespace loan
    connector('fetch-loan-summary')
    config clientKey: personal.clientKey
    validate {
        loanId
        loanAmount
        loanTerm
        totalRepayment
        monthlyRepayment
    }
}

Calling credit bureau


exchange('Check Credit Bureau') {
    connector('credit-check')
    config clientKey: personal.clientKey
    validate {
        creditCheckResult {
            oneOf 'SUCCESS', 'FAILED', 'ERROR'
        }
    }
}

Fetch decision


exchange('Contract Decision') {
    namespace decision
    connector('fetch-contract-decision')
    validate {
        responseFlag {
            oneOf 'ACCEPT', 'DECLINE', 'REFER', 'SOLVENCY_CHECK', 'COUNTER_OFFER'
        }
    }
    timeout 30
}

Send reminder


exchange('Send Reminder') {
    namespace crm
    connector('send-reminder')
    config type: reminderType
}

How to use it in workflow


route('Mobile number')
exchange("send OTP")

route('OTP entry')
exchange("verify OTP")

route('Authenticate Document')
exchange("Authenticate Document")