Webforms
A Webform is an online form that captures the visitor's or user's information from your website into your Zoho CRM organization.
GET Webforms
Purpose
To retrieve the list of webforms configured in your Zoho CRM organization.
Endpoints
- GET /settings/webforms
Request Details
Request URL
{api-domain}/crm/{version}/settings/webforms
Header
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Scope
ZohoCRM.settings.webforms.ALL
(or)
ZohoCRM.settings.webforms.READ
Parameters
- feature_namestring, optional
To retrieve Webforms by feature.
Possible values: Web_Forms, Orchestration - include_inner_detailsstring, optional
To include the inner details of the Webform in the response.
Possible values: user_type.active - activeBoolean, optional
To get the Webform list based on status
Possible values: true, false - module string, optional
Specify the API name of the module to retrieve Webforms configured for a specific module.
- layout_idstring, optional
Specify the ID of the layout to retrieve Webforms configured for a specific layout. If this parameter is passed, the module parameter is mandatory.
- filters string, optional
This parameter allows you to filter the Webform by different keys. The filters parameter follows this format: { "field": { "api_name": "<field_api_name>", "field_label": "<field_label>", "data_type": "<data_type>" }, "comparator": "<comparator>", "value": <value>, "type": "value" } . You must encode the value of this parameter before sending the request.
Placeholder Description Example <field_api_name> API name of the field created_by <field_label> Display name for the field Created By <data_type> Field data type userlookup, text, datetime <comparator> Comparison operator equal, between, contains <value> Comparison value (type-dependent) "text", ["id1"], ["start","end"] field.api_name field.field_label field.data_type Possible comparators isenabled Status picklist equal last_submitted_time Last Submission datetime between formname Form Name text starts_with, ends_with, contains, not_contains. equal, not_equal created_time Created Time datetime between,not_between created_time Created Time datetime less_than,greater_than created_by Created By userlookup equal,not_equal For example, to retrieve all enabled Webforms containing “lead” in the form name, created during 2025, by a specific user, pass filters parameter's value as {"group_operator":"and","group":[{"field":{"api_name":"isenabled"},"comparator":"equal","value":"true"},{"field":{"api_name":"formname"},"comparator":"contains","value":"lead"},{"field":{"api_name":"created_time"},"comparator":"between","value":["2025-01-01T00:00:00+00:00","2025-12-31T23:59:59+00:00"]}]}
Sample Request
Copiedcurl "https://www.zohoapis.com/crm/v8/settings/webforms"
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
-X GETResponse JSON
The webforms JSON array is the root element within which all the related details of Webforms are specified. It consists of these inner keys:
- layoutJSON object
Represents the details of the layout of the module for which Webform is created.
- created_timedatetime
Represents the exact date and time when this Webform was created.
- user_typeJSON object
Represents the details of the portal for portal Webforms. It consists of details such as name and ID of the portal. It also consists of the active key that indicates the status of the portal when include_inner_details parameter is passed with value user_type.active.
- analytics_dataJSON object
Represents settings related to tracking and analysis of Webform performance. The analytics_enabled flag shows if tracking is active and the key analytics_enabled_time indicates when analytics were turned on for this form.
- moduleJSON object
Represents the API name and ID of the module where records submitted through this Webform will be created.
- nameString
Represents the name of the Webform.
- activeBoolean
Indicates the operational status of the Webform.
Possible values:
true - The Webform is active.
false - The Webform is not active. - idString
Represents the ID of the Webform.
- typeString
Specifies the category of the form, whether it is a standard Webform or portal form.
Possible values:
webform - The Webform is a standard webform.
portalform - The Webform is a portal form that is specifically used to grant outside users access to your organization's CRM Portal. - created_byJSON object
Contains the details of the user who created the Webform.
- suggestionstring
Represents the AI-generated suggestion configured for the Webform, if any. Returns null when no suggestion is configured.
- last_submitted_timedatetime
Records the timestamp of the most recent successful submission to this Webform.
Possible Errors
- INVALID_DATAHTTP 400
- Invalid module.
Resolution: Specify a valid module name. - Invalid layout ID.
Resolution: Specify a valid layout ID. - Invalid active parameter.
Resolution: Specify a valid value for the active parameter. - Invalid feature name.
Resolution: Specify a valid feature name. - group_operator must be AND only.
Resolution: For the filters parameter, set group_operator to AND. - Invalid data in the filters parameter (expected a JSON object).
Resolution: Ensure the filters parameter is a valid JSON object. - Invalid value for the field key (expected a JSON object).
Resolution: Ensure the value for the field key within a filter group is a JSON object. - Invalid value for the group key (expected a JSON array).
Resolution: Ensure the value for the group key within filters is a valid JSON array.
- Invalid module.
- DEPENDENT_FIELD_MISSINGHTTP 400
- group and group_operator are mutually dependent.
Resolution: If you provide group, you must also provide group_operator, and vice versa. - Missing field in group.
Resolution: Ensure the field key is present within a filter group object. - Missing comparator for a given field.
Resolution: When a field is specified, you must also provide a comparator. - Missing value for a given field.
Resolution: When a field is specified, you must also provide a value. - field is provided without comparator or value.
Resolution: A filter condition requires field, comparator, and value.
- group and group_operator are mutually dependent.
- MANDATORY_NOT_FOUNDHTTP 400
- Required group key not found in filters.
Resolution: Ensure the filters object contains the group key. - api_name not found in a field object.
Resolution: Ensure every field object contains an api_name key. - filters is provided as an empty object.
Resolution: The filters object must not be empty and must contain the group key. - field is provided without api_name.
Resolution: A field object must include the mandatory api_name property.
- Required group key not found in filters.
- DEPENDENT_MISMATCHHTTP 400
- created_by and Status fields support only equal and not_equal comparators.
Resolution: Use only comparators supported by the specific field. - Created time supports only greater_than, less_than, between, and not_between.
Resolution: Use only comparators supported by the specific field. - Form Name supports equal, not_equal, contains, not_contains, starts_with, and ends_with.
Resolution: Use only comparators supported by the specific field. - Last Submission time supports greater_than, less_than, between, not_between, equal, and not_equal.
Resolution: Use only comparators supported by the specific field. - The field data type is boolean, but the provided value is a JSON object.
Resolution: Ensure the value matches the expected data type of the field. - The comparator is between, but the value is not a JSON array.
Resolution: For between or not_between, provide the value as a JSON array with two elements.
- created_by and Status fields support only equal and not_equal comparators.
- NO_PERMISSIONHTTP 403
Permission denied.
Resolution: You do not have permission to perform this action. Only users with Webforms permission can perform this action. - NOT_SUPPORTEDHTTP 403
- The value for the api_name key is not supported inside the field key.
Resolution: Use a supported value for the field’s api_name. - Unsupported comparator.
Resolution: Use a supported comparator value.
- The value for the api_name key is not supported inside the field key.
Sample Response
Copied{
"webforms": [
{
"layout": {
"display_label": "Standard",
"name": "Standard",
"id": "4794410000000095059"
},
"created_time": "2026-01-06T11:16:37+05:30",
"user_type": {
"name": "ClientPortal",
"id": "4794410000000743021"
},
"analytics_data": {
"analytics_enabled": true,
"analytics_enabled_time": "2026-01-06T11:16:37+05:30"
},
"module": {
"api_name": "Contacts",
"id": "4794410000000000129"
},
"name": "ClientPortalWebform",
"active": true,
"id": "4794410000000743075",
"type": "portalform",
"created_by": {
"name": "Patricia Boyle",
"id": "4794410000000642001"
},
"last_submitted_time": null
},
{
"layout": {
"display_label": "Standard",
"name": "Standard",
"id": "4794410000000095059"
},
"created_time": "2026-01-06T11:14:56+05:30",
"analytics_data": {
"analytics_enabled": true,
"analytics_enabled_time": "2026-01-06T11:14:56+05:30"
},
"module": {
"api_name": "Contacts",
"id": "4794410000000000129"
},
"suggestion": null,
"name": "ContactsWebform",
"active": true,
"id": "4794410000000743005",
"type": "webform",
"created_by": {
"name": "Patricia Boyle",
"id": "4794410000000642001"
},
"last_submitted_time": null
},
{
"layout": {
"display_label": "Standard",
"name": "Standard",
"id": "4794410000000095055"
},
"created_time": "2026-01-03T18:22:48+05:30",
"analytics_data": {
"analytics_enabled": true,
"analytics_enabled_time": "2026-01-03T18:22:48+05:30"
},
"module": {
"api_name": "Leads",
"id": "4794410000000000125"
},
"suggestion": null,
"name": "ww",
"active": true,
"id": "4794410000000731004",
"type": "webform",
"created_by": {
"name": "Patricia Boyle",
"id": "4794410000000642001"
},
"last_submitted_time": null
}
]
}