Skip to main content

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

namedata typetype infodescription
idstringuuidid of the process - auto generated
teamstringuuidid of the team to which this process belongs to
procedurestringuuidid of the procedure to which this process belongs to
createdBystringuuiduser id of the creator
assignedTostringuuidassigned user id
belongsTostringuuidpod id to which this process belongs to
entitystringuuidentity of the record to which this process belongs to
recordstringuuidrecord id associated with this process
statusstringstringstatus can be - OPEN, COMPLETED, CANCELLED
statestringuuidstate id indicating the current state of this process
datajsonid:value json object storing the actual data
derivedDatajsonid:value json object storing the derived data
nextActionAtnumberepoch mstimestamp indicating the time at which the next action is to be taken on this process
completedAtnumberepoch mstimestamp at which this process was marked as completed
primaryBookingstringuuidbookin id of the primary booking against this process
cancelledAtnumberepoch mstimestamp at which this process was marked as cancelled
parentProcedurestringuuidprocedure id of the parent process for this process
parentProcessstringuuidid of the process if this process has a parent proces - useful to have hierarchical processes
firstAssignedTostringuuiduser id of the first user assigned to this process
firstAssignedAtnumberepoch mstimestamp at which the process was assigned to for the first time
lastAssignedAtnumberepoch mstimestamp at which the last assignment happened to this process
createdAtnumberepoch mstimestamp at which the process was created
updatedAtnumberepoch mstimestamp at which the process was updated
isDeletedbooleanflag indicating wether this process is deleted or not