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

# Approval Processes

> Configure and manage review and sign-off workflows in your applications

Approvals are a key feature in Elementum that enable structured review and sign-off workflows. Users can request approvals manually, or automations can start approval processes automatically based on specific triggers and conditions.

## Overview

The approval system provides flexible workflow management where:

* Users can initiate approval requests for critical decisions
* Automations can automatically trigger approval processes based on data changes or business rules
* App Admins can configure automations to listen for approval events and move processes forward
* Multiple approval types support different business scenarios

## How Approvals Work

<Tabs>
  <Tab title="Manual Requests">
    Users can request approvals directly through the application interface when they need sign-off on:

    * Financial transactions above threshold amounts
    * Document submissions requiring legal review
    * Status changes that affect project timelines
    * Resource allocations for team assignments
  </Tab>

  <Tab title="Automated Triggers">
    Automations can automatically start approval processes when:

    * Specific data thresholds are met (e.g., expense over \$5,000)
    * Attachments are added to records requiring review
    * Workflow stages are reached in business processes
    * Business rules are triggered by data changes
  </Tab>
</Tabs>

<Info>
  App Admins can write automations that listen for approval events and
  automatically move processes forward when the right people have recorded
  approvals or denials.
</Info>

## Common Approval Scenarios

<AccordionGroup>
  <Accordion title="Purchase Order Approval">
    **Scenario:** Purchase orders over \$1,000 require manager approval

    **Configuration:**

    * Trigger: Amount field > \$1,000
    * Approver: Direct manager
    * Locked fields: Amount, vendor, description
  </Accordion>

  <Accordion title="Document Review">
    **Scenario:** Legal documents need review before execution

    **Configuration:**

    * Trigger: Document type = "Contract"
    * Approver: Legal team group
    * Required approvals: 2 of 5 legal team members
  </Accordion>

  <Accordion title="Time-Off Requests">
    **Scenario:** Employee vacation requests require supervisor approval

    **Configuration:**

    * Trigger: Manual request submission
    * Approver: Employee's supervisor
    * Delegate: Department head (when supervisor unavailable)
  </Accordion>

  <Accordion title="Budget Changes">
    **Scenario:** Budget modifications need finance and department head approval

    **Configuration:**

    * Trigger: Budget variance > 10%
    * Approvers: Finance Manager → Department Head
    * Sequential approval required
  </Accordion>
</AccordionGroup>

## Approval Configuration

### Set Up Approval Processes

1. Click **Approval Processes** under **Workflows and Processes** in your app.
2. Click **Create New**.
3. Enter a name and assign it to a stage in your workflow.
4. Click **Save**.

### Basic Settings

<Tabs>
  <Tab title="Approval Name">
    **Purpose:** Unique identifier for the approval process

    **Best Practice:** Use descriptive names that clearly indicate the purpose

    **Examples:**

    * "Purchase Order Approval - Over \$1K"
    * "Legal Document Review"
    * "Employee Onboarding Sign-off"
  </Tab>

  <Tab title="Assign to Stage">
    **Purpose:** Link approval to specific workflow stage

    **Best Practice:** Align approvals with logical business process stages

    **Examples:**

    * "Review" stage for document approvals
    * "Pending Approval" stage for purchase orders
    * "Manager Review" stage for time-off requests
  </Tab>

  <Tab title="Locked Fields">
    **Purpose:** Restrict field modifications during the approval process

    **Best Practice:** Lock fields that shouldn't change during review

    **Examples:**

    * Amount and vendor fields for purchase orders
    * Contract terms for legal documents
    * Request dates for time-off approvals
  </Tab>

  <Tab title="Automated Approval">
    Enable the **Automated approval** toggle if the process is meant to be started by automations. When enabled, users will not be able to manually start this process.
  </Tab>
</Tabs>

### Approval Types

<Tabs>
  <Tab title="Approval Chain">
    **Sequential approver workflow** where each approver must act before the next can proceed.

    Each step in the chain can be assigned to a **user**, a **group**, or a **dynamic manager**. The dynamic manager option automatically sets the approver to a custom number of manager levels above the requester, based on the reporting hierarchy defined in [Org Structure](/administration/org-structure).

    **Best for:**

    * Budget approvals requiring multiple levels
    * Document reviews with hierarchical sign-off
    * Project milestone approvals

    **Example Configuration:**

    1. Direct Manager
    2. Department Head
    3. Finance Director
    4. CFO (for amounts > \$10,000)
  </Tab>

  <Tab title="Ad Hoc Approval Chain">
    **Dynamic approver selection** where users choose approvers at runtime.

    **Best for:**

    * Project-specific approvals
    * Cross-departmental reviews
    * Flexible approval routing

    **Example Use Case:** User submits expense report and selects appropriate approvers based on expense categories and amounts.
  </Tab>
