Gravity Forms
Use gravity forms to manage your organization data
Introduction
Our plugin supports Gravity Forms. So you can use it instead of our Custom or Power Apps forms
Premium feature! This feature is available in the addon to the premium extension.
When you have created the form and clicked the Save Form
button, you must also create a Dataverse Feed.
To create a Dataverse Feed, you need to click Settings
-> Dataverse
without closing your Gravity form.
Then click Add New
, select crm table, action type(create or update) and map form columns to crm columns(set a correspondence between the column name from crm (key) and the column name from the gravity form(value)).
Dynamic column population
If you want to set default values for columns you can follow these instructions:
- To set default value for standard columns go to
Field settings
tab -Advanced
. - To add lookup column you should go to
Add Fields
tab and chooseDataverse Lookup
fromAdvanced Fields
tab. Then you need to open theAppearance
tab and set default value.
If you want to set default values dynamically for columns using the form's field_values attribute (see Dynamically Populating a Field), you can follow the following instructions.
- Add a new field, go to
Advanced Settings
and check theAllow field to be populated dynamically
checkbox. - Specify a parameter name just below the
Allow field to be populated dynamically
checkbox and save the parameter name. - Map the field to one of the Dataverse columns in the
Dataverse Feed
settings. - Remember your Gravity Form id.
- Go to
Pages
->Add New
and chooseCustom HTML
block
Example for setting dynamic value:
[gravityforms id="1" field_values="parameter_name=Dynamic Value"]
Note: The parameter name in the field_values
attribute must be the same as specified in the 2nd
point.
Note: When populate a lookup parameter, use the following syntax: parameter_name=entity_name
:record_id
.
Example for companyid
parameter name (actual column name is parentcustomerid
in the contact
Dataverse table):
- Fixed value:
field_values="companyid=account:f5aaed4c-654c-4730-bd4f-38bc19a330bd"
- Using twig expressions to get dynamic value:
field_values="companyid=account:{{account.accountid}}"
Lookup Fields
Lookup column supports two views for displaying the column: dropdown and dialog.
To select a view, you need to click the Add Fields
tab and choose Dataverse Lookup
from Advanced Fields
. Then open the Appearance
tab in the column settings.
If you select the dropdown, you must also select the table and view to lookup. The dialog view does not require any additional settings.
If you want to set a default value for Dataverse Lookup look at this example:
table:98837486-742e-ed22-9db1-00224893bd2f
To control conditional access to requested records in dropdown or dialog use fetchXML filter.
Date and time columns
To create a record with date and time
data type columns you need to follow next steps:
- Add a Date Field to Your Gravity Form:
- In your Gravity Form, create a field that captures the date. This field will store the date portion of your record.
- Configure the date field according to your requirements (e.g., date format, default value, etc.).
- Add a Time Field:
- Next, add a separate field to capture the time. This field will store the time portion of your record.
- Customize the time field settings as needed (e.g., 12-hour or 24-hour format, default time, etc.).
- Map the Fields and columns in Dataverse Feed:
- When configuring your Dataverse feed (integration with DataPress), you’ll observe that instead of a single column from the Power App, you’ll encounter two separate columns: one for the date and another for the time. These columns are
pseudo-columns
because they do not exist in Dataverse as standalone entities. Instead, they are derived by splitting or combining data from the source column as needed. - Map the date field from your Gravity Form to the corresponding date column in Dateverse.
- Similarly, map the time field from your Gravity Form to the corresponding time column in Dateverse.
Here are two options. We recommend using Local Date and Local Time for the User Local behavior option, and Date Only and Time Only for the Time Zone Independent and Date Only behavior options. Read more
In case, when you set only time value, the date represents the date zero (January 1, 1900).
File upload columns
You can set maximum attached file size for File upload column in Gravity Forms. But you should also remember about the file size limits which are set for such columns in crm. So that your maximum attached file should not be more than the size from the crm column settings.
At current moment we don't support uploading multiple files.
Access to a table
Be attentive with the access to tables from Maker portal. Pages, based on Gravity forms do not show any error when you try to fill in and submit the form even if you don't have an access to this table. You click Submit and then you will see success message even when you don't have privilege to create a new record. In that case the administrator will get an email with the details.
How to bind a record by its guid
To bind a record on a page created with the help of Gravity Forms, follow these steps:
- Create a Gravity Form with an Update Action in Dataverse Feed:
- First, create a Gravity Form that includes the necessary fields for your record.
- Configure the form to perform an update action in your Dataverse feed.
- Remember the name of this Gravity Form.
- Create a Page based on the Gravity Form Block:
- Create a new page. Use the Gravity Form block to build your page. Save the page.
- Configure Binding for the Page:
- Locate the page you just created in your list of pages.
- Click
Configure binding
->Setup binding
. - Choose the appropriate table name and select the
Via GUID in query string
option
- Add the Record GUID to the Page URL:
- Now you can include the record GUID as part of the URL.
- For example, if your record GUID is 65ffaf9a-e8c5-432d-860b-32f841b00d87, your URL could look like
https://yourwebsite.com/your-page?id=65ffaf9a-e8c5-432d-860b-32f841b00d87
Alternatively, you can use a shortcode to achieve the same result (use the Custom HTML
block):
[gravityform id="1" action="icds" icds_record="contact:2793c9dc-ff0d-ef11-9f89-0022489310b4"]
This shortcode will populate the form fields with values from the record with the GUID 2793c9dc-ff0d-ef11-9f89-0022489310b4 in the contact table. In this case you don't need to configure binding for the page, just to write the record guid in the Custom HTML
block.