Published at: 2025-10-30

Custom Button Management


1. Definition of Custom Buttons

  • For a specific object, users sometimes need additional buttons to complete particular business tasks. The system supports creating custom buttons on objects. You can configure the button’s visibility conditions, pre-validation, the inputs required when clicking the button, and the actions the button performs on click.
  • You can create up to 20 custom buttons. To add more, purchase Custom Button Packs. Each pack contains 5 custom buttons and you can buy up to 5 packs.

image

2. Configuring Custom Buttons

Button Types

  • Business Button: Used to operate on records or synchronize data with third-party systems.
  • UI Button: Navigates to a UI—custom component, custom page, or third‑party page. New/edit pages can prefill form data.

Button Placement

Button placement determines on which page the button appears.

  • Buttons can be placed on: Detail Page, List Page single-row action, List Page bulk action, List Page common action, Related List single-row action, Create Page, and Edit Page.

Visibility Conditions

Define the conditions under which the button will be visible.

  • Data Locked State: If checked, the custom button will also display when the record is locked.
    • If the button’s action changes the current record, do not enable this setting (risky).
    • This setting is combined with other visibility conditions using AND logic.

Note: When the button placement is “List Page bulk action,” visibility conditions are evaluated only when the button executes. Bulk buttons always display on the list page regardless of whether the selected rows meet visibility conditions. The bulk execution result will indicate which rows succeeded or failed; actions on rows that don’t meet conditions will fail.

image

image Bulk button visibility conditions are evaluated at execution time

Inputs Required When Clicking the Button

You can use existing fields from the object or add temporary fields that are only used during the button click.

Existing object fields can be used as button input parameters only if they meet the following conditions:

  1. Input condition one:
    • The following field types are not supported as inputs: Calculation Field, Master-Detail Relationship, Auto-Number, Lookup Field, Roll-Up Summary, External User, Collaborative Rich Text, Long Text, Rich Text, External Department.
  2. Input condition two:
    • Fields whose api_name equals any of the following are not supported as inputs: name, owner, owner_department, life_status, lock_status, out_resources, mc_currency, public_data_type

Additionally, the field type must not belong to any of the following: - Calculation Field - Master-Detail Relationship - Auto-Number - Roll-Up Summary - Lookup Field - Payment Component - Check‑in Component - Record Type - External User - Collaborative Rich Text - Long Text - Rich Text - External Department

image

Actions Triggered by Button Click

Button actions are divided into three types: Pre-Validation, Execute Actions, and Post-Execution Actions.

  • Pre-Validation: Can run a custom function.
    • Pre-validation checks data before executing the button action. Example: When saving a Sales Order, pre-validation checks Inventory; if the check passes, the save proceeds; if it fails, the operation stops.
    • Pre-validation is supported only for Business Buttons.
    • Pre-validation runs after input collection.
  • Execute Actions: You can configure field updates and execute custom functions.

Note: The process of modifying records via a button cannot be intercepted by Validation Rules. When a custom button edits a lookup-associated field, field-level data scope rules do not apply; those rules only apply on Create/Edit pages.

  • Field Updates
    • If a target value violates rules or an exception occurs, that field will not be updated. Examples: 1) Attempting to set a required field to empty — the field will not change. 2) Setting Field A to Field B divided by Field C where C = 0 — Field A will not change. 3) Integer Field A supports up to 14 digits; if a computed result exceeds 14 digits, it cannot be assigned and Field A will not change. 4) If a logical exception occurs in a field calculation, Field A will not change and notify the CRM administrator to update the formula.
    • Fields updated by buttons must meet these requirements:
      1. Custom field
      2. Field type must not be one of: Calculation Field, Master-Detail Relationship, Auto-Number, Roll-Up Summary, Lookup Field, Payment Component, Check‑in Component, Record Type, External User, Collaborative Rich Text, Long Text, Rich Text, External Department
    • Button field updates support assigning variables or constants.

image

  • Custom Functions
    • Each button can be configured with one custom function.
  • Post-Execution Actions: After successful execution, the system can send CRM reminders and emails.
    • Who can use it: configure via Role permissions.

3. Managing Custom Buttons

  • Disable: Disabling a button prevents it from displaying on the corresponding object pages.
  • Delete: Only disabled buttons can be deleted.

4. Frequently Asked Questions

4.1 How do I rename a preset button?

You cannot rename preset buttons from product settings. Contact your account manager to request a change. Account manager steps: Submit a “Change System Label” request under the “Customer Special Requests” object and specify the object and button details in the request reason. Note: Renaming a preset button updates the button name across all objects in the tenant; you cannot rename it for a single object only.

4.2 Troubleshooting: Custom button not displaying

  1. Confirm the button placement.
  2. Confirm whether the button has visibility conditions configured.
  3. Check whether the record is locked and whether “Display Button in Data Locked State” is enabled.
  4. Confirm whether the button is hidden by the layout.
  5. UI buttons may not show on mobile—confirm whether a separate mobile layout is enabled.
  6. New buttons or permission changes may take time to propagate. For list page buttons, re-enter the list page to see updates.

image

Pass the parameter “ignore sending CRM reminders” in the button’s pre‑validation function to suppress CRM reminders generated by changes to Related Teams members.

groovy def employTeamMember = TeamMemberAttribute.createEmployMember(["1027"], TeamMemberEnum.Role.NORMAL_STAFF, TeamMemberEnum.Permission.READONLY) //employTeamMember.setIgnoreSendingRemind(true) // Optional parameter to ignore sending CRM reminders. Default is false

image

4.4 Field not updated after executing a button

  • Check whether the field is layout read-only; read-only fields cannot be updated (bulk execution should show an error in the execution results).
  • Check whether the user has field edit permission. Bulk execution should show an error in the execution results.
  • Check whether the button met its visibility conditions. For bulk actions, conditions are evaluated at execution time; if not met, the action will not run.
  • Check whether a field update action is configured. Having the field as an input parameter does not guarantee it will be updated; updates depend on configured field update actions.
  • If the field update uses a function, check the function execution logs.

Note: For List Page bulk buttons, inspect the execution results to confirm whether the button executed successfully. Function errors may not mark the execution as failed—check the function logs.

4.5 “Button display conditions not met” error when executing a button

This message indicates visibility conditions are configured on the button. Pay special attention to whether “Display Button in Data Locked State” is checked; if not checked, locked records cannot execute the button. Another cause: the button itself has no visibility conditions but its action calls another button (for example, a print action). If so, the called button’s visibility conditions also affect execution.

4.6 “Multiple values for Owner intercepted” when submitting data — why?

This usually occurs because the Owner field value changed during submission due to a function or other triggers. Check whether any function modifies the Owner field.

4.7 Renaming buttons, Record Types, help text not taking effect — why?

This typically results from having multiple languages enabled. The system currently does not support reverse-write for translations, so make changes in the Translation Workbench.

Submit Feedback