Zoho: Custom View creation
Zoho customViews.createCustomView: arguments, response, policy and SDK examples.
← Custom views operations · Get started
Operation zoho.createcustomview
Provider route: POST /crm/v8/settings/custom_views. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/zoho with npm, or alter-sdk-zoho with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { ZohoIntegration } from "@alter-ai/zoho";
async function execute(input: Parameters<ZohoIntegration["customViews"]["createCustomView"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new ZohoIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.customViews.createCustomView(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_zoho import ZohoIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = ZohoIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.custom_views.create_custom_view(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
query | object | Required within parent | Additional keys: not allowed |
query.module | string | Required within parent | Maximum length: 25 |
body | object | Required within parent | Represents the request body envelope for creating one or more Custom Views. Additional keys: not allowed |
body.custom_views | array | Required within parent | Specify the list of Custom Views to create. Maximum items: 200 |
body.custom_views[] | Model | Each item | Expand Custom View creation — request body — body custom views item |
Referenced models: Custom View creation — request body — body custom views item
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | object | Alternative | Represents the bulk create success response schema for Custom View creation. Additional keys: not allowed |
$ (anyOf 1).custom_views | array | Required within parent | Represents the list of Custom Views created successfully. Maximum items: 200 |
$ (anyOf 1).custom_views[] | Model | Each item | Expand Custom View creation — response body — custom views custom views item |
$ (anyOf 2) | object | Alternative | Represents the multi-status response for bulk Custom View creation, containing a mix of success and failure items. Additional keys: not allowed |
$ (anyOf 2).custom_views | array | Required within parent | Represents the list of Custom View creation results, including both successful and failed items. Maximum items: 200 Minimum items: 2 |
$ (anyOf 2).custom_views[] | JSON | Each item | Represents a creation result item, which can be either a success or a failure response. |
$ (anyOf 2).custom_views[] (anyOf 1) | Model | Alternative | Expand Custom View creation — response body — custom views custom views item |
$ (anyOf 2).custom_views[] (anyOf 2) | Model | Alternative | Expand Custom View creation — response body — custom views custom views item value |
$ (anyOf 2).custom_views (allOf 1) | JSON | All variants apply | Represents a successful creation item for a Custom View. |
$ (anyOf 2).custom_views (allOf 2) | JSON | All variants apply | Represents a creation failure item for a Custom View. |
Referenced models: Custom View creation — response body — custom views custom views item value, Custom View creation — response body — custom views custom views item
Schemas
Section titled “Schemas”53 more schemas are linked from the tables above, on the schema pages.
Custom View creation — request body — body custom views item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the configuration for creating a Custom View, including its name, filter criteria, field list, sort configuration, and access control settings. Additional keys: not allowed |
access_type | string | Required within parent | Represents the access type for the Custom View. Possible values: **shared** - The view is shared with selected users, roles, groups, or territories. **public** - The view is accessible to all users in the organization. **only_to_me** - The view is private and accessible only to the creator. One of: shared, public, only_to_me |
category | string | Optional | Represents the category for the Custom View. Possible values: **public_views** - Views accessible to all users in the organization. **other_users_views** - Views created by other users in the organization. **shared_with_me** - Views shared with the current user. **created_by_me** - Views created by the current user. One of: public_views, other_users_views, shared_with_me, created_by_me |
criteria | Model | Optional | Expand Custom Views — request body — body custom views item criteria |
cross_filters | Model | Optional | Expand Custom Views — request body — body custom views item cross filters |
favorite | null or integer | Optional | Represents the favorite order for the Custom View. A null value indicates the view is not marked as a favorite. Format: int32 |
fields | Model | Required within parent | Expand Custom Views — request body — body custom views item fields |
locked | boolean | Optional | Indicates whether the Custom View is locked. Possible values: **true** - The view is locked. **false** - The view is not locked. |
name | string | Required within parent | Represents the name of the Custom View. Maximum length: 50 |
shared_to | Model | Optional | Expand Custom Views — request body — body custom views item shared to |
sort_by | JSON | Optional | Represents the field used to sort the records in the Custom View. |
sort_by (anyOf 1) | Model | Alternative | Expand Sort Order — request body — body custom views item sort by |
sort_by (anyOf 2) | null | Alternative | No sort is applied |
sort_order | JSON | Optional | Represents the sort order applied to the records in the Custom View. |
sort_order (anyOf 1) | string | Alternative | Represents the sort order for the Custom View. Possible values: **asc** - Ascending order. **desc** - Descending order. One of: asc, desc |
sort_order (anyOf 2) | null | Alternative | Represents no sort order applied to the Custom View. |
wrap_text | boolean | Optional | Indicates whether text wrapping is enabled for the Custom View. Possible values: **true** - Text wrapping is enabled. **false** - Text wrapping is disabled. |
Referenced models: Custom Views — request body — body custom views item criteria, Custom Views — request body — body custom views item cross filters, Custom Views — request body — body custom views item fields, Sort Order — request body — body custom views item sort by, Custom Views — request body — body custom views item shared to
Custom View creation — response body — custom views custom views item value
Referenced models: Custom Views — response body — custom_views / custom_views / item / value / code: DEPENDENT MISMATCH, status: error — Comparator Value Mismatch, Custom Views — response body — custom_views / custom_views / item / value / code: DUPLICATE DATA, status: error, Custom Views — response body — custom_views / custom_views / item / value / code: DEPENDENT MISMATCH, status: error — Field Comparator Mismatch, Custom Views — response body — custom_views / custom_views / item / value / code: DEPENDENT FIELD MISSING, status: error, Custom Views — response body — custom_views / custom_views / item / value / code: DEPENDENT MISMATCH, status: error — Field Value Mismatch, Custom Views — response body — custom_views / custom_views / item / value / code: INVALID DATA, status: error — Invalid Comparator, Custom Views — response body — custom_views / custom_views / item / value / code: INVALID DATA, status: error — Invalid Data For Update CV, Custom Views — response body — custom_views / custom_views / item / value / code: INVALID DATA, status: error — Invalid Id Fav, Custom Views — response body — custom_views / custom_views / item / value / code: INVALID DATA, status: error — Invalid Index Fav, CustomView creation — response body — custom_views / custom_views / item / value / code: LIMIT EXCEEDED, status: error, Custom Views — response body — custom_views / custom_views / item / value / code: LOOKUP LIMIT EXCEEDED, status: error, Custom Views — response body — custom_views / custom_views / item / value / code: MANDATORY NOT FOUND, status: error, Custom Views — response body — custom_views / custom_views / item / value / code: NOT ALLOWED, status: error — Not Allowed Details Update, Custom Views — response body — custom_views / custom_views / item / value / code: NOT ALLOWED, status: error — Not Allowed For Update CVBy Id, Custom Views — response body — custom_views / custom_views / item / value / code: INVALID DATAS, message: Special Characters are not allowed, status: error
Custom Views — request body — body custom views item criteria
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | Represents the filter criteria of the Custom View |
$ (anyOf 1) | Model | Alternative | Expand Related Records — request body — query filters |
$ (anyOf 2) | null | Alternative | No criteria applied - the custom view returns all records |
Referenced models: Related Records — request body — query filters
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: zoho.createcustomview. Catalog operation: createCustomView. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.