ChakraHQChakraHQ
Data Model

Process

Process object captures the process information of a single instance of process. So for a Sales solution, individual leads are actually individual processes. Similarly in a support solution individual tickets are actually individual processes. The schema that differentiates a lead from a ticket is defined in a schema object called procedure.

At the core of it a process is defined by the following fields

state

The state of the process. process states are defined by solution template or by you if it is something you have built yourself. For example a lead process can have states like New, In-Progress, Converted A ticket process can have states like New, Assigned, Solved

The states can have a dependency flow defined by a stategraph

status

Every process can have one of the following status

  • OPEN
  • COMPLETED
  • CANCELLED

When a process is being worked upon its status is OPEN regardless of its state.

data

data is a json field containing the actual data defining a process instance. the key is either the shortId or the id of the process attribute. all internal apis publish process data as id:value pair while external apis publish data as shortId:value pairs

Example:

{  "lead_id": "LEAD-910",  "source": "web-form",  "first_name": "Cixin",  "last_name": "Liu",  "phone_num": "440123000"}

fields

name

data type

type info

description

id

string

uuid

id of the process - auto generated

team

string

uuid

id of the team to which this process belongs to

procedure

string

uuid

id of the procedure to which this process belongs to

createdBy

string

uuid

user id of the creator

assignedTo

string

uuid

assigned user id

belongsTo

string

uuid

pod id to which this process belongs to

entity

string

uuid

entity of the record to which this process belongs to

record

string

uuid

record id associated with this process

status

string

string

status can be - OPEN, COMPLETED, CANCELLED

state

string

uuid

state id indicating the current state of this process

data

json

id:value json object storing the actual data

derivedData

json

id:value json object storing the derived data

nextActionAt

number

epoch ms

timestamp indicating the time at which the next action is to be taken on this process

completedAt

number

epoch ms

timestamp at which this process was marked as completed

primaryBooking

string

uuid

booking id of the primary booking against this process

cancelledAt

number

epoch ms

timestamp at which this process was marked as cancelled

parentProcedure

string

uuid

procedure id of the parent process for this process

parentProcess

string

uuid

id of the process if this process has a parent process - useful to have hierarchical processes

firstAssignedTo

string

uuid

user id of the first user assigned to this process

firstAssignedAt

number

epoch ms

timestamp at which the process was assigned to for the first time

lastAssignedAt

number

epoch ms

timestamp at which the last assignment happened to this process

createdAt

number

epoch ms

timestamp at which the process was created

updatedAt

number

epoch ms

timestamp at which the process was updated

isDeleted

boolean

flag indicating wether this process is deleted or not

On this page