Building a New Process from Scratch
Process configuration from scratch refers to the creation of a completely new business process or workflow without utilizing any existing process definitions, templates, or imported configurations. This approach provides full flexibility to design the workflow structure, define process steps, configure routing and embedding rules, establish metadata, and tailor the process to meet specific business requirements and operational procedures.
Follow the below Steps to create new process;
- Click the Add Process button located on the top-right corner of the screen.
- A modal box will appear on screen requesting to key-in the
process_slug. Enter a unique, recognizable value for your process (e.g. typeuser_registrationfor your User registration process). - Click the confirm Add button.
- The initialization modal closes, and the system instantly routes you into a robust, interactive Blank Canvas (Visual Canvas Environment). This environment acts as your design surface where custom business rules and functional blocks are orchestrated.
💡 Note:
Process Slugis a unique system identifier assigned to a process. It is used internally by the platform to distinguish one process from another and may be referenced in configurations, APIs, integrations, URLs, and system-generated records. The value should be concise, descriptive, and unique across the system. It is recommended to use lowercase letters and underscore (_) instead of spaces or special characters. For example,user_registration,loan_application, oremployee_onboardingclearly identify the purpose of the corresponding process while maintaining a standardized naming convention.
Understanding Parameters
Parameters represent the information that a process receives, stores, and uses during execution. Every business process requires data.
For example:
- Customer identifiers
- Account references
- Dates
- Amounts
- Status values
Parameters provide a structured way to store this information.
Why are Parameters Important?
Without parameters, stages would have no information to work with. Parameters are commonly used by:
- Forms
- API requests
- Accounting entries
- Validation rules
- Decision logic
A parameter defined at process level becomes available throughout the process.
Choosing the Correct Parameter Type
Selecting the correct parameter type is important because it affects:
- Validation
- User input
- System behavior
- Available configuration options
String
A String parameter stores text. Use String parameters when storing:
- Names
- Descriptions
- Identifiers
- Reference numbers
Avoid using String parameters for amounts or dates.
Account
An Account parameter stores a reference to an account. Use this type whenever a stage must interact with an account.
Examples include:
- Debit accounts
- Credit accounts
- Customer accounts
Using an Account parameter instead of a String parameter enables account-specific validations.
Amount
An Amount parameter stores monetary values. Use this type whenever the value represents money.
Examples:
- Transaction Amount
- Service Fee
- Interest Amount
Using an Amount parameter improves validation and prevents incorrect data types from being used.
Date Time
A Date Time parameter stores dates and timestamps. Use this type whenever time-based calculations or scheduling are required.
Examples:
- Value Date
- Expiry Date
- Submission Date
Percentage
A Percentage parameter stores percentage values.
Examples:
- Interest Rates
- Tax Rates
- Discounts
Multi-Object
A Multi-Object parameter stores multiple structured records. Use Multi-Object parameters when a single value is not sufficient.
Examples:
- List of customers
- List of transactions
- List of repayment schedules
Understanding Process Variables
Process Variables are dynamic values created during execution. Unlike parameters, variables are usually generated, calculated, or transformed while the process is running.
Parameters vs Variables
| Aspect | Parameters | Variables |
|---|---|---|
| Purpose | Represent data entering the process | Represent data generated or calculated during process execution |
| Source | Provided as input when the process starts | Created, updated, or calculated within the process |
| Usage | Used as process inputs for stages and business logic | Used as temporary working data during execution |
| Lifecycle | Available throughout the process once provided | Can change dynamically as the process progresses |
| Example | Customer ID, Account Number, Transaction Amount | Calculated Fee, Eligibility Status, Total Balance |
The Execution Lifecyle
[ External Trigger / API Call ]
│
▼
┌──────────────┐
│ Parameters │ ──(Read-Only Configuration)──┐
└──────────────┘ │
│ ▼
│ ┌───────────────┐
└─────────────────────────────►│ Expressions │
└───────────────┘
│
(Evaluates & Stores)
│
▼
┌───────────────┐
│ Variables │ ◄──(Changes state during execution)
└───────────────┘
Configuring stages in a process
The following section provides a step-by-step guide for configuring stages within a process. It explains the purpose of each stage configuration option, along with detailed descriptions of the parameters, properties, and settings associated with a stage. Understanding these configurations will help ensure that each stage is correctly defined and aligned with the intended workflow behavior and business requirements.
To configure a stage, follow the steps below:
- Open the required process from the Process Configuration module.
- Click on the Add Stage button available within the process designer.
- Select the appropriate Stage Type based on the action that the stage is intended to perform.
- Provide a unique and meaningful Stage Name to identify the stage within the process.
- Configure the common stage properties:
- Initial Stage – Indicates whether the stage is the starting point of the process.
- Final Stage – Indicates whether the stage represents the end of a process execution path.
- Narration – Provides a description of the stage and its purpose.
- Configure the stage-specific settings based on the selected stage type.
💡 Note: Different stage types expose different configuration options such as request configuration, account mappings, tariff rules, journal entries, variable mappings, or routing conditions.
- Configure any required:
- Input Parameters
- Stage Variables
- Event Conditions
- Output Variables
- Post Processing Logic
- Webhook Configuration
- Define the execution flow by connecting the stage to subsequent stages and configuring any conditional routing criteria where required.
- Review the configuration to ensure all mandatory fields are completed and all dependencies have been configured correctly.
- Click Save Changes to save the stage configuration.
Journal Stage
- What it does: This block is the core engine used whenever a process must record formal accounting double-entries, balance ledger states, or build immutable audit logs.
- Use Case: Imagine designing a automated Fund Transfer Process. When money is moved from
Account AtoAccount B, simple database updates are unsafe. Instead, you drop a Journal Stage block onto the canvas:- Configure the stage to capture the primary transaction amount.
- Establish rules to reference the accurate Source Account ledger (Customer Account A) and flag it for a Debit action.
- Establish balancing rules to reference the Target Account ledger (Customer Account B) and flag it for a corresponding Credit action.
- The Journal block tracks this entry to ensure total debits precisely equal total credits, locking the ledger entries into the immutable ledger database.
- Stage Configuration:
API Stage
- What it does: This block is an integration gateway used to query external software systems, validate customer data against regulatory APIs, or trigger external message brokers.
- Operational Use Case: During an active ledger process, you might need to check external constraints before committing financial records. For example, fetching real-time credit metrics or validation fields. Dropping a Third-Party API Stage allows the process to pause, establish an outbound connection, retrieve critical payload datasets, and inject those data parameters cleanly into downstream Journal or evaluation stages.