Published at: 2025-10-30

Create Approval Process


1. Basic Settings

1.1 Access:

[Admin Console] — [Process Management] — [Approval Process Management] — [New]

1.2 Basic Information

  • Approval Process Name: used for subsequent invocation.
  • API Name: the unique identifier for the process in code scenarios. Used for later invocation and cannot be changed.
  • Approval Process Description: describes the purpose or intent of the process. Maximum 500 Chinese characters.
  • Initiate process as:
    • Supports Data Submitter and Data Owner.
    • Difference between Data Submitter and Data Owner: for example, Assistant A creates an Opportunity on behalf of Salesperson B; B is the Data Owner and A is the Data Submitter.
  • Enable Interconnection Approval
    • Configure whether this approval process supports initiation by Interconnection users; supported options include SharePartner, Service Connector, channel portals, etc.
    • When enabled, data created by Interconnection users in Interconnection apps will automatically trigger this process.

image image

2. Triggers

2.1 Description:

Set trigger conditions; when conditions are met, the approval process will automatically trigger.

Trigger/Filter supported field types: multi-select, single-select, Images, number, email, boolean, datetime, phone, single-line text, percentage, time, Dept., rich-text collaboration, date, user, attachment, formula field, roll-up/aggregation field, multi-line text, currency, users (multi-select), URL, Dept. (multi-select), date range (configurable start/end time)

2.2 Trigger Settings:

  • Object: supports selecting standard objects and custom objects; Sub-object is not supported.
  • Trigger Type: Create, Edit, Void, Owner Change, Stage Change, SharePartner Change, Claim, Return, Invalidate, Request Extension, Convert, etc. (supports custom buttons).
  • Master-Sub object constraints:
    • When the approval process triggers, lock all Sub-objects related to this record.
    • After approval completes, unlock all Sub-objects related to this record.
  • Trigger Mode: Always Trigger, Trigger When Conditions Met
    • Always Trigger: trigger when the selected trigger type occurs.
    • Trigger When Conditions Met: trigger only when one or a set of specified conditions under the selected object are satisfied.

Note: - Once you select the trigger object, you cannot change it later because filter settings and post-actions depend on the object.

image

3. Email Configuration

Support configuring email-based approvals so approvers can view/process approvals via email.

Prerequisites for triggering email approvals:

  • Mailbox Management:
    • [Mailbox Management] - [System Mailbox]: enable and bind the mailbox account.
    • The mailbox account must have both Sent Mail Logging and Received Mail Logging enabled.
  • Process-side:
    • Global process configuration: in [Email Approval Configuration] select the mailbox used to send approval emails.
    • When creating/editing a process: [Configure Basic Information] - [Email Configuration], choose the Approval Email Template.
    • Approvers: in Org Structure / personal settings, approvers must have a bound mailbox account.

3.1 Mailbox Management

Go to [Business Rules Management] - [Mailbox Management] - [System Mailbox] to configure mailbox accounts.

Mailbox logging must enable Sent Mail Logging and Received Mail Logging and cannot be disabled.

image

3.2 Global Process Configuration

Go to [Process Management] - [Global Process Configuration] to set the mailbox account used to send approval emails and to configure approval processing keywords.

Selecting the mailbox for sending approval emails - Choose the mailbox account used to send approval emails. This account must have Sent Mail Logging and Received Mail Logging enabled. If no mailbox is configured, approval emails will not be sent when processes are triggered. - If no mailbox account is configured, click “Configure System Mailbox” to jump to [Mailbox Management].

Custom approval keywords - Configure keywords approvers must reply with when processing approval emails (e.g., Agree, Reject, Complete). Default presets include both Chinese and English variants. - Preset approval keywords: - Agree: Agree - Reject: Reject - Complete: Complete - Keyword rules: - Each action type supports up to 20 keywords; each keyword up to 50 characters (no distinction between Chinese/English or case). - Keywords must be unique; duplicates are not allowed.

image

3.3 Email Template Configuration

When creating/editing an approval process, configure the approval email template under [Configure Basic Information] - [Email Configuration].

