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 | bookin 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 proces - 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 |