</Tabs>

### Linked Record Approvals

Run an approval template multiple times on a single record, with each instance tied to a specific linked record. Use this to handle sign-off per line item—such as one approval per purchase order, budget line, or deliverable—instead of bundling everything into a single record-level approval.

**Enable Linked Record Approval:**

1. In your app, open **Approval Processes** and click **Create New**.
2. Toggle on **Linked Record Approval**.
3. Select the target linked object the approval should run against.
4. Configure the remaining approval details (name, stage, approvers, and rules) as you would for a standard approval process.

Once enabled, the approval template can be run multiple times on the same record—once per linked record—either manually or through an automation.

**Manual requests:**

When **Linked Record Approval** is turned on, requesting approval on a record displays a **Linked Line Item Record** field. Choose the specific linked record from the dropdown to start an approval instance tied to that line item.

**Automated requests:**

Use the **Start Approval Process** automation action to trigger approvals based on business rules:

1. Select the **Record** the approval applies to.
2. Set **Approval Process** to the linked-record-enabled template (for example, *Line Item Approvals*).
3. In the **Linked \[Object] Record** field (for example, **Linked PO Line Items Record**), choose the linked record from the dropdown.
4. Enter an **Approval Process tag** to uniquely identify this approval instance. Tags allow automations to differentiate between each approval chain on the same record—using the linked record's ID is recommended.

Pair this action with a loop that iterates over linked records to start an independent approval instance for each one.

### Button Customization

Customize the approval interface to match your business terminology. Here are some examples:

<AccordionGroup>
  <Accordion title="Financial Approvals">
    **Approve Option:** "Authorize" (9/20 characters)

    **Deny Option:** "Reject" (6/20 characters)
  </Accordion>

  <Accordion title="Document Review">
    **Approve Option:** "Sign Off" (8/20 characters)

    **Deny Option:** "Send Back" (9/20 characters)
  </Accordion>

  <Accordion title="Time-Off Requests">
    **Approve Option:** "Grant" (5/20 characters)

    **Deny Option:** "Decline" (7/20 characters)
  </Accordion>
</AccordionGroup>

### Add Approvals to Your Layout

To display approvals in your workflow, add the Approvals component to your record layout:

1. Open your object and click **Record Details Layout** under **User Interface** in the object's menu.
2. In the layout builder, go to the **Components** tab.
3. Find and drag the **Approvals** component to your desired section.
4. The page automatically saves your layout changes.

<Tip>
  To trigger approvals automatically based on business rules, use the **Start Approval Process** automation action. See the [Actions Reference](/workflows/automation-actions-reference) for configuration details.
</Tip>

## Advanced Features

### Approval Delegates

Approval delegates act on your behalf when you are unavailable. You can enable or disable delegation from your user settings.

<Tabs>
  <Tab title="Add a Delegate">
    1. Click your profile icon in the bottom left corner.
    2. Click **Approvals**.
    3. Use the dropdown to search for the user who will take action on your behalf.
    4. Click **Save** in the popup.
  </Tab>

  <Tab title="Remove a Delegate">
    1. Click your profile icon in the bottom left corner.
    2. Click **Approvals**.
    3. Click **Clear**.
  </Tab>
</Tabs>

<Tip>
  Set approval delegates before planned absences to ensure business continuity and prevent approval bottlenecks.
</Tip>

### Group Approvals

When you select a group as a step in an approval chain, you can configure how many members need to act before the step is resolved:

* **Approvals required** — The number of group members who must approve for the step to pass.
* **Denials required** — The number of group members who must deny for the step to be rejected.

### Automation Integration

<Info>
  Automations can automatically manage approval processes based on business
  rules and conditions. See the [Actions Reference](/workflows/automation-actions-reference) for full details on the **Start Approval Process** action.
</Info>

**Automation Actions:**

