Managing Functions
The central hub for viewing, organizing, monitoring, and maintaining every Function in your Zoho CRM org.
Table of Contents
1. Functions Tab
2. Glance
3. Gallery Tab
4. Analytics Tab
5. Failures Tab
6. Credits Tab
The Functions management page is the central hub for viewing, organizing, monitoring, and maintaining all Functions in your Zoho CRM org. Access it from Setup > Developer Hub > Functions.
The page is organized into five top-level tabs: Functions, Gallery, Analytics, Failures, and Credits. Each tab provides a different perspective on your org's Function ecosystem. You can also Tags to organize Functions and Custom Views to create filtered lists based on specific criteria.
Functions Tab

The Functions tab is the default view. It lists every Function in the org in a tabular layout with the following columns:
| Column | Description |
|---|---|
| Name | The display name of the Function. Functions linked to a CRM component (workflow, button, etc.) show a green Associated badge next to the name. Functions with a description display it as a subtitle below the name. |
| API Name | The system-generated API name used in code references and REST API calls. |
| Language | The language the Function is written in — Deluge, Java, Node JS, or Python. |
| Runtime | The runtime version (e.g. Deluge, Java 17, NodeJS 8, Python 3.12). |
| Category | The Function's category — Button, Automation, Standalone, Related List, etc. |
| Last Modified | Timestamp of the most recent edit, with the modifier's avatar. |
The total number of Functions in the org is displayed above the list (e.g. "Total Functions 155").
Searching, Sorting, and Filtering

The toolbar above the list provides three controls for narrowing down the Function list:
Search is a text field that filters by Function name or API name.
Sort by Modified Time in ascending or descending order.
Filter by one or more criteria using dropdowns for Language, Runtime, and Category. Combine filters to narrow results (e.g. show only Java 17 Standalone Functions).
Views
The view selector (top-left dropdown, default "All Functions") lets you switch between predefined and custom views:
Built-in views:
- All Functions Shows every Function in the org
- Associated Functions has only Functions linked to at least one CRM component
- My Functions has only Functions created or last modified by you
- Standalone Functions has only Functions with the Standalone category
- Unassociated Functions has Functions that are not linked to any CRM component

Custom views: Create custom views with specific filter criteria. Open the Manage Views modal from the view dropdown, then click Create View. Each custom view has a name and one or more criteria rules. Criteria can filter by properties like Tag, Language, Category, etc.
Bulk Actions
Select multiple Functions using the checkboxes in the list. When one or more Functions are selected, a toolbar appears with bulk action buttons:
- Add Tag applies one or more tags to the selected Functions.
- Remove Tag removes tags from the selected Functions.
The selection count is displayed (e.g. "55 Functions Selected" or "2 Functions Selected").

Note
Tag associations are not included when migrating from the sandbox to the production environment. After the migration is complete, you must manually associate the tags in the production environment.
Settings Menu
The gear icon in the toolbar opens a settings dropdown with the following options:
| Option | Description |
|---|---|
| Manage Tags | Open the tag management interface to create, rename, or delete tags used for organizing Functions |
| Regenerate API Key | Regenerate the API key used for Function REST API endpoints authenticated via API Key. This invalidates the previous key |
| Switch to Old Version | Switch to the legacy Functions list UI |

Creating a New Function
Click the Create Function button (top-right) to open the Function creation dialog. This takes you to the Function editor where you specify the Function name, API name, category, language, and description before writing code.
Glance

Clicking a Function name in the list opens the Glance View, which provides a comprehensive summary of the Function without leaving the list page.
Panel Header

The top of the panel displays:
- Function name (e.g. "parent")
- Tags are the colored tag pills attached to the Function. Click the tag icon to add or edit tags. Each tag shows an X button for removal, and an input field lets you type new tags
- Open in IDE button opens the Function in the full code editor.
- Three-dot menu (...) contains two options:
- Clone: Creates a copy of the Function with a new name.
- Delete: Permanently removes the Function.
- Close (X) button closes the Glance view.
- View Associations link shows all CRM components the Function is associated with.
Deleting a Function Safely

