Approval Workflow

The ApprovalWorkflow entity serves as the core component of the ApprovalPolicy object. It defines and manages information about approvers and subscribers, including the explicit and dynamic approvers and subscribers.
Explicit approvers or subscribers can be assigned using the approver_ids or subscriber_ids arrays, which contain the IDs of the respective person objects designated as approvers or subscribers. Dynamic approvers and subscribers can be configured using the dynamic_approvers_ids or dynamic_subscriber_ids arrays, which include the ID of one of the following options:

  • Manager (id: 1) – The person's manager is automatically assigned as the approver or subscriber for the corresponding request.

When creating an approval workflow, it is necessary to define the approval_requirement_id, which determines whether approval is required for the corresponding requests and, if so, it defines the level of the needed approval. The available values for approval_requirement_id are:

  • approval_requirement_id: 1 - None -> No approval is required for the request to be considered approved.
  • approval_requirement_id: 2 - Any of the listed approvers -> Approval from at least one approver is sufficient for the request to be considered approved.
  • approval_requirement_id: 3 - All listed approvers -> Approval from all listed approvers is required for the request to be considered approved.

Following diagram shows approval workflows in our data hierarchy:

Approval PolicyApproval WorkflowsApproval Policy AssignmentPerson

Attributes

approval_policy approval policy
Response

The approval policy this workflow belongs to.

approval_policy_id integer
Request Parameter `filter`

The ID of the approval policy this workflow belongs to.

approval_requirement_id integer
Response Request Enum

Internal identifier for the approval requirement configuration.

Enum Values (3 values)

  • 1
    None
  • 2
    Any of
  • 3
    All of
approver_ids object
Request

Array of IDs of people explicitly assigned as approvers in this workflow.

approvers array of person
Response

The people assigned as approvers in this workflow.

dynamic_approver_ids string
Response Request

Array of IDs of roles or rule-based approvers dynamically resolved at approval time.

dynamic_subscriber_ids string
Response Request

Array of IDs of roles or rule-based subscribers dynamically resolved at approval time.

event event
Response

The absence category (event) this workflow applies to, if the target type is absence.

event_id integer
Request Parameter `filter`

The ID of the absence category (event) this workflow applies to, if applicable.

id integer
Parameter `filter`

Unique identifier for the approval workflow.

organization organization
Response

The organization this approval workflow belongs to.

subscriber_ids object
Request

Array of IDs of people subscribed to receive notifications about approval decisions.

subscribers array of person
Response

The people subscribed to receive notifications about approval decisions.

target_type_id integer
Response Request Enum

Numeric identifier for the approval target type (e.g. time entries, expenses, absences).

Enum Values (3 values)

  • 1
    Event
  • 2
    Time
  • 3
    Expense