> For the complete documentation index, see [llms.txt](https://docs.work-relay.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.work-relay.com/administration/work-relay-data/work-relay-data-model.md).

# Work-Relay data model

Work-Relay uses two categories of objects:

1. **Process configuration** objects define the process wireframe.
2. **Process operational data** objects record each process run.

Configuration includes the Process Designer diagram and its properties. Operational data provides the strongest basis for analytics.

### Process configuration data model

Configuration objects define a process and its versions.

* Process
* Flow — a process version
* Flow Step
* Flow Step Connection
* Flow Step Constraint
* Flow Step Action
* Flow Step Rule
* Flow Step Escalation
* Flow Step Property
* Flow Step Reminder
* Flow Milestone
* Flow Swimlane
* Flow Gantt
* Flow Gantt Property
* Flow Branch
* Flow Library

#### Main configuration objects

| Object                                                      | Description                                    |
| ----------------------------------------------------------- | ---------------------------------------------- |
| Process                                                     | A bundle of process versions.                  |
| Flow                                                        | A version of a process.                        |
| Flow Step                                                   | A step in a flow.                              |
| Flow Step Connection                                        | A connector between steps.                     |
| Flow Step Constraint                                        | A pseudo-connector at a converging branch end. |
| Step actions, rules, escalations, properties, and reminders | Properties associated with a step.             |
| Flow Milestone                                              | A milestone in a flow.                         |
| Flow Swimlane                                               | A swimlane in a flow.                          |
| Flow Branch                                                 | A branch in a flow.                            |

### Process operational data model

Operational objects record process progress on source records.

* Flow Instance
* Flow Instance Cursor
* Flow Instance History
* Flow Instance Time Log
* Flow Instance Issue
* Flow Cache
* Flow Queue

#### Primary operational objects

| Object                | Description                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Flow Instance         | Created when a flow starts on a source record. It represents that process run.                                                                                                                                                                                                                                                                                                |
| Flow Instance Cursor  | <p>Represents an active step.</p><p>In an A-B-C steps sequence, a<br>Cursor would first get its definition from step A. When step A is completed and step B activates, this same Cursor would get its definition from step B. Cursor “gets hold” of a step that is currently active.</p><p>Parallel active steps each have a cursor.</p>                                      |
| Flow Instance History | <p>Records every visit to a step. A history record is created when a step starts. It is updated when the step completes.<br><br>Unlike Cursor, a History record represents each “visit” of a Step. For example, if steps A-B run in a loop, there will only be one Cursor “getting hold” of step A or B, but for each “visit” of the step there will be a History record.</p> |

### Flow Instance fields

| Field          | Description                                |
| -------------- | ------------------------------------------ |
| Name           | Auto-generated unique name.                |
| Completed Date | Date the instance completed.               |
| Is Active      | Indicates whether the instance is active.  |
| Is Completed   | Indicates whether the instance completed.  |
| Object ID      | ID of the source record.                   |
| Object Name    | Name of the source record.                 |
| Object Type    | Type of the source object.                 |
| Flow           | Process version used by the instance.      |
| Parent         | Parent Flow Instance ID for a sub-process. |

### Flow Instance Cursor fields

A cursor contains flow-level properties and instance-specific step values.

| Field                   | Description                                                       |
| ----------------------- | ----------------------------------------------------------------- |
| Name                    | Auto-generated unique name.                                       |
| Due Date                | Step due date, when the designer defines a duration.              |
| Flow                    | Process version used by the instance.                             |
| Flow Branch             | Branch related to the cursor.                                     |
| Flow Instance           | Instance related to the cursor.                                   |
| Is Completed            | Indicates whether the cursor completed.                           |
| Is System               | Indicates an automatic step.                                      |
| Milestone               | Milestone related to the cursor.                                  |
| Processing Frequency    | System-step frequency: Never, Default, 4, 8, 12, 24, or 48 hours. |
| Risk / Risk With Buffer | Calculated risk that the step will be late.                       |
| Status                  | Pending, In Progress, or Complete.                                |
| Status Reason           | Reason a pending step remains pending.                            |
| Step                    | Lookup to the step.                                               |
| Step Assign To          | Assignment definition from the step.                              |
| Step Assign Type        | Assignment type from the step.                                    |
| Step Assigned To        | Resolved assignment for this cursor.                              |
| Step Assigned Type      | Resolved assignment type for this cursor.                         |
| Step Is System          | Indicates whether the step is automatic.                          |
| Step Name               | Name of the step.                                                 |
| Sub Status              | To Do, In Progress, or On Hold. It controls the Kanban column.    |
| Swimlane                | Swimlane related to the step.                                     |

Assignment types include User, Profile, Queue, Group, Field, Apex Class, Variable, and Query.

### Flow Instance History fields

Each step visit creates one history record.

| Field                      | Description                                                                 |
| -------------------------- | --------------------------------------------------------------------------- |
| Name                       | Auto-generated unique name.                                                 |
| Actual Complete Date Value | Date and time the step completed.                                           |
| Actual Start Date Value    | Date and time the step started.                                             |
| Assigned To                | IDs of assigned users.                                                      |
| Comments                   | Comments entered when completing the step.                                  |
| Completed By               | ID of the completing user.                                                  |
| Cursor                     | Related Flow Instance Cursor.                                               |
| Due Date                   | Step due date.                                                              |
| Duration                   | Elapsed duration in hours. Active steps calculate through the current time. |
| Is System                  | Indicates an automatic step.                                                |
| Late                       | Indicates a late step. It appears as red in Progress Dashboard.             |
| Planned Duration           | Duration configured in Process Designer, such as `1d 4h 30m`.               |
| Status                     | Pending, In Progress, or Complete.                                          |

For reporting patterns, see [Reports that combine process and object data](/administration/reports/reports-that-combine-process-and-object-data.md).

### Main object relationships

<figure><img src="/files/LUC2mhqnK9CZfI2OyiFE" alt=""><figcaption></figcaption></figure>