<AccordionGroup>
  <Accordion title="Start Approval Process">
    **Trigger Examples:**

    * Purchase order amount exceeds \$1,000
    * New employee record created
    * Contract upload detected
    * Budget variance threshold reached

    **Configuration Example:**

    IF Amount > \$1,000 THEN Start "Purchase Order Approval"
  </Accordion>

  <Accordion title="Auto-Approve">
    **Trigger Examples:**

    * Small amounts within delegation authority
    * Pre-approved vendor purchases
    * Routine maintenance requests
    * Employee data updates

    **Configuration Example:**

    IF Amount \< \$100 AND Vendor = "Approved Vendor" THEN Auto-approve "Purchase Order Approval"
  </Accordion>

  <Accordion title="Auto-Deny">
    **Trigger Examples:**

    * Requests exceeding budget limits
    * Invalid or incomplete data
    * Policy violations detected
    * Duplicate submissions

    **Configuration Example:**

    IF Amount > Budget\_Remaining THEN Auto-deny "Purchase Order Approval" WITH Reason "Exceeds available budget"
  </Accordion>

  <Accordion title="Cancel Process">
    **Trigger Examples:**

    * Underlying data changes significantly
    * Requestor cancels original request
    * Deadline passes without action
    * Higher priority conflicts arise

    **Configuration Example:**

    IF Original\_Amount != Current\_Amount THEN Cancel "Purchase Order Approval" WITH Reason "Purchase order amount changed"
  </Accordion>
</AccordionGroup>

## Approval Workflow States

<Tabs>
  <Tab title="Pending Approvals">
    **Active approval requests** requiring action from assigned approvers.

    **Information Displayed:**

    * Approval summary and context
    * Current position in approval chain
    * Deadline information (if configured)
    * Attached documents and relevant data
    * Previous approver comments
  </Tab>

  <Tab title="Approvals to Date">
    **Historical record** of completed approvals for audit and reference.

    **Information Tracked:**

    * Approval outcomes and timestamps
    * Approver information and comments
    * Approval chain progression
    * Time taken for each approval step
    * Final approval status and completion date
  </Tab>
</Tabs>

## Email Notifications and Approval Links

When an approval request is created, approvers receive email notifications containing **Approve** and **Deny** buttons for quick action directly from their inbox.

<Warning>
  Approval links in email notifications expire after 5 days. After expiration, the links will no longer be valid.
</Warning>

### Completing Approvals After Link Expiration

If an approval email link has expired, approvers can still complete the approval through the platform:

<Tabs>
  <Tab title="My Approvals Page">
    1. Log into Elementum
    2. Navigate to **Home > My Approvals**
    3. Locate the pending approval request
    4. Complete the approval or denial from the list
  </Tab>

  <Tab title="Record Details">
    1. Log into Elementum
    2. Open the record that requires approval
    3. Complete the approval or denial directly from the record details
  </Tab>
</Tabs>

<Info>
  Approval requests remain active in the platform regardless of email link expiration. The 5-day expiration only affects the convenience links in email notifications.
</Info>

## Best Practices

<AccordionGroup>
  <Accordion title="Process Design">
    * **Clear Approval Names:** Use descriptive names that indicate purpose and scope
    * **Logical Stage Assignment:** Link approvals to appropriate workflow stages
    * **Realistic Timelines:** Set achievable approval deadlines with buffer time
  </Accordion>

  <Accordion title="Security & Control">
    * **Lock Critical Fields:** Prevent data changes during approval processes
    * **Appropriate Permissions:** Ensure only authorized users can modify approval settings
    * **Audit Trails:** Maintain complete records of all approval actions
  </Accordion>

  <Accordion title="User Experience">
    * **Configure Delegates:** Ensure business continuity with proper delegation
    * **Clear Instructions:** Provide context and guidance for approvers
    * **Timely Notifications:** Keep stakeholders informed of approval status
  </Accordion>

  <Accordion title="Automation Management">
    * **Monitor Performance:** Regularly review automated approval triggers and outcomes
    * **Test Thoroughly:** Validate automation logic before production deployment
    * **Document Rules:** Maintain clear documentation of approval automation rules
  </Accordion>
</AccordionGroup>

## Troubleshooting Common Issues

<AccordionGroup>
  <Accordion title="Approval Process Not Starting">
    **Possible Causes:**

    * Automation trigger conditions not met
    * Insufficient user permissions
    * Incorrect stage assignment

    **Solutions:**

    * Verify trigger conditions and data values
    * Check user roles and permissions
    * Confirm approval is assigned to correct workflow stage
  </Accordion>

  <Accordion title="Approvers Not Receiving Notifications">
    **Possible Causes:**

    * Email notification settings disabled
    * Approver not active in system
    * Delegate settings interfering

    **Solutions:**

    * Enable email notifications in user settings
    * Verify approver account status
    * Review delegate configuration
  </Accordion>

  <Accordion title="Group Approval Thresholds Not Working">
    **Possible Causes:**

    * Incorrect group membership
    * Conflicting approval/denial thresholds
    * Group members lacking permissions

    **Solutions:**

    * Verify group membership and roles
    * Review threshold settings for logical consistency
    * Confirm group member permissions
  </Accordion>
</AccordionGroup>
