Skip to main content

Notes (Capabilities & Limitations)

What Custom Forms can do

  • Create new Dataverse records (rows) from a WordPress page.
  • Update existing Dataverse records when mode="update" and record is provided.
  • Map HTML inputs to Dataverse columns using the input name attribute (Dataverse logical column name).
  • Optionally enable reCAPTCHA protection for custom forms

How submission works (important note)

DataPress processes submissions using the HTML form submit event (standard browser behavior). 13

Make sure your markup contains a real <form>...</form> element, because submission is tied to the form itself


{% form %} parameters

Use these parameters in the opening Twig tag:

ParameterTypeDescription
entitystring (required)Logical name of the target Dataverse table.
modestring (required)Form mode: create to create a new record, update to update an existing one.
recordEntityReferenceRecord GUID, EntityReference, or Table object used in update mode.
recaptchabooleanEnables reCAPTCHA validation. Requires <recaptcha> placeholder inside the form. See Protect form submissions with reCAPTCHA.
redirectstringURL to redirect the user to after a successful submission. Supports %s for record GUID.
messagestringCustom success message displayed after form submission.
messagesobjectCustom messages object (e.g., success / failure messages). Example: { "success": "Thanks!", "failure": "Please try again later." }
keepbooleanKeeps the form visible after a successful submission (false by default; form collapses).
keep_databooleanKeeps form field values after a successful submission (false by default; values are cleared).

Examples


Premium behavior (Power Apps forms)

If the premium add‑on is installed and an id parameter is used, the {% form %} tag behaves like a Power Apps form tag


reCAPTCHA requirements (Custom Forms)

If you enable reCAPTCHA with recaptcha=true, you must do both:

  1. Configure reCAPTCHA keys in DataPress settings
  2. Add the <recaptcha> placeholder inside your <form> markup.
    DataPress replaces it with the actual reCAPTCHA widget at runtime.

If reCAPTCHA is enabled but not configured, the form may fail to render or submit.

Read more: reCAPTCHA support


Date/Time fields in Custom Forms

Expected input formats

When you fill date fields manually in a custom form, use these formats:

  • Date Only: yyyy-mm-dd or yyyy/mm/dd
    Example: 2023-01-20 or 2023/01/20 1
  • Date Time: yyyy-mm-ddThh:mm
    Example: 2023-01-20T12:30 1

Time zone behavior

How date/time values are displayed can depend on Dataverse behavior (User Local / Time Zone Independent / Date Only) and DataPress settings such as ICDS_DATETIME_VALUE 1

Read more: Date and Time columns


Getting the created record GUID via redirect

After a record is created successfully, you can capture its GUID using redirect with a %s placeholder.

Example:

  • redirect="/?id=%s" becomes:
    /?id=00000000-0000-0000-0000-000000000000