Create Webform
Purpose
To create a new Webform in your Zoho CRM organization for collecting and processing customer information.
- POST /settings/webforms?module=Leads
Request Details
Request URL
{api-domain}/crm/{version}/settings/webforms
Header
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Scope
ZohoCRM.settings.webforms.ALL
(or)
ZohoCRM.settings.webforms.CREATE
Parameters
- modulestring, mandatory
Specify the module for which the webform is created.
Sample Request
Copiedcurl "https://www.zohoapis.com/crm/v8/settings/webforms?module=Leads"
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
-d @createwebform.json
-X POSTInput JSON
The request body must be a JSON object containing a webforms array. Each object in the array represents one Webform to be created and contains the following keys:
- namestring, mandatory
Specify the name of the webform. The name must contain only alphanumeric characters and spaces. Maximum length: 2000 characters.
- moduleJSON object, mandatory
Specify the module for which the webform is created. Either id or api_name can be provided.
- idstring, optional
Specify the ID of the module. Use the Get Modules API to get the module ID.
- api_namestring, optional
Specify the API name of the module.
- layoutJSON object, mandatory
Specify the layout of the module to be used for this webform. Use the Get Layouts API to get the layout ID.
- idstring, mandatory
Specify the ID of the layout.
- form_attributesJSON object, optional
Specify the visual attributes of the form such as color, width, alignment, and font properties. If this key is skipped, default values will be applied for all attributes.
- colorstring, optional
Specify the background color of the form. Default value: white.
- widthinteger, optional
Specify the width of the form in pixels. Allowed range: 600 to 900. Default value: 600.
- alignstring, optional
Specify the alignment of the form. Default value: left.
Possible values: left, right, top
- font_attributesJSON object, optional
Specify the font properties for the form text.
- sizeinteger, optional
Specify the font size of the text. Allowed range: 11 to 16. Default value: 12.
- colorstring, optional
Specify the color of the text. Default value: black.
- familystring, optional
Specify the font family of the text (for example, Arial, Verdana). Default value: Arial.
- display_form_nameBoolean, optional
Specify whether the form name should be displayed as the title of the form.
Possible values:
true - Display the form name as a title.
false - Do not display the form name. This is the default value.
- button_attributesJSON array, optional
Specify the properties of the form buttons (for example, Submit, Reset).
- colorstring, optional
Specify the color of the button.
- namestring, mandatory
Specify the label displayed on the button.
Note
To assign the owner of the records submitted via Webforms you should either choose to mention specific user details in the owner key or mention an assignment rule to assign ownership.
- ownerJSON object, optional
Specify the details of the user to whom records created via the webform are assigned Use the Get Users API to get the user ID.
- idstring, mandatory
Specify the ID of the user.
- assignment_ruleJSON object, optional
Specify the assignment rule to apply on records created through the webform. Use the Get Assignment Rules API to get the rule ID.
- idstring, mandatory
Specify the ID of the assignment rule.
- create_contactBoolean, optional
Specify whether a contact record should be created automatically from the data submitted through the webform.
Possible values:
true - A contact record is created automatically.
false - No contact record is created. This is the default value. - tagsJSON array, optional
Specify the tags to be attached to the records created through the webform. Use the Get Tags API to get the tag details.
- namestring, optional
Specify the name of the tag.
- idstring, optional
Specify the ID of the tag.
- spam_controlJSON object, optional
Specify the spam control configuration for the webform.
- spam_possibility_thresholdinteger, optional
Specify the spam possibility threshold value. This is a numeric score that determines how aggressively spam submissions should be flagged for manual review.
- double_optin_enabledBoolean, optional
Specify whether to enable double opt-in for the webform. When double opt-in is enabled, a confirmation email with a unique URL is sent to the visitor who submits the form. The visitor must click the link in the email to confirm their submission before the record is added to Zoho CRM. This is applicable only when an email field is present in the webform.
Possible values:
true - Enable double opt-in. This is the default value for Portal Forms.
false - Disable double opt-in. This is the default value for Webforms. - double_optin_detailsJSON object, optional
Specify the configuration details for double opt-in. This key is applicable only when double_optin_enabled is set to true.
- email_templateJSON object, mandatory
Specify the details of the confirmation email that is sent to the visitor for double opt-in verification.
- from_addressJSON object, mandatory
Specify the details of the sender for the double opt-in confirmation email. The sender can be either the record owner or an organization-level email address.
- type (string, mandatory): Specify the type of sender email address.
Possible values:
organization_emails - Use an organization-level email address.
field - Use the record owner's email address. - email (string, mandatory): Specify the sender email address. When type is "field", the value must be "Record Owner's Email". When type is "organization_emails", provide the organizational email address.
- api_name (string, optional): Specify the API name of the field. Required only when type is "field".
Possible values: Owner
- type (string, mandatory): Specify the type of sender email address.
- subjectstring, mandatory
Specify the subject line of the double opt-in confirmation email.
- contentstring, mandatory
Specify the HTML content of the double opt-in confirmation email. The content must include the placeholder #DOUBLEOPTIN_LINK# for the confirmation URL.
- confirm_page_contentstring, optional
Specify the HTML content of the confirmation page displayed to the visitor after they click the opt-in link.
- notify_ownerJSON object, optional
Specify the configuration for notifying the record owner when the form is submitted. Notification can be sent in two ways:
- System-generated email — Set the system_mail key to true. In this case, do not provide the id and name keys.
- Email template — Specify the id and name of the email template to use. In this case, set system_mail to false or omit it.
- system_mailBoolean, optional
Specify whether to send a system-generated notification email to the record owner.
Possible values:
true - Send a system-generated email.
false - Do not send a system-generated email. This is the default value. - idstring, optional
Specify the ID of the email template to use for notifying the owner. Required when using a template-based notification.
- namestring, optional
Specify the name of the email template to use for notifying the owner.
- acknowledge_visitorJSON object, optional
Specify the configuration for sending an acknowledgment email to the visitor after form submission. You can choose one of the following methods:
- Auto-response rule — The auto-response rule sends automated replies based on the data submitted through the webform. You can define different responses based on specific criteria. Provide the rule details under the auto_response_rule key.
- Email template — Send an acknowledgment email using a predefined template. Specify the template_id, template_name, from_address, and reply_to_address.
- auto_response_ruleJSON object, optional
Specify the auto-response rule to be triggered after form submission.
- idstring, mandatory
Specify the ID of the auto-response rule.
- namestring, optional
Specify the name of the auto-response rule.
- template_idstring, optional
Specify the ID of the email template to use for acknowledging the visitor.
- template_namestring, optional
Specify the name of the email template to use for acknowledging the visitor.
- from_addressJSON object, optional
Specify the details of the sender for the acknowledgment email. To identify the sender configuration, provide at least one of: id or type.
- idstring, optional
Specify the ID of the email configuration to use as the sender.
- emailstring, optional
Specify the email address to use as the sender.
- namestring, optional
Specify the display name of the sender.
- typestring, optional
Specify the type of sender email address.
- reply_to_addressJSON object, optional
Specify the reply-to address for the acknowledgment email. At least one identifying field, either id or type, must be specified.
- typestring, optional
Specify the type of reply-to address.
- idstring, optional
Specify the ID of the email configuration to use as the reply-to address.
- emailstring, optional
Specify the email address to use as the reply-to address.
- api_namestring, optional
Specify the API name of the reply-to field.
- visitor_trackingJSON object, optional
Specify the visitor tracking configuration. Visitor tracking in webforms is powered by Zoho SalesIQ. This key is applicable only when Zoho SalesIQ is configured for your organization.
- portal_namestring, mandatory
Specify the name of the Zoho SalesIQ portal.
- tracking_codestring, mandatory
Specify the tracking code of the Zoho SalesIQ portal.
- approval_requestBoolean, optional
Specify whether records submitted through the webform should be manually approved before being added to the module.
Possible values:
true - Records require manual approval.
false - Records are added directly. This is the default value. - typestring, mandatory
Specify the type of the form.
Possible values:
webform - A standard webform for collecting data from external visitors.
portalform - A form for portal users that includes portal-specific fields such as Password and Confirm Password. - action_on_submitstring, mandatory
Specify the action to be performed after the form is submitted.
Possible values:
splash_message - Display a brief pop-up message to the visitor.
thank_you_message - Display a styled HTML thank-you message.
redirect_url - Redirect the visitor to a specified URL. - action_valuestring, optional
Specify the content for the selected action_on_submit. When action_on_submit is "thank_you_message" or "splash_message", provide the HTML content of the message. When action_on_submit is "redirect_url", provide the destination URL. Maximum length: 2000 characters.
- location_urlJSON array, mandatory
Specify the web page URLs where the webform will be hosted. Location URLs must be provided in a comma-separated format within the JSON array. Specify the value as "*" if you plan to host the webforms in a location that you are unsure of at the moment. This way, the form is accepted from any location from where it is hosted. When specifying multiple URLs, provide each URL as a separate element in the array.
- analytics_dataJSON object, optional
Specify the analytics configuration for the webform.
- analytics_enabledBoolean, optional
Specify whether to enable analytics for tracking form submissions.
Possible values:
true - Enable analytics.
false - Disable analytics. This is the default value. - url_analytics_enabledBoolean, optional
Specify whether to enable URL-based analytics for tracking submissions per location URL. This can be enabled only when more than one location_url is configured. URL-based analytics is not supported for Portal Forms.
Possible values:
true - Enable URL-based analytics.
false - Disable URL-based analytics. This is the default value.
- user_typeJSON object, optional
Specify the portal user type configuration. This key is applicable only when type is "portalform".
- namestring, optional
Specify the name of the portal user type.
- activeBoolean, optional
Specify the active status of the portal user type.
- idstring, mandatory
Specify the ID of the portal user type.
- form_fieldsJSON array, mandatory
Specify the list of fields to include in the webform. Each object in this array represents one field and defines how it is displayed, validated, and mapped to a CRM field. The order of objects in this array determines the display order of fields on the form.
Use the field object to map the form field to a CRM field (type: general). Use the field_info object for webform-specific fields (type: advanced or portal) that do not map directly to a CRM field, such as Captcha, File Upload, Privacy Policy, Password, and Confirm Password.- typestring, mandatory
Specify the category of the form field.
Possible values:
general - Standard CRM fields such as Name, Email, or Company.
advanced - Special form fields: File Upload, Captcha (standard_captcha), and Privacy Policy (privacy_policy).
portal - Portal-specific fields: Password (password) and Confirm Password (confirm_password). Applicable only when type is "portalform". - helpJSON object, optional
Specify the help information displayed to users while filling out the form.
- textstring, mandatory when help is mentioned
Specify the help text displayed near the field.
- urlstring, optional
Specify the URL containing additional information.
- fieldJSON object, mandatory (for type: general)
Specify the CRM field to which the webform field is mapped. This key is used when the field type is "general".
- api_namestring, mandatory when field is specified
Specify the API name of the CRM field.
- field_labelstring, mandatory when field is specified
Specify the label displayed on the webform for this field.
- idstring, mandatory when field is specified
Specify the unique ID of the CRM field.
- field_infoJSON object, mandatory (for type: advanced, portal)
Specify the configuration of a webform-specific field that does not directly map to a CRM field.This key is used when the field type is "advanced" or "portal".
- field_labelstring, mandatory when field_info is mentioned
Specify the label displayed on the form.
- typestring, mandatory when field_info is mentioned
Specify the type of advanced or portal field.
Possible values: standard_captcha, file_upload, privacy_policy, password, confirm_password
You can upload upto 3 files with total file size upto 20 MB in a webform. - privacy_valuestring, optional
Specify the HTML content of the privacy policy text. Applicable only when type is "privacy_policy".
- hiddenBoolean, optional
Specify whether the field is hidden from the user. System-defined fields, date fields, and password fields cannot be hidden.
Possible values:
true - Field is hidden from the form.
false - Field is visible on the form. This is the default value. - date_formatstring, optional
Specify the date format for date-type fields
Possible values:
DD-MM-YYYY, DD/MM/YYYY, DD.MM.YYYY, DD MM YYYY, DD-MM-YY, DD/MM/YY, DD.MM.YY, D.MM.YY, D-M-YY, D/M/YY, D.M.YY, D.M.YY., D-M-YYYY, D/M/YYYY, D.M.YYYY, D. M. YYYY., D. M. YYYY, D MMM, YYYY, DD MMM, YYYY, D. MMMM YYYY, DD.MM.YYYY., DD.MM.YY., YYYY-MM-DD, YYYY/MM/DD, YYYY.MM.DD, YYYY MM DD, YY/MM/DD, YY-MM-DD, YY.M.D, YY-M-D, YY. M. D, YYYY/M/D, YYYY年MM月DD日, YY年M月D日, YYYY.MM.DD., YYYY. MM. DD, MM-DD-YYYY, MM/DD/YYYY, MM.DD.YYYY, MM DD YYYY, MM-DD-YY, MM/DD/YY, M/DD/YY, MMM-DD-YYYY, MMM DD, YYYY, MMM D, YYYY, MMMM D, YYYY, YYYY.DD.MM, YY.D.M - requiredBoolean, optional
Specify whether the field is mandatory for form submission.
Possible values:
true - Field must be filled by the visitor.
false - Field is optional. This is the default value. - default_valuestring, optional
Specify the default value of the field. This is commonly used with hidden fields.
- display_labelstring, optional
Specify a custom label to display on the webform instead of the default CRM field label.
Note
- The module parameter in the request URL and the module key in the request body serve the same purpose — specifying the module for the webform. You must include the module parameter in the request URL.
- For Portal Forms, the following fields are mandatory in the form_fields array: Email, Password (type: password), Confirm Password (type: confirm_password), and Captcha (type: standard_captcha). The Password field must appear before the Confirm Password field. That is the expected order of the keys are: Password, Confirm Password
- URL-based analytics is not supported for Portal Forms.
- The webform name must contain only alphanumeric characters and spaces.
- The action_value must not exceed 2000 characters.
- The form width must be between 600 and 900.
- The font size must be between 11 and 16.
- System-defined fields, date fields, and password fields cannot be marked as hidden.
- The order in the request JSON is the order in which fields will be displayed in a webform
Sample Input to create Webform in Leads Module
Copied{
"webforms": [
{
"name": "newwebform",
"module": {
"id": "4794410000000000125",
"api_name": "Leads"
},
"layout": {
"id": "4794410000000095055"
},
"form_attributes": {
"color": "white",
"width": 600,
"align": "left",
"font_attributes": {
"size": 12,
"color": "black",
"family": "Arial"
},
"display_form_name": true
},
"button_attributes": [
{
"color": "#fff",
"name": "Submit"
},
{
"color": "#fff",
"name": "Reset"
}
],
"owner": {
"id": "4794410000000642001"
},
"assignment_rule": {
"id": "4794410000000804201"
},
"create_contact": false,
"approval_request": true,
"type": "webform",
"action_on_submit": "thank_you_message",
"action_value": "<p style='margin-bottom:5px'><span id='successicon' editable='false' data-image='true' style='background:url(https://static.zohocdn.com/crm/CRMClient/images/successalert_a8be6d8f87bf194f7d_.svg) no-repeat 0 0;width:22px;height:22px;display:inline-block;vertical-align:middle;margin-inline-end:5px'> </span><b>Thank you for your Confirmation</b></p><p><span style='color: var(--baseColor); text-wrap: wrap;'>Your response has been submitted successfully. We will reach out to you soon.</span></p>",
"location_url": [
"https://test.com",
"https://example.com",
"https://crm-forms1.localtu.com/Pr96z"
],
"analytics_data": {
"analytics_enabled": true,
"url_analytics_enabled": true
},
"double_optin_enabled": true,
"double_optin_details": {
"email_template": {
"from_address": {
"type": "field",
"email": "Record Owner's Email",
"api_name": "Owner",
"id": "4794410000000000553"
},
"subject": "Confirm Your Registration with ${!org.company_name}",
"content": "<html> <head> <meta http-equiv=\"Content-Type\"> <meta name=\"viewport\"> <style> @media only screen and (max-width: 480px){} </style> </head> <body> <div style=\"direction:ltr;word-wrap: break-word; word-break: break-word; font-size:14px; color:#313949;\"> <div style=\"word-wrap: break-word; word-break: break-word; font-size:14px; color:#313949;\"> <div style=\"word-wrap: break-word; word-break: break-word; font-size:14px; color:#313949;\"> <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\" style=\"width: 100%;background: #F4F7FF; padding: 0; margin: 0;font-family: Helvetica, sans-serif, arial;color: #444444;font-size: 15px;padding: 20px 0;\"> <tbody> <tr> <td> <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\" width=\"600\" style=\"width: 600px;\"> <tbody> <tr> <td style=\"padding:10px 15px;\"> <p style=\"text-align: left; padding: 0px; margin: 0px;\"><font size=\"3\" face=\"Arial,Helvetica,sans-serif\">${!companyLogo}</font></p> </td> </tr> <tr> <td> <div style=\"border-radius: 10px; width: 100%; padding: 60px 50px; box-sizing: border-box; background: #fff;line-height: 1.4;box-shadow: 0px 5px 10px #0000000d;\"> <table style=\"line-height: 1.4;\"> <tr> <td> <p style=\"padding-bottom: 35px; margin: 0px;\">Hello ${!Leads.Last_Name},</p> <p style=\"padding-bottom: 35px; margin: 0px;\"><span style=\"font-family: Arial, Helvetica, sans-serif;\">Thank you for registering with <b>${!org.company_name}.</b></span><span style=\"font-family: Arial, Helvetica, sans-serif;\"> To confirm your registration please click on the button given below. This option expires in <b>60 days.</b> </span></p> <table cellspacing=\"0\" cellpadding=\"0\" style=\"font-size: 15px; border: 1px solid rgb(83, 174, 119); background-color: rgb(91, 188, 130); border-radius: 5px;\"> <tbody> <tr> <td align=\"center\" style=\"overflow-wrap: break-word; word-break: break-word; border: 0px;\"><a href=\"#DOUBLEOPTIN_LINK#\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"padding: 9px 15px;font-weight: bold;background: #43c177;display: block;font-size: 14px;color: #fff;text-decoration: none;\" data-zcqa=\"wf_TemplateConfirmBtn\">Confirm Registration</a></td> </tr> </tbody> </table> <p style=\"padding-bottom: 2px; padding-top: 20px; margin: 0px;\"><span style=\"font-family: Arial, Helvetica, sans-serif;\">If you have not registered, please just ignore this email.</span></p> <p style=\"padding-bottom: 2px; padding-top: 40px; margin: 0px;\">Regards, </p> <p style=\"margin: 0px;\"><span style=\"font-family: Arial, Helvetica, sans-serif;\"><b>${!org.company_name}</b></span></p> </td> </tr> </table> </div> </td> </tr> </tbody> </table> </td> </tr> <tr id=\"wfDot_dontreplynote\"></tr> </tbody> </table> </div> </div> </div> </body> </html>"
},
"confirm_page_content": "<html> <head> <meta http-equiv=\"Content-Type\"> <meta name=\"viewport\"> </head> <body> <div style=\"direction:ltr;word-wrap: break-word; word-break: break-word;\"> <div style=\"word-wrap: break-word; word-break: break-word; font-size:14px; color:#313949;\"> <div style=\"word-wrap: break-word; word-break: break-word; font-size:14px; color:#313949;\"> <div style=\"word-wrap: break-word; word-break: break-word; font-size:14px; color:#313949;\"> <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\" style=\"width: 100%;background: #F4F7FF; padding: 0; margin: 0;font-family: Helvetica, sans-serif, arial;color: #444444;font-size: 15px;padding: 20px 0;\"> <tbody> <tr> <td> <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\" width=\"600\" style=\"width: 600px;\"> <tbody> <tr> <td style=\"padding:10px 15px;\"> <p style=\"text-align: left; padding: 0px; margin: 0px;\"> <font size=\"3\" face=\"Arial,Helvetica,sans-serif\">${!companyLogo} </font> </p> </td> </tr> <tr> <td> <div style=\"border-radius: 10px; width: 100%; padding: 40px; box-sizing: border-box; background: #fff;box-shadow: 0px 5px 10px #0000000d;\"> <table style=\"margin-bottom: 10px;\"> <tbody> <tr> <td><img src=\"#infoalert.svg#\" align=\"\" height=\"24\" width=\"24\"></td> <td> <font size=\"4\"> <b>Please confirm your email.</b> </font> </td> </tr> </tbody> </table> <table style=\"line-height: 1.4;\"> <tr> <td> <p style=\"margin: 0px;\"> <font size=\"3\"> A configuration email has been sent to <b>${!Leads.Email}</b>. Please click on the <b>Confirm Registration</b> button in the email. </font> </p> </td> </tr> </table> </div> </td> </tr> </tbody> </table><br> </td> </tr> </tbody> </table> </div> </div> </div> </div> </body> </html>",
},
"notify_owner": {
"system_mail": true
},
"acknowledge_visitor": {
"auto_response_rule": {
"id": "4794410000000755050",
"name": "newrule"
},
"template_id": "4794410000000755041",
"template_name": "Template1",
"from_address": {
"id": "4794410000000642001",
"type": "0"
},
"reply_to_address": {
"id": "4794410000000642001",
"type": "0"
}
},
"visitor_tracking": {
"portal_name": "newportalweb",
"tracking_code": "newportalweb"
},
"form_fields": [
{
"type": "general",
"field": {
"api_name": "Company",
"field_label": "Company",
"id": "4794410000000000555"
},
"hidden": false,
"required": true
},
{
"type": "general",
"field": {
"api_name": "Last_Name",
"field_label": "Last Name",
"id": "4794410000000000559"
},
"hidden": false,
"required": true
},
{
"type": "general",
"field": {
"api_name": "Email",
"field_label": "Email",
"id": "4794410000000000563"
},
"hidden": false,
"required": true
},
{
"type": "general",
"field": {
"api_name": "Date_1",
"field_label": "Date 1",
"id": "4794410000000755001"
},
"hidden": false,
"date_format": "DD/MM/YYYY",
"required": false
},
{
"type": "general",
"field": {
"api_name": "Single_Line_1",
"field_label": "Single Line 1",
"id": "4794410000000755018"
},
"hidden": true,
"default_value": "hidden",
"required": false
},
{
"type": "advanced",
"hidden": false,
"required": false,
"field_info": {
"field_label": "Enter the Captcha",
"type": "standard_captcha"
}
},
{
"type": "advanced",
"hidden": false,
"required": false,
"field_info": {
"field_label": "Upload a File",
"type": "file_upload"
}
},
{
"type": "advanced",
"hidden": false,
"required": false,
"field_info": {
"field_label": "Privacy Policy",
"type": "privacy_policy",
"privacy_value": "<div style='font-family:Verdana, arial, Helvetica, sans-serif'>I agree to the Privacy Policy and Terms of Service</div>"
}
}
]
}
]
}Sample Response
Copied{
"webforms": [
{
"code": "SUCCESS",
"details": {
"id": "4794410000000762107"
},
"message": "WebForm Created Successfully",
"status": "success"
}
]
}Possible Errors
- INVALID_DATAHTTP 400
Name should not contain special characters
Resolution: Use only alphanumeric characters in the form name.Invalid data
Resolution: Verify the data type and value of the input field.The id given seems to be invalid
Resolution: Provide a valid ID for the corresponding entity.Tag id should be of type long
Resolution: Provide a valid numeric tag ID.Invalid URI
Resolution: Provide a valid URL format.Action value length should be less than 2000 characters
Resolution: Reduce the action_value length to below 2000 characters.The given date pattern is not allowed
Resolution: Use a supported date format (for example, DD/MM/YYYY).Form attribute width should be between 600 and 900
Resolution: Specify a width value within the allowed range.Font attribute size should be between 11 and 16
Resolution: Specify a font size within the allowed range.Last Name cannot be hidden
Resolution: Do not mark system-defined fields as hidden.Date field cannot be hidden
Resolution: Remove the hidden flag from date fields.Password cannot be hidden
Resolution: Password field must always be visible in Portal Forms.Invalid user type id
Resolution: Provide a valid portal user type ID.
- NOT_SUPPORTEDHTTP 400
Your edition doesn't support this feature
Resolution: Upgrade your CRM edition. Check the Zoho CRM feature comparison page for details.URL based analytics is not supported in this edition
Resolution: Disable URL analytics or upgrade your edition.
- LIMIT_EXCEEDEDHTTP 400
WebForm limit exceeded
Resolution: Delete unused webforms or upgrade your plan. - EXPECTED_FIELD_MISSINGHTTP 400
Specify atleast one field
Resolution: Provide at least one of the required fields.One of the expected field is missing
Resolution: Ensure all dependent fields are included.
- DEPENDENT_MISMATCHHTTP 400
action_on_submit should be provided if action_value was provided
Resolution: Include the action_on_submit field.URL based analytics can be enabled only when more than one location_url is configured
Resolution: Provide multiple location_url values.URL based Analytics is not supported for Portal Forms
Resolution: Set url_analytics_enabled to false for Portal Forms.
- DEPENDENT_INDEX_MISMATCHHTTP 400
Password and Confirm Password cannot be re-ordered. Expected Order: Password, Confirm Password
Resolution: Maintain the order: Password, Confirm Password. Do not mention Confirm Password first. - MANDATORY_PARAM_MISSINGHTTP 400
Mandatory param missing
Resolution: Provide all mandatory parameters in the request. - MANDATORY_NOT_FOUNDHTTP 400
Required field not found
Resolution: Ensure all mandatory fields are present.Captcha is required for Portal Form
Resolution: Add captcha field to the portal form.Email field is required for Portal Form
Resolution: Include the Email field in the form.Confirm Password field is required for Portal Form
Resolution: Add Confirm Password field to the portal form.
- NOT_ALLOWEDHTTP 400
You cannot add more than one captcha in the same form
Resolution: Provide only one captcha field.Password field label cannot be renamed
Resolution: Do not rename the password field.Confirm Password field label cannot be renamed
Resolution: Do not rename the confirm password field.
- DUPLICATE_DATAHTTP 400
Duplicate URLs are not allowed in location_url
Resolution: Ensure all location URLs are unique.
Sample Input to create a Portal Webform in Contacts module
Copied{
"webforms": [
{
"name": "newportalwebfor",
"type": "portalform",
"module": {
"api_name": "Contacts",
"id": "4794410000000000129"
},
"layout": {
"id": "4794410000000095059"
},
"form_attributes": {
"color": "white",
"width": 600,
"font_attributes": {
"size": 12,
"color": "black",
"family": "Arial"
},
"display_form_name": true,
"align": "left"
},
"button_attributes": [
{
"color": "#fff",
"name": "Submit"
},
{
"color": "#fff",
"name": "Reset"
}
],
"owner": {
"id": "4794410000000642001"
},
"user_type": {
"id": "4794410000000743021",
"name": "ClientPortal"
},
"action_on_submit": "redirect_url",
"action_value": "https://crmqathree.mablem.localcrm.co.in/portal/mablem/crm/Index.do?type=activation",
"double_optin_enabled": true,
"approval_request": false,
"create_contact": false,
"notify_owner": {
"system_mail": true
},
"analytics_data": {
"analytics_enabled": true
},
"form_fields": [
{
"type": "general",
"field": {
"api_name": "Last_Name",
"field_label": "Last Name",
"id": "4794410000000000443"
},
"hidden": false,
"required": true
},
{
"type": "general",
"field": {
"api_name": "Email",
"field_label": "Email",
"id": "4794410000000000449"
},
"hidden": false,
"required": true
},
{
"type": "portal",
"hidden": false,
"required": true,
"field_info": {
"field_label": "Password",
"type": "password"
}
},
{
"type": "portal",
"hidden": false,
"required": true,
"field_info": {
"field_label": "Confirm Password",
"type": "confirm_password"
}
},
{
"type": "advanced",
"hidden": false,
"required": false,
"field_info": {
"field_label": "Enter the Captcha",
"type": "standard_captcha"
}
}
]
}
]
}
Response JSON
Copied{
"webforms": [
{
"code": "SUCCESS",
"details": {
"id": "4794410000000762313"
},
"message": "WebForm Created Successfully",
"status": "success"
}
]
}