Create template - Customize approval email templates; support configuring Subject, Body, and language for variable values.

  • Email Subject
    • Support inserting TriggerObject.field, TriggerObject.LookupObject.field, and process-related variables.
  • Email Body
    • Support inserting TriggerObject.field, TriggerObject.LookupObject.field, process-related variables, and custom bullets.
    • The email body supports HTML, enabling rendering of clickable buttons in sent emails.
    • The approval email remarks will be automatically appended to the email body when sending.
  • Variable value language for email body
    • Use any one language configured for the tenant’s multi-language settings.
    • When sending approval emails, field variable content will automatically match the selected language.

image

3.4 View & Process Emails

After submitting data and triggering the approval process, approvers can log in to their personal mailbox (must be the mailbox bound in Org Structure / personal settings; mailboxes bound via the Mail app cannot receive these approval emails) to view and process approval emails.

Processing emails - Log in to your personal mailbox, read the approval email, and reply to process the approval quickly. - Reply content is parsed into two parts: Approval Keyword and Approval Comment.

  • Approval Keyword
    • The first line of the reply and is required.
    • The reply must match the enterprise-defined approval keywords (e.g., Agree, Reject, Complete). If the keyword is incorrect, the approval cannot be processed automatically.
  • Approval Comment
    • The second line of the reply; optional.
    • Only the second line is captured as the approval comment. If the second line contains just an Enter/newline, the approval comment will be empty.

image

4. Advanced Settings

4.1 Send approval result to initiator during process

After each approver acts (e.g., before a reject at a prior node), send the approval result to the initiator.

4.2 Send approval result to initiator after process completion

When the approval is finally approved or rejected, send the result to the initiator.

4.3 Merge consecutive nodes with the same approver

When consecutive nodes in the approval flow have the same approver, merge those nodes so the approver processes them once. Note: Both single/multi-approver nodes and parallel-signature nodes support merge handling. Nodes configured with approval-specific content cannot be auto-approved.

4.4 Allow initiator to recall for re-review

  • The initiator can recall the process for re-review only when the next approval node has not yet been processed.
  • Processed nodes that are parallel-signature or escalated (stepwise) approval nodes do not support recall for re-review.

4.5 Allow approver to recall and re-review after auto-approve node

  • Nodes that auto-approve under specific conditions (for example, consecutive nodes with the same approver) can be recalled for re-review if the approver disagrees with the auto-approve result.

4.6 Post-action exception notifications

  • When the process encounters exceptions (e.g., cannot find approver), notify the selected handling person.

4.7 Specify initiator when system triggers a process

  • For approval flows triggered via APL functions, API calls, etc., you can customize the process initiator.
  • Supports selecting a user-type field from the Trigger Object.

4.8 Process duration

  • Set the maximum duration for the entire approval process flow. If the duration is exceeded, mark the process as timed out.
  • Duration must be a positive integer. Units can be minutes, hours, or days.

image

5. Filters

5.1 Filter description:

Based on the configured trigger conditions, you can apply additional filters. Only records that meet the filter criteria will execute the approval process and post-actions.

5.2 Filter settings:

  • Filter conditions support: fields on the current object, Lookup object fields, Owner’s primary Dept., user/user attributes, and process-related variables.

Note: - Date/time and numeric fields support variable-based filtering. Variables must be fields of the same type under the trigger object or fields under objects related via lookup from that object. - Example: If the trigger object is Sales Order and the order has a field for Account, then the variable scope includes fields of the same type on both Sales Order and Account. - Approval flow filter conditions support Before Change, On Change, and After Change.

image

Before Change Trigger approval when the field’s previous value equals a specific value. For example, when Account level before change equals “Key Account”, require the owner’s direct manager to approve.
On Change Trigger approval when the specific field changes under specific conditions. For example, when Account level changes, require the owner’s direct manager to approve.
After Change Trigger approval when the field’s new value equals a specific value. For example, when Account level after change equals “Key Account”, require the owner’s direct manager to approve.

image

6. Global Process Functions Configuration

  • You can configure global process functions in the approval flow to skip empty approval nodes.
  • You can add “Execute APL Code” to support invocation at each node during the current process.
  • When a global process function runs, it will change the assignee of “empty nodes” to the “System” identity and automatically skip them, marking the approval comment as “Auto-skipped.”
  • After a node is auto-skipped, the node’s configured post-actions and preconditions will be ignored. Historical data will not be affected when modifying the process definition.

image image

Submit Feedback