---
title: "About Assignments"
slug: "about-assignments"
description: "This document acts as an introduction to Assignments in Decisions. Assignments are features wherein a Designer configures a task and designates a responsible party to complete that task. Assignments in Decisions, create an alert to the assignee that informs them of their requested task to complete. "
updated: 2025-06-24T14:53:35Z
published: 2025-06-24T14:53:35Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.decisions.com/llms.txt
> Use this file to discover all available pages before exploring further.

# About Assignments

## Overview

**Assignments**are **Tasks**that allow **Flows**to wait in a permanently paused state until acted upon by direct user interaction or an external system. Users may [create an Assignment](/v9/docs/creating-a-task-from-a-flow)to:

- Assign a travel **Form**to a manager for approval.
- Set a time frame for a certain task to be completed.
- Require that a particular form is approved by multiple people before being accepted.

Due to the persistent nature of Assignments, task data is not erased and is always accessible.

Assigned Tasks take a snapshot of the current Flows and steps; due to this, should a user attempt to move the data across environments, it will be left in an **Error****State**. The following document details Assignments, as well their behaviors and setup. Additionally, the document provides links to further documentation regarding the topics discussed throughout.

---

## Assignment Types

There are two primary varieties of **Assignments:** **Insession**and **Assigned**. Each one provides its own benefits that can be applied to a variety of use cases.

### InSession Assignment Type

The **InSession****Assignment****Type**is commonly used for submissions or data entry **Forms**. Examples of processes that use these Forms are:

- Purchase Request Submission
- Time off Request Submission
- Customer Account Creation

An **InSession****Form**is:

- Not saved to the database
- Only active during the user session
- Ended (its **Process**) if the user closes out the Form

### Assign Assignment Type

This **Assignment Type** is typically used for processes that contain approvals. Examples of these process include:

- Invoice Routing
- Loan Approval
- Purchase Requests
- Support Ticket Queue

An **Assigned**Assignment:

- Is saved to the database
- Remains active until worked upon
- Does not end if user closes the **Task**

---

## Interacting With Assignments

### Assignment Setup

By accessing the **Assignment Setup** menu, **Designers**are provided a multitude of options on how to configure their **Assignments**. Such functions allow Designers to do things such as (but not limited to):

- Configure **Start**, **Warn**, or **Late**dates for their Assignment
- Determine an **Assignee**(individual **Account** or **Group**) for their **Task**
- Provide a Name and Description for the Assignment
- Specify **Assignment Roles**

The following chart details the settings provided by the Assignment Setup **Properties**and their primary function:

| **Setting Name** | **Purpose** |
| --- | --- |
| **Accounts and Groups** | Assigned the Task to a group or individual account. |
| **Assignment Roles** | Assignment Roles can be used to process Task routing. |
| **Exclude Accounts Groups** | Excludes Accounts or Groups based on the selection. |
| **Assignment Folder Type** | To select the default location where the Task will be stored. |
| **Assignment Description** | Provides description text for the Assignment. |
| **Assignment Type Description** | Provides description text for the Assignment Type. |
| **Assignment Priority** | Designates a priority value to the Assignment. |
| **Show Assigned Form** | Determines whether or not to display the Form by default, upon assignment. |
| **Assignment Dates** | Configurable dates that will change the Task state. |
| **Assignments Events** | Assignment state Flows that will be triggered. |
| **Assignment Reuse** | Options that allow the Task be reused. |
| **Completed Form** | This completed view will cause Forms to appear within Process Folders of either the Case Entity or the Flow Execution Extension. |
| **Additional Assignment Action** | This setting creates new action definition for Email response handling. |

![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1750776741913.png)Specifying Assignees

One such benefit of utilizing **Assignments**from a **Designer's**perspective is the capability to dynamically determine who receives an Assigned **Task**. Assigned Forms allow the Designer to send their Tasks to individual user **Accounts** or a whole **Group**, as desired.

