Custom buttons in Zoho CRM can be retrieved and managed through the Buttons page inside the CRM customisation settings, and they can also be extended with Client Script logic for richer, interactive behaviour directly on the record page.
Why this matters
If you are building automations, portal experiences, or developer extensions inside Zoho CRM, knowing where to locate and edit existing custom buttons saves significant troubleshooting time. Custom buttons let you trigger record-specific logic, auto-fill fields, and run multi-step guided flows — all without leaving the current view. [6] Understanding how to retrieve them is also essential before attaching Client Script or Deluge functions to an existing button.
---
Step-by-step
Step 1. Log in to your Zoho CRM account as an administrator. Navigate to Setup (the gear icon in the top-right corner), then go to Customization. This is the central hub for all module-level customisations, including buttons and links. [6]
Step 2. Inside Customization, select Modules and Fields, then choose the specific module (for example, Contacts, Deals, or a custom module) whose buttons you want to retrieve. Each module maintains its own independent set of custom buttons. [6]
Step 3. Within the module editor, locate and click the Links and Buttons section (sometimes labelled Custom Buttons). This page lists every custom button that has been created for that module, along with its placement type — for example, Detail Page, List Page Bulk Action Menu, or Related List. [1] [6]
Step 4. Click on any button name in the list to open its configuration. Here you can review the button's name, placement, associated Deluge function or Client Script, and any profile-level restrictions that control which users see it. [6] [3]
Step 5. If you need to retrieve or inspect the Client Script attached to a button, note that while the button itself is created from the Buttons page, its Client Script can be viewed and edited separately via the Client Script setup page. Navigate to Setup > Developer Space > Client Script to find the linked script. [6]
Step 6. For buttons used inside Portals (Candidate, Client, Vendor, or Custom), the retrieval path is the same Buttons page, but you must also check the Portal Profile restriction settings to understand which portal users can see each button. [3] These profile assignments are visible when you open the button's edit view.
Step 7. If you are working programmatically and need to invoke a button's underlying logic via API, the button's Deluge function can call Zoho CRM APIs internally through the ZDK CRM APIs layer, which wraps the standard CRM REST endpoints. [6] Review the function code attached to the button to identify which endpoints are being used.
---
Common pitfalls
- Client Script cannot be created from the Client Script setup page for buttons. It must be initiated from the Buttons page itself. You can only *edit* an existing button's Client Script from the setup page — not create a new one there. [6]
- List Page – Bulk Action buttons may not auto-populate selected record IDs in certain custom modules. If you notice the
Listargument is empty when triggering a bulk action button, verify that the module is correctly configured to pass selected record IDs to the function. This is a known edge case reported in the Packages module. [1]
- Portal buttons are profile-restricted. If a custom button appears missing for a portal user, the most likely cause is that the button has not been assigned to the correct portal profile (e.g., Candidate, Client, or Vendor). Always confirm profile assignments when retrieving buttons intended for portal use. [3]
- Module scope matters. Custom buttons are module-specific. A button created for the Contacts module will not appear in the Deals module list. If you cannot find a button, double-check that you are looking in the correct module's Buttons page. [6]
---
What to check
- Confirm the correct module is selected on the Buttons page — buttons are scoped per module and will not appear cross-module. [6]
- Verify profile and portal assignments if the button is intended for portal users, ensuring the right portal profile (Candidate, Client, Vendor, or Custom) is enabled on the button. [3]
- Check the Client Script setup page to confirm whether any additional scripting logic is attached to the button beyond the primary Deluge function, especially if the button behaviour seems incomplete. [6]
---
*Beam Help is an independent expert support resource for Zoho products and is not official Zoho support. Always test button changes in a sandbox environment before deploying to production.*