# Configuring Object Lifecycles

Object lifecycles are the sequences of states (_In Review_, _Approved_, etc.) that an object record can go through during its life. An object lifecycle must have at least two states but can have up to 100 if needed.

Not all objects use lifecycles. Objects without lifecycles simply have a status of _Active_ or _Inactive_. For objects that do use lifecycles, each state is tied to _Active_ or _Inactive_ status.

For information on entry actions and user actions, see <a href="/en/gr/59885/">Configuring Entry Criteria, Entry Actions, and User Actions for Object Lifecycle States</a>
.

<a id="entry_criteria"></a><a id="related-objects"></a><a id="state_type"></a><a id="entry-actions"></a><a id="entry-actions-on-related-objects"></a><a id="user-actions"></a><a id="define-actions"></a><a id="conditions"></a>

## Accessing Lifecycles

Lifecycles are visible and editable from **Admin** > **Configuration** > **Object Lifecycles**. You must have the correct Admin permissions through your security profile to create and modify object lifecycles.

The **Object Lifecycles** page lists all lifecycles currently in the system. You can create new lifecycles by clicking **Create** or edit an existing lifecycle by clicking the lifecycle's name.
Once you've clicked into a lifecycle, you can also click into a specific lifecycle state. From here, you can set up <a href="/en/gr/59885/">entry and user actions </a>
 for a specific state.

##  About Inactive & Active Lifecycle Status {#active-inactive-status}

Lifecycle states and lifecycles themselves have a status flag to indicate _Active_ or _Inactive_. This flag allows you to build all the artifacts for the lifecycle before making it visible to users. Any change to an active lifecycle is immediately visible to all users.

##  How to Create Object Lifecycles {#create-object-lifecycles}

To create a new object lifecycle:

  1. Navigate to **Admin** > **Configuration** > **Object Lifecycles**.
  2. Click **Create**.
  3. Enter a **Label** and **Name**. The label appears to users throughout the Vault. The name identifies the lifecycle through the Vault API.
  4. Optional: Enter a **Description**. This value only appears in the lifecycle configuration pages.
  5. Click **Save**.
  6. Define states, including any entry actions or user actions, for the lifecycle. See details below.
  7. Click **Edit** and select an **Initial** state. This determines which state Vault will assign to a new object record.
  8. Optional: Select a **Complete** state**.** This determines which state Vault will assign to an object record that has reached the end of its lifecycle.

## How to Enable Lifecycles for Objects {#enable-lifecycles}

To enable an object lifecycle:

  1. Navigate to **Admin** > **Configuration** > **Objects**.
  2. Click into details for the object that should use the new lifecycle.
  3. Click **Edit**, select the new **Lifecycle**, and click **Save**.

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: Once you’ve selected a lifecycle for an object and saved the object configuration, you cannot remove the lifecycle if object records exist for that object.</p>
    </div>
  </div>
</div>



## How to Define States {#define-states}

When you create a new object lifecycle, Vault automatically creates two states (_Active_ and _Inactive_) and associates them with the _Active_ and _Inactive_ statuses. You can reuse these default states by renaming them or creating new states. You won't be able to delete the default states until you've set up at least one other state that corresponds to _Active_ status and one that corresponds to _Inactive_ status.

To define lifecycle states:

  1. Navigate to **Admin** > **Configuration** > **Object Lifecycles** and click into a specific lifecycle.
  2. From the States section, click **Create**.
  3. Enter a **State Label** and **State Name**. The label appears to users throughout the Vault. The name identifies the state through the Vault API.
  4. If the <a href="/en/gr/29798/">new state corresponds with _Inactive_ status</a>
, select the **Records in this state become inactive** checkbox.
  5. Select an option from the **Workflow Cancel State** picklist. You can select any state configured on the lifecycle, **No State Change**, or **State in which workflow started** (default). See additional details [below][1].
  6. Optional: Select **Do not execute entry actions for workflow cancel state** to skip all entry actions when a record enters the configured workflow cancel state.
  7. Optional: Enter a **Description**. This value only appears in the lifecycle configuration pages.
  8. Click **Save**.
  9. Optional: Click into the new state to define any entry actions or user actions. Records will not be able to change states unless you configure user actions.

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: When an object uses a lifecycle, users can no longer switch object records between <em>Active</em> and <em>Inactive</em> by editing the records. You must configure user actions or workflows that allow users to change the record’s lifecycle state.</p>
    </div>
  </div>
</div>



## About Workflow Cancel State {#cancel-state}

When defining each lifecycle state, you must make a selection for the **Workflow Cancel State** field. This selection defines which state to automatically move a record to if a user cancels the object's workflow while it's in this state. The default selection, _State in which workflow started_, moves the record to the state it was in when the Workflow Owner started the workflow.

For example, the _Review_ workflow moves a record from _Draft_ to _In Review_. If a user canceled the _Review_ workflow, the record could move back to _Draft_ if your Vault uses the default option or could move to _Review Incomplete_ if that was the defined **Workflow Cancel State**.

When the workflow cancels, Vault moves the record into the _Cancel_ state while checking entry criteria and performing entry actions for the new state. If the entry criteria is invalid, an error message displays. However, if **Do not execute entry actions for workflow cancel state** is selected during workflow configuration, all entry actions are skipped when the workflow is canceled.

## About Object State Types {#state-type}

For each object lifecycle, there are two state types associated with the object by default: **Initial** and **Complete**. These state types appear in the _State Types_ section of the object lifecycle details page. You can also <a href="/en/gr/56431/#how-to-create-object-state-types">create custom object state types</a>
.
You must create a state type association in the _State Types_ section to link the state types to a configured lifecycle state.

Object state types may be required or optional. The _Initial_ state is required, while the _Complete_ state type is optional and does not have to be linked to a lifecycle state.

### How to Associate an Object State Type with a State {#associate-state-type}

To associate an object lifecycle state with an object state type:

  1. Navigate to **Admin** > **Configuration** > **Object Lifecycles** > **[Lifecycle]**.
  2. In the _State Types_ section, click **Create**.
  3. Select a **State Type** from the drop-down.
  4. Select a **State** to associate with the state type.
  5. Click **Save**.

## Lifecycle Stages & Stage Groups

Lifecycle Stages allow organizations to group document and object lifecycle states into ordered collections of stages. Vault then visually represents a document or object record's current stage in the Doc Info page and object record detail page through the Lifecycle Stages Chevron panel. Learn more about <a href="/en/gr/52053/">configuring lifecycle stages</a>
.

## About Atomic Security {#atomic_security}

Atomic Security allows you to secure object fields, actions, and relationships by individual lifecycle state or assigned roles on an object record. Learn more about <a href="/en/gr/47850/">configuring atomic security</a>
.

## System-Managed Objects

Vault does not allow you to assign lifecycles on system-managed objects (_Performance Statistics_, etc.). If an object is system-managed, its **Details** tab shows **System-managed: Records managed by the System**.

[1]: #cancel-state