Before deleting a Function, use the Glance view's Overview tab to review its Associations, References, and Dependencies:
- Associations: If the Function is linked to any buttons, workflows, approval processes, related lists, or signals, remove those associations first. Deleting an associated Function will break those CRM components.
- References: If other Functions call this Function, update those references to point to the correct replacement or remove the calls before deleting.
- Dependencies: If this Function calls other (child) Functions, verify those will still be needed after deletion or clean them up accordingly.
Once all associations and references are cleared, delete the Function and test the affected CRM components to confirm nothing is broken.
Glance Tabs
The Glance view has five tabs: Overview, Analytics, Revisions, Logs, and Failures.
Overview Tab

The Overview tab consolidates all metadata and relationships for the Function in a single scrollable view.
Arguments: A numbered list of all arguments defined for the Function, showing the argument name and type (e.g. String).
REST API: If the Function is exposed as a REST endpoint, this section shows the endpoint URLs with toggle switches:
- OAuth 2.0: The OAuth-authenticated endpoint URL (e.g. https://{domain}/crm/v7/functions/{name}/actions/execute?auth_type=oauth)
- API Key: The API Key endpoint URL with the full zapikey parameter. Includes a copy button
Each authentication method can be independently enabled or disabled using its toggle.
Associations: A table listing every CRM component the Function is linked to. Columns: #, Component (clickable link), Module, Type (e.g. Button), and Mapping. Filterable by Module and Type using dropdown selectors.
References: A table listing other Functions that reference or are called by this Function. Columns: #, Name, API Name, Function Name. This is supported only for Dluge Functions.
Dependencies: If the Function calls other Functions (child functions), they are listed in a Dependencies table with columns: #, Name, API Name, and Function Name. The table is paginated (e.g. "1 - 10 of 13") and supported only for Deluge Functions.
Note:
Zoho CRM uses three different names for a function. Keep the following distinction in mind when working with Functions:
- Display Name: The name you provide when creating the Function. It is used to identify the Function in the Zoho CRM interface.
- API Name: The unique name used to identify and associate the Function with CRM components. You can find the Display Name and API Name in the Overview tab of the Glance view.
- Function Name: The name used to reference the Function within its code.
These names can be different, so use the appropriate name depending on whether you are working in the CRM interface, associating the Function with a CRM component, or writing code.
Analytics Tab
The Analytics tab within the Glance view shows execution metrics for the individual Function. A time range dropdown lets you select the analysis period (Last 24 Hours, Last 30 Days, etc.).
Charts displayed include: Execution by Source, Execution by Module, and Top Integration Tasks. When no execution data exists for the selected period, the tab shows a "No execution data available" empty state.
Revisions Tab

The Revisions tab displays the Function’s Revision History as a chronological list (newest first) of the last 30 versions. Each revision includes:
- Revision number (e.g. Revision 1, Revision 2, ... Revision 5)
- Published timestamp (e.g. "Published 26 day(s) ago")
- Author (e.g. "by Patricia Boyle")
- Commit message, a short description of the change (e.g. "Updating parent", "Creating parent")
Note:
Revisions track deployed versions. For Java, Node.js, and Python Functions, each deployment creates a new revision. For Deluge Functions (which have no draft state), each save creates a new revision. Refer to the Upload Functions to CRM help page for details on draft state and deployment.
Logs Tab
The Logs tab shows recent execution logs for the Function, including log output from info() statements (Deluge) or context.log() calls (Java, Node.js, Python).
Failures Tab

The Failures tab in the Glance view displays failures specific to the Function. It provides a filtered view of the organization-level Failures tab.
Gallery Tab

The Gallery tab provides a collection of pre-built, ready-to-use Function templates created by Zoho. These templates cover common automation scenarios and can be installed into your org as a starting point.
Browse the Gallery to find templates for common use cases, then install and customize them for your specific requirements. Gallery Functions can save significant development time for standard integration patterns.
Analytics Tab

The Analytics tab provides an org-wide view of Function execution data across all Functions. It is a read-only dashboard — no actions can be taken from this tab.
A time range selector (e.g. "Last 30 Days") controls the analysis period for all charts. A note indicates that data may take up to 15 minutes to reflect, along with the org's time zone.

Charts
The dashboard displays the following visualizations:
Execution by Category: A donut chart breaking down Function executions by category (e.g. Button, Related List, Automation, Standalone). Shows which categories drive the most Function activity.
Execution by Source: A donut chart showing the source of Function invocations (e.g. "crm" for internally triggered, or external sources for REST API calls).
Execution by Language: A donut chart showing the distribution of executions across languages (e.g. Node.js, Deluge, Java, Python).
Access Points: A donut chart showing Function invocations broken down by caller IP address. Useful for identifying which systems or networks are calling your Function endpoints.
Execution by Module: A bar chart showing which CRM modules generated the most Function executions (e.g. Leads, Deals, Contacts).
Tables
Most Executed Functions: A ranked table showing the Functions with the highest execution count in the selected period with the columns, Functions (name) and Execution Count.
Most Credit Consumed Functions: A ranked table showing the Functions that consumed the most credits with the columns, Functions (name) and Credits.
Failures Tab
The Failures tab lists all Function executions that failed, across the entire org. It provides the information needed to diagnose and recover from failures.
A description at the top explains that listed Functions failed to execute, and that you can search by name, module, category, or reason, and rerun individual or selected Functions.
The time zone used for failure timestamps is displayed (e.g. "Time Zone : (GMT+5:30) India Standard Time (Asia/Kolkata)").
Failure List Columns
| Column | Description |
|---|---|
| Name | The Function name, with the entity type and language shown as a subtitle (e.g. "testzip - Button, Nodejs 22") |
| Entity | The entity type that triggered the Function (may be empty for some failure types) |
| Module | The CRM module context (e.g. Leads) |
| Failed Time | The timestamp when the failure occurred |
| Reason | The error message explaining why the Function failed (e.g. "Internal error", "Error due to - 'Unauthenticated Connection: zohocrm' at Line Number: -1") |
Failure Actions
- Search filter failures by name, module, category, or reason.
- Filter provides additional filtering options.
- Rerun button on each failure row to re-execute the failed Function. You can also select multiple failures and rerun them in bulk.
Tip:
Common failure reasons include unauthenticated connections (expired OAuth tokens), internal errors (runtime exceptions), and execution timeouts. For connection-related failures, verify and re-authorize the connection in Setup > Developer Hub > Connections before rerunning.
Credits Tab
The Credits tab shows your org's Function credit usage and billing information. Every Function execution consumes credits. Use this tab to monitor credit consumption and manage costs. The tab is accessible only to the org's admin users.
Credit Details
The left panel shows the credit breakdown:
| Metric | Description |
|---|---|
| Daily available free credit limit | The number of free credits your org receives per day (based on CRM edition) |
| Additional credits | Any extra credits purchased beyond the free daily limit |
| Unused credits | Credits remaining unused in the last 24 hours |
A Change link allows you to adjust the additional credit limit.
Billing Details
The right panel shows billing information:
| Metric | Description |
|---|---|
| Current charge | The accumulated charge for credits consumed beyond the free limit in the current billing period |
| Billing Period | The start and end dates of the current billing cycle |
| Next Bill Date | When the next invoice will be generated |
A Bill history link opens past billing records, and a View Details link provides a detailed breakdown of credit consumption.
Note:
Credits are consumed per execution. Functions that make more API calls, process more data, or run longer may consume more credits. Monitor this tab regularly to avoid unexpected charges, and consider optimizing high-credit Functions identified in the Analytics tab's "Most Credit Consumed Functions" table.