Additionally, Assignments allow the option to execute approval processes in parallel with one another. [**Parallel Approvals**](https://documentation.decisions.com/v9/docs/about-branching-and-merging-flows) provide the capability that allows users to send the same independent Tasks to two separate users. The **Flow****Designer**then waits until both users have completed the Task before proceeding to the next step in the **Flow**. Users must use the **Merge and Branch** steps in the Flow Designer to create a process that will wait until everyone completes their own Task.

Assigning a Task to an entire **Group** does not replicate this effect, as it just assigns a single Task for the entire Group. If one person in that group completes the Task, then it is completed for everyone else as well.

### Assignment States

Unlike other **Entities**in Decisions, **Assignment****States**are reserved and cannot be set using normal methods (i.e. **Set****State**, **Set****Entity****State**). When an Assignment moves to a new state, it can trigger specific behaviors to run by configuring the Flows with****the **Assignment****Settings.**The Warn, Late, Escalated, and Expired states are available at the developer's discretion.

| State Names | Descriptions |
| --- | --- |
| Pending Date | Assignment has a start date that is in the future. |
| Current | Assignment start date has passed, and the assignment has not been completed. |
| Warn | Assignment has passed the warn date. If Assignment Event for Warn was set up it will trigger. |
| Late | Assignment has passed the late date. If Assignment Event for Late was set up it will trigger. |
| Escalated | Assignment has passed the escalated date. If Assignment Events for Escalated was set up it will trigger. |
| Expired | The Expired State****provides an outcome path that exits the Assigned step within the Flow. The assignment will no longer be available. |
| Completed | Assignment has been finished. |

### Assignment Settings and Notifications

In addition to the **Assignment****Setup**menu, additional **Assignment****Properties**may be adjusted via the **Assignment****Settings**(located in the Decisions studio under **System > Settings**).

These settings provide sliders specific to configuring the Assignment's **Initial****Lease**and **Action****Lease****Times**; these controls exist to prevent two users from working the exact same **Assigned** **Task**.

![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2024-06-18_08h33_07.png)

Whenever a Task gets assigned to a user, that **Assignee**will get a **Notification**in the form of a **Pop-up** or **Email**.

These notifications can also be adapted globally in the **Notification Types** Folder found in **System > Administration > Notification > Notification Types**. Designers can disable or design their own custom Notification **Flow**to send to a user upon Task creation. Task Notifications don't have to be changed at a global level, they can also be changed on a per Assignment basis.

![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2024-06-18_08h36_29.png)To change the Notification Settings on individual Tasks, users may utilize the EMAIL functions under In the Assigned step's Properties tab. This category contains the **Email****Notifications**settings that can be customized via **Email****Templates**or**Merge Text Editor**.

Email Templates can also be applied globally to assist in making all Task Email Notifications reflect company branding.

For more information refer to 

- [Assignment Settings and Configuration](https://documentation.decisions.com/v9/docs/assignment-settings)
- [Email Templates](https://documentation.decisions.com/v9/docs/email-templates)

### Extending Assignments

**Assignments**also provide extension capabilities by utilizing a stateful **Data****Structures**(**Flow Execution Extension**or**Case Entity**). As both of these Data Structures are Process tracked, users can **Report** on the Data Structure and filter by **State** to find the **Assignment**. Additionally both Structures have a **Process View Page** which shows the current State of their affiliate **Folder** and the active **Task** within the State.

Combining a **Process****Folder**with****a Task allows users to configure personal **Work Queues**; an employee logs into the **Portal**to see all their Tasks that are **Assigned** to them, and a manager can see their own Queue. Both Process Folders and Tasks used in tandem can separate different Tasks so that only the user who has been Assigned those Folders can have access to it.

---

## Completing Assignments

An **Assignment**is marked as complete when the Flow it was created in either reaches its end or pauses, like when the Flow has another assigned Form. The methods listed here are ways for users to interact with the logic of a Flow and keep the Assignment moving towards the end of the Flow.

What this means is that completing a Form created by an Assignment does not mean that the Assignment is necessarily completed.

Assignments can be worked via:

- **Portal**
- **Email**
- API
- **Auto****Expiration**or **Completion**

If the **Tasks**are worked within the Portal, the **End****User**will need to navigate to their **Inbox** and select the Assignment to open the **Form**. The user then fills out the required fields and submits the Form. This will remove the Assignment from the user's Inbox.

If a user works a Task through Email, they can select the Assignment to navigate to the Assignment or record their response to complete the Form. Alternatively, users can work Assignments via Email is by sending an Email reply. Based on that reply, Decisions will record the user's response and set the Assignment to complete. This allows the ability for the End User to complete the Assignment without having to log into a Decisions environment.

Completing a Task through the **Assignment****API**is also possible. To configure this, users should navigate to the **Assignment Service** located in the **System > Administration > Features > All Services** to use the Task's API endpoint for a response.

The fourth way is via Auto Completion. Auto Completion utilizes a Flow called the **Auto Complete Flow**. The Auto Complete Flow is user configurable and executes any logic configured in that Flow at the expiration of a user's specified time frame.

---

## Reporting on Assignments

As a means of tracking their progress, **Assignments**can be reported on via a **Report**/**Dashboard**. Decisions enables this by empowering Designers with multiple default **Assignment****Data** **Sources**that may be used in constructing a Report in the **Report****Designer**.

Default Assignment Reporting Note that the **Inbox**in the Decisions **Portal**/**Studio**is a **Report****Viewer** that utilizes the **Assignment****Data****Source**. 

This Data Source contains many **Filters** that can be used to manipulate limit the Report Viewer to display only certain **Assigned Tasks**. These capabilities include the option to filter Assignments that are **Active**, ones that are Assigned to a particular user, or ones that are Assigned to a particular **Group**. Reporting on Tasks is the feature that ultimately gives Designers the power to replace the default Inbox.

---

## Assignment Database Tables

Due to the complex nature of [**Assignments**](https://documentation.decisions.com/v9/docs/about-assignments), Decisions stores and maintains all of a user's **Assignment****Data**within a series of four **D****atabase T****ables**:

- entity_assignment
- flow_state_storage
- assignment_handler_data
- flow_data_delta_storage

Each table works in conjunction with one another to provide Decisions the necessary data to properly execute and track Assignments. The following document provides insight to how these tables interact with one another, as well as charts providing information on the columns within each database table.

---

### Database Diagram Relationship

The following diagram provides a relational data model that demonstrates how each of the four tables connect and interact with one another.

![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2.05.7.7.23%20relationship.png)

---

### entity_assignment

The **entity_assignment**table holds most of the user configured data, such as the **Assignment****Name**or **Escalation**configurations. When a user makes a change in the **Assignment Setup Properties**in the **Flow****Designer**, it gets recorded in this table.

When a **Flow** needs to start after an **Assignment**has been completed, the information in this table is used to continue the Flow from the point where it left off.

| **entity_assignment** |
| --- |
| assignment_id | This is the primary key field of the database table |
| warn_date | A user configured date that will run the user configured warn date flow send a notification to the Assignee when this date is reached |
| late_date | A user configured date that will run the user configured late date Flow |
| escalate_date | A user configured date that will send the Assignment to a different assignee when this date is reached |
| start_date | A user configured date when the Assignment set to the current State |
| priority | A user configured String field that is configured through the Assignment Setup Properties in the Flow Designer |
| handler_data | Serialized Data about the Handler such as the Form Assignment Handler or Custom Handler |
| escalation_handler_wrap_data | Serialized data about how Escalations should be handled |
| notes | Notes |
| valid_only_in_folder_state | For conditional actions where they can be assigned when the Folder is in the correct State |
| completed | A Boolean value that is set to true once the Assignee works the Task |
| is_assigned | A Boolean value that is set to true if the Assignment has an Assignee |
| is_current | A Boolean value set to true if the Assignment is active but not completed |
| hidden | The Property that controls whether the Assignment can be visible or invisible |
| administrator_view_only | A Boolean value set to true if the Assignment is Admin view only |
| entity_folder_id | The Id of the Folder where the Assignment is stored |
| entity_name | Is the name of the Assignment that will be displayed in a user's Inbox |
| entity_description | A String field for writing a description about the Assignment |
| created_on_date | The date the Assignment was created |
| modified_date | The date that the Assignment was modified |
| state | This field indicates the condition the Assignment is in |
| archived | A Boolean used to indicate if the Assignment has been Archived |
| archived_date | The date the Assignment will be Archived and permanently deleted |
| all_assignments | Stores details of all the Users/Groups that have been assigned this Assignment |
| deleted | A Boolean value set to true if the Assignment is deleted |
| assignment_handler_id | Id of the Assignment Handler |
| assignment_handler_id_type | Stores an Id of the Handler type |
| state_changed_date | The date the Assignment State was changed |
| next_check_time | The time when the Scheduled Job will check the assignment for any changes |
| next_check_type | What type of check is done i.e. Current, Warn, Late, Expired, or Escalated |
| next_check_id | Id of the Check |
| show_at_login | A Boolean value that if true will show the Assignment at the user's login |
| assignment_type | Stores the Form Assignment Type value |
| has_state_changed | A Boolean value that indicates if an Assignment State has changed |
| assignment_start_flow_id | The id of the Assignment Start Flow that a user can configure in the Assignment Setup Properties in the Flow Designer |
| assignment_warn_flow_id | The id of the Assignment Warn Flow that a user can configure in the Assignment Setup Properties in the Flow Designer |
| assignment_late_flow_id | The id of the Assignment Late Flow that a user can configure in the Assignment Setup Properties in the Flow Designer |
| assignment_escalte_flow_id | The id of the Escalate Late Flow that a user can configure in the Assignment Setup Properties in the Flow Designer |
| flow_tracking_id | Foreign Key from the flow_state_storage_data |
| step_tracking_id | Id of the step that created the Assignment |
| primary_flow_id | The Id of the Primary Flow |
| primary_flow_name | Name of the default base Flow |
| flow_id | The Id of the current Flow |
| flow_name | Name of the parent Flow |
| step_id | Foreign Key from the flow_data_delta_storage |
| step_name | Name of the step that created the Assignment |
| assignment_interaction_started | Time stamp of the interaction time |
| assignment_started | A Boolean value indicating if the Assignment is current |
| completed_date_time | The date the Assignment was completed |
| completed_result | Is the Assignment Forms outcome path |
| completed_by | Records the user who completed the Assignment |
| completed_notes | A String field used for storing notes about a completed Assignment |
| url_tokens | URL token for the Assignment URL |
| notification_subject | The Assignment Notification String subject that will display when the Assignment gets created |
| notification_message | The Assignment Notification String message that will display when the Assignment gets created |
| do_not_send_default_notification | Boolean value that if set to true would cause default Notification to not trigger |
| assignment_time_in_seconds | The amount of time the Assignment has been active |
| assignment_interaction_time_in_seconds | The user interaction time with the Assignment |
| reference_id | The user provided Id that stored when an Assignment is configured |
| history_folder_id | A common field created for Decisions Entities that stores Version History |
| all_tags_data | Stores all tags that have been attached to the Assignment |
| deleted_by | Records the user who deleted the Assignment |
| deleted_on | Records the date the Assignment was deleted |
| extension_id | The Id of the extension object that is tied to the Assignment |
| extension_id_type | Stores the Extension Type |
| folder_state | The State the Folder is currently in |

---

### flow_state_storage_data

This **database****table**is responsible for storing the **Flow's****Header****Data**. When a Flow comes to a **Task**step, Decisions takes a snapshot of that Flow and stores a record in the **f****low_state_storage_data** table.

This table allows Decisions to pause the Flow until an action has occurred. Once the expected action is received, the Flow continues to the next step in the process.

| **flow_state_storage_data** |
| --- |
| flow_tracking_id | The Primary Key field of the table |
| archived | A Boolean indicating if the Flow has been set to an Archived status |
| archived_by | The user who set the Archived status |
| deleted | A Boolean indicating if the Flow has been set to a Deleted status |
| deleted_by | The user who set the Deleted status |
| ended_in_exception | A Boolean indicating if the Flow encountered an Exception |
| exception_details | The Log Error Message details |
| primary_flow_name | Stores the name of the Primary Flow |
| primary_flow_id | The Id of the Primary Flow |
| primary_flow_name | Name of the default base Flow |
| current_flow_id | Id of the running Flow |
| current_step_name | Name of the current step |
| current_step_id | Id of the current step |
| current_tracking_id | Stores the current Flow Tracking Id |
| current_step_tracking_id | Stores the current Step Tracking Id |
| percent_completed | Flow completion percentage |
| start_date | The date when the Flow was started |
| last_update_date | The date when the Flow was last edited |
| last_update_by | The user who last edited the Flow |
| created_on_date | The date when the Flow was created |
| created_by | The user who created the Flow |
| flow_date_storage | Foreign Key of the flow_data_delta_storage table |
| auto_restore_result_data | Stores the Result Data that needs to be sent for the Auto Restart of the step |
| auto_restart | A Boolean value that indicates if a Flow is set to Auto Restart |
| auto_restart_date_time | Date when the Flow was Auto Restarted |
| auto_restart_failed | A Boolean value that indicates if a Flow failed to Auto Restart |
| store_generation | Number used to determine if the stored Flow Data is up-to-date |
| completed | A Boolean indicating if the Flow completed |
| completed_date_time | The date when the Flow completed |
| completed_by | The user who completed the Flow |
| last_active_server | Server on which the Flow Data was used |
| last_active_date_time | The last recorded data time the Flow Data was used |
| archived_date | The date when the Flow will be set to an Archived status |
| deleted_on | The date when the Flow was deleted |
| entity_folder_id | Id of the Designer Folder that stores the Flow |
| state | The current state of the Flow |
| auto_expire_on | A Boolean value that indicates if the Flow is set to expire |

---

### assignment_handler_data

This table that stores data of the **Assignments**' **Escalation**, **Form**, and **Handler** data for custom **Form****Assignments**.

| **assignment_handler_data** |
| --- |
| Id | This is the primary key of the table |
| handler_data | Serialized Flow Handler data |
| escalation_handler_data | Serialized data about handling Escalations |
| form_view_data | Stores the serialized data for the completed Form |

---

### flow_data_delta_storage

This table stores **differential****data**instead of the complete **Flow****Data**to minimize storage needs.

| **flow_data_delta_storage** |
| --- |
| primary_flow_tracking_id | The Main Flow tracking Id |
| delta_data | Serialized Delta Data from the Flow |
| delta_time_stamp | Date Time of when the Delta Data was capture |
| current_flow_id | Current Flow Id |
| current_step_id | Current Step Id |
| current_flow_name | Current Flow Name |
| current_step_name | Current Step Name |
| current_step_tracking_id | Tracking Id of the current step |
| current_flow_tracking_id | Tracking Id of the current Flow |
| is_tracking_data | Boolean used to track if the data is complete or partial |
