Cognito Forms is one of the many platforms available for creating online forms. Cognito Forms is the only one I know of that has a Power Platform connector. I thought I might give it a whirl to see if I could create a form to capture data and use Power Automate to get the data into Dataverse.
Online form builders are low code platforms that allow anybody to create web forms for gathering data. They can be used for a variety of purposes such as surveys, account signup, or generating leads. Typically they have a drag and drop designer allowing you to create forms to collect a range of data types.
Cognitive Forms is a competitively priced form builder that includes a free single-user license that allows 500 forms submissions per month.
It has the following features
Creating a form with Cognito is pretty intuitive. You can either base your form on one of their templates or start with a blank form. You add fields to your form by selecting the field type you want, give it a label and click + . Each field has a number of validation options including setting the required level and min and max number of characters. A nice touch is the ability to use RegEx expressions to validate data entry.
There is also an option to add a file upload button and to specify which file types are allowed to be uploaded.
Once you have created your form you can use the publish option to share the form’s url. Alternatively, you can simply copy and paste the Html code for the form into your own web page.
Here is an example of the form embedded in my web site. You can see the validation error when I tried to upload a file with an unsupported file type.
Having created a Cognito form I then wanted to try and use Power Automate to get the data into Dataverse. Creating a Power Automate Flow to trigger on a Cognitive Form submission could not have been easier. I created a new Flow and selected the Cognito Form event “When a new entry is created” as my flow’s trigger.
I then added an action to create a new contact record in Dataverse. The dynamic content prompted me with the fields from my Cognito form and I was able to use these to create my contact record. All point and click!
As part of the flow I had hoped to take the file uploaded as part of the form submissions and add another action to add it to a SharePoint site. However, when I examined the Json message I found that while it did contain details on the attachments it did not contain the document content itself.
“CV”: [ { “ContentType”: “application/msword”, “Id”: “F-az$fxyFwoImqRHBOyueBok”, “IsEncrypted”: false, “Name”: “JOE CV Word.doc”, “Size”: 1274880 }
I was however able to use the Entry Admin Link field from the Cognito data in the contact web site field.
That way I could navigate from the contact record to the Cognito entries screen and view the file from there.
Hopefully, this post demonstrates how easily you can integrate Cognito Forms and the Power Platform without any code. A Power Automate flow is the glue that automates moving the form data into Dataverse. The Power Platform comes with hundreds of out of the box connectors so the potential for automating and integrating platforms with no code is endless. You can even use the Power Platform data gateway to automate between the cloud and on premise platforms.