Published at: 2025-10-30
Custom Button Management
Custom Button Configuration Guide
1. Definition of Custom Buttons
- For specific objects, users may need to set up new buttons to complete particular business processes. We support creating custom buttons on objects, allowing you to configure display conditions, pre-validation, input requirements, and post-click actions.
- A maximum of 20 custom buttons can be created. To increase this limit, purchase a Custom Button Resource Pack, which provides 5 additional buttons per pack (up to 5 packs).
picture coming soon:
2. Configuring Custom Buttons
Button Types
- Business Button: Used for data operations or third-party system data synchronization.
- UI Button: Redirects to interfaces such as custom components, custom pages, or third-party pages. Information can be auto-filled on create/edit pages.
Button Placement
Specify where the button appears:
- Detail page
- Single-record actions in list view
- Batch actions in list view
- General actions in list view
- Single-record actions in related lists
- Create page
- Edit page
Display Conditions
Define conditions for button visibility:
- Locked Data State: Enable to display the button even when data is locked.
- Avoid enabling this if the button performs data modifications (risk of unintended changes).
- This setting works in conjunction with other display conditions.
Note: For batch actions in list view, display conditions are validated only during execution. The button remains visible regardless of selected records, but execution fails for records that don’t meet the conditions.
picture coming soon:
picture coming soon:
Batch action display conditions are validated during execution.
Input Requirements After Click
Configure fields from the object or add temporary fields (visible only during button execution).
Supported Field Types for Input:
1. Excludes: Calculated fields, Master-Detail relationships, Auto-number, Lookup fields, Roll-up summary fields, External users, Collaborative rich text, Long text, Rich text, External departments.
2. Excludes fields with API names: name, owner, owner_department, life_status, lock_status, out_resources, mc_currency, public_data_type.
picture coming soon:
Actions Triggered by Button Click
Three action types: Pre-validation, Execution, Post-execution.
- Pre-validation:
- Executes custom functions before the main action (e.g., validating Inventory availability before saving a Sales Order).
- Only available for Business Buttons.
- Runs after input validation.
- Execution:
- Field Updates: Modifies field values (supports variables/constants).
- Updates fail if:
- Required fields are set to empty.
- Formula errors occur (e.g., division by zero).
- Values exceed limits (e.g., 14-digit integers).
- Logical errors require admin intervention.
- Excludes: Calculated fields, Master-Detail relationships, Auto-number, etc.
- Updates fail if:
- Custom Functions: Limited to one per button.
- Field Updates: Modifies field values (supports variables/constants).
Note:
- Field updates via buttons bypass Validation Rules.
- Lookup field edits via buttons ignore Field-Level Security (FLS) rules (FLS applies only to create/edit pages).
picture coming soon:
- Post-execution:
- Send CRM notifications or emails.
- Permissions: Configured via Role settings.
3. Managing Custom Buttons
- Disable: Hides the button from all object pages.
- Delete: Only available for disabled buttons.
4. FAQs
4.1 How to Rename Preset Buttons?
Contact your Account Manager to submit a “System Term Replacement” request under the Customer Special Requests object.
Note: Renaming affects all instances of the button across the tenant.
4.2 Troubleshooting Invisible Buttons
- Verify button placement.
- Check display conditions.
- Confirm if data is locked and “Show in Locked State” is enabled.
- Ensure the button isn’t hidden by layout settings.
- For UI buttons on mobile, check if mobile-specific layouts are enabled.
- Allow time for caching (list view buttons require a page refresh).
picture coming soon:
4.3 Disabling Related Teams Update Notifications
Add the ignoreSendingRemind parameter in the pre-validation function:
def employTeamMember = TeamMemberAttribute.createEmployMember(["1027"], TeamMemberEnum.Role.NORMAL_STAFF, TeamMemberEnum.Permission.READONLY)
//employTeamMember.setIgnoreSendingRemind(true) // Optional: Suppresses CRM notifications
picture coming soon:
4.4 Field Updates Fail After Execution
- Check if the field is read-only in the layout.
- Verify edit permissions (batch actions show errors in results).
- Ensure display conditions are met (batch actions validate during execution).
- Confirm field update actions are configured (input ≠ update).
- Review function logs for errors.
Note: Batch actions report success/failure in execution results. Function errors require log checks.
4.5 “Display Conditions Not Met” Error
- Verify if “Show in Locked State” is enabled.
- If the button calls another button (e.g., print logic), the parent button’s conditions apply.
4.6 “Multiple Owner Values Detected” Error
Occurs when a function modifies the Owner field during submission. Check for Owner field updates in functions.
4.7 Renaming Buttons/Record Types Fails
Multi-language settings prevent direct edits. Use the Translation Workbench to modify names.