---
schema_version: "1"
id: 7d70b27fde8d1322969823885c36aee2ee7c5dfca48d5623ba1d7825aaa576a1
title: ProcessInstanceWorkitem
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/object_reference/sforce_api_objects_processinstanceworkitem.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_processinstanceworkitem.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 29d20e680e485ad4607c0dfa6ba411fe195784c86a77026176c9d96f383f325d
description: Represents a user’s pending approval request.
---
# ProcessInstanceWorkitem

Represents a user’s pending approval request.

![Note](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note.png)

#### Note

Exceptions apply to approval history data retrieved with this object and are available only via SOAP API. For each approval process instance that was pending when Summer '14 became available for your organization, some field values are never populated or are populated only after the rollout. Other fields are populated only after the approval process instance is next acted upon—such as when a user approves, rejects, or reassigns an approval request—after the Summer '14 rollout.

ProcessInstanceWorkitem fields are never populated for approval process instances that were completed before the Summer ’14 rollout. For approval process instances that were pending during the Summer ’14 rollout, all ProcessInstanceWorkitem fields are populated after the approval process instance is next acted upon after the Summer ’14 rollout, with three exceptions. The ElapsedTimeInDays, ElapsedTimeInHours, and ElapsedTimeInMinutes fields are never populated in ProcessInstanceWorkitem records for which equivalent ProcessInstanceStep records were created before the Summer ’14 rollout.

For all other ProcessInstanceWorkitem records, these three fields are populated after the approval process instance is next acted upon after the Summer ’14 rollout.

ProcessInstanceHistory combines fields from ProcessInstanceStep and ProcessInstanceWorkitem. As a result, incorrect elapsed times of 0 can appear in ProcessInstanceHistory records because the elapsed time fields were never populated in the related ProcessInstanceWorkitem record.

![Note](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note.png)

#### Note

Knowledge articles use ProcessInstanceWorkitem records to track the article history, so ProcessInstanceWorkitems records associated with Knowledge articles can’t be deleted.

## Supported Calls

delete(), describeSObjects(), query(), retrieve(), update()

## Fields

| Field | Details |
| --- | --- |
| ActorId | 
Type

reference

Properties

Filter, Group, Sort, Update

Description

ID of the user responsible for approving an approval request.

This field is a polymorphic relationship field.

Relationship Name

Actor

Relationship Type

Lookup

Refers To

Group, User



 |
| ElapsedTimeInDays | 

Type

double

Properties

Filter, Nillable, Sort

Description

The total time in days since this approval request was started.



 |
| ElapsedTimeInHours | 

Type

double

Properties

Filter, Nillable, Sort

Description

The total time in hours since this approval request was started.



 |
| ElapsedTimeInMinutes | 

Type

double

Properties

Filter, Nillable, Sort

Description

The total time in minutes since this approval request was started.



 |
| OriginalActorId | 

Type

reference

Properties

Filter, Group, Sort, Update

Description

ID of the user originally assigned this approval request.

This field is a polymorphic relationship field.

Relationship Name

OriginalActor

Relationship Type

Lookup

Refers To

Group, User



 |
| ProcessInstanceId | 

Type

reference

Properties

Filter, Group, Sort, Update

Description

ID of the ProcessInstance associated with this approval request.

This field is a relationship field.

Relationship Name

ProcessInstance

Relationship Type

Lookup

Refers To

ProcessInstance



 |

## Usage

Use this object to manage a pending approval request for a user.

#### See Also

- [ProcessInstance](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_processinstance.htm "Represents an instance of a single, end-to-end approval process. Use this and the node, step, and workitem process instance objects to create approval history reports.")
- [ProcessInstanceHistory](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_processinstancehistory.htm "This read-only object shows all steps and pending approval requests associated with an approval process (ProcessInstance).")
- [ProcessInstanceStep](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_processinstancestep.htm "Represents one work item in an approval process (ProcessInstance).")