Managing Functions

The central hub for viewing, organizing, monitoring, and maintaining every Function in your Zoho CRM org.

 

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

Functions List View

The Functions tab is the default view. It lists every Function in the org in a tabular layout with the following columns:

ColumnDescription
NameThe 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 NameThe system-generated API name used in code references and REST API calls.
LanguageThe language the Function is written in — Deluge, Java, Node JS, or Python.
RuntimeThe runtime version (e.g. Deluge, Java 17, NodeJS 8, Python 3.12).
CategoryThe Function's category — Button, Automation, Standalone, Related List, etc.
Last ModifiedTimestamp 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

Sorting, Filtering, and Searching Functions

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

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").

Bulk Actions

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:

OptionDescription
Manage TagsOpen the tag management interface to create, rename, or delete tags used for organizing Functions
Regenerate API KeyRegenerate the API key used for Function REST API endpoints authenticated via API Key. This invalidates the previous key
Switch to Old VersionSwitch to the legacy Functions list UI

Settings Menu

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

Glance View

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

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

Delete Reference

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

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

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

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

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

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.

Analytics Tab

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

ColumnDescription
NameThe Function name, with the entity type and language shown as a subtitle (e.g. "testzip - Button, Nodejs 22")
EntityThe entity type that triggered the Function (may be empty for some failure types)
ModuleThe CRM module context (e.g. Leads)
Failed TimeThe timestamp when the failure occurred
ReasonThe 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:

MetricDescription
Daily available free credit limitThe number of free credits your org receives per day (based on CRM edition)
Additional creditsAny extra credits purchased beyond the free daily limit
Unused creditsCredits 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:

MetricDescription
Current chargeThe accumulated charge for credits consumed beyond the free limit in the current billing period
Billing PeriodThe start and end dates of the current billing cycle
Next Bill DateWhen 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.