Project Components#

Component List

To create an application, the user needs to understand the core components that make up an application. 

These include the following components:

Component

Reusable

Description

Asset Asset

Yes

An asset item is a resource file (css, javascript, images etc) that the application consumes

Variable Variables

Yes

A variable component is a value used to assist in application logic control. A variable take a values in multiple formats including text-string, number, boolean, date, time, json-path.

Interaction Interactions

No

An interaction component is used to show a user interface that will be presented to a user or system. This can be used across voice (Speech and DTMF), visual (HTML), Text or API interfaces, for example an interaction can represent a web page/web form for visual channel, a prompt for voice channel, a menu or text response for text channel, a API response for API channel. An interaction can be only used once in the project (drag

Plumb Plumbs

No

A Plumb component provides a logic-block that will be used to manage and configure business rules within the application. It is typically used in conjunction with Variables and API calls to make a decision. These include calculations, variable assignment, data transformation, decision logic.

API APIs

No

An API component is a API call to another system. The user is able to quickly integrate over HTTP using formats such as json, XML and raw text.

RPA RPA

No

A RPA component is a special API call that will send a user defined Cypress script with parameters/variables to a Node system which will do the Cypress UI automation and returns a json response back to Camlin.

Code Codes

No

The code component allows the advanced user if required to add a javascript, java or DB code script.

Module/Diagram Modules / Diagrams

Module: Yes

Diagram: No

A module/diagram is a group of other components (a sub flow). A module can be reused many times in the project but a diagram can only be used once.

Not only a module/digram can contain plumbs, interactions, APIs, RPAs, codes, but it can also contain other modules/diagrams.

Event Events

No

An event is a special digram that represents an event triggered by user, for example browser close event

Security Security Profiles

Yes

The security component allow the user to leverage inbuilt security objects including Basic-Authentication, OAUTH2, DB and JWT for secure system integration.

How to manage the components

When you open a project in the APPS, the left menu is where you can manage all of these components, except for diagram. See below for how to manage the components in general:

Left menu panel

Sample component item list

From the left menu panel, if you click on the arrow button on the right of component header (except for Module), the full list of the component items will be shown. Here you can create /edit/ delete a component item.

Sample component item modal

From the left menu panel, double click on a component item name to open item modal to rename / edit details / delete / clone the item. Follow the pages of each component for details of how to configurate each of the component.

How to use the components

  • The application contains a main diagram (top parent diagram) called Main which is automatically created when you create a project. This is the main flow of the application.

  • There are two main types of components:

The building-block components (Interaction, Plumb, API, RPA, Code, Module/Diagram, Event): can be dragged and dropped on to the diagrams to build the flows. Except for module, they are not reusable

The common components (Asset, Variable, Security): cannot be dragged and dropped on to the diagrams but can be used to create the building-block component. They are reusable.

  • The Main diagram can contain items of any building-block component like interactions, plumbs, APIs, RPAs, code, events. It can also contain other modules/diagrams (sub flow). These child modules/diagrams can again contain other building-block components and other modules/diagrams and so on so forth.

  • You can use both top-down or bottom-up approaches to build the application:

Top-down: Build the main diagram first by dropping all necessary component items on to the diagram then go inside to build each of these component items

Bottom-up: Think of the flow logic and necessary component items, build these items first then drop them on to the diagrams

  • All channels (Visual, Voice, Text) can share the same diagram with minor differences among the connections from the interactions to other components (because same interaction in different channels have different exit pipes). These allow one implementation logic for different application channels, which is the main benefit of Camlin.

Main diagram

Components in a module/digram

Real view of diagram

Multi-channels application with one implementation logic

Key components in action

Sample application layout and key components and role outlined.