As an enterprise architect, working primarily in the Microsoft Cloud, I often get asked questions about which form solution a Client should move forward with in their enterprise. It usually starts with one form that a business person has requested or suggested, or with one team that wishes to publish a few forms. The request and the questions quickly spread to multiple teams that want to do something similar in the spirit of “Going Digital”!
Do we continue to use InfoPath like we used to? Do we use SharePoint Designer to create a list form? Are they still supported, because we’ve heard they’re not? Do we create a custom form on a SharePoint site page with a custom web part… maybe a full page web part? Do we use Microsoft PowerApps, Microsoft Forms, or a third party solution?
So, I thought I’d share my practical thoughts here to hopefully benefit many people wondering about the same questions. Microsoft has a long history of form solutions which have come and gone, especially in the case of SharePoint. The SharePoint and Microsoft technology stacks which are used to build and host online forms has gone through significant flux in recent years. It started with the announcement that Microsoft would discontinue InfoPath back in January 2014 (anyone remember the InfoPath funeral at the SharePoint conference). After several years of flux, we finally have a clear path forward for online forms in SharePoint and in the Microsoft Cloud.
Let’s Be Clear on InfoPath and SharePoint Designer
First of all, let’s be clear on these technologies – Microsoft has clarified in recent years that InfoPath and SharePoint Designer will in fact be supported in their last versions, InfoPath 2013 (the client application, as a separate download) and SharePoint Designer 2013, until July 2026. InfoPath is not included with Office 2016 or later. This means that current and the most recently released versions of SharePoint, so SharePoint 2016 and SharePoint 2019, will support artifacts created in InfoPath 2013 and SharePoint Designer 2013, as will SharePoint Online… until further notice. However, Microsoft has also been clear that no new work… not features, not updates, not patches… will be put into InfoPath 2013 or SharePoint Designer 2013. Those are the last versions of those applications.
This effectively means that InfoPath and SharePoint Designer are on life support, but are still supported for those on premise and online solutions… I believe the intention here is to support Microsoft customers that already have a large current investment in using InfoPath and SharePoint Designer and cannot yet move to the new modern capabilities.
This also means that new modern capabilities added to SharePoint Online will likely not work or integrate with InfoPath or SharePoint Designer. Effectively, the real use cases in which InfoPath and SharePoint Designer may be used with SharePoint Online sites will get more and more narrow, over a long period of time, until 2026 in fact.
What you’ve built in the past is still supported, and you could still likely use the tools, but it’s highly recommended that you don’t look to these technologies to build anything new, modern, or supported on mobile, or integrated across the Microsoft Cloud. You will have a long uphill battle!
Microsoft’s Go Forward Online Form Solutions: PowerApps & Forms
As many will tell you, Microsoft’s go forward solutions for Online Forms in the Cloud include both Microsoft PowerApps and Microsoft Forms.
Microsoft PowerApps was released to GA (general availability) on October 31, 2016. It is only about 2 and a half years old. It’s important to keep that in mind, because it tells you the technology is still evolving. That’s a good thing. The technology has come a long way in just 2.5 short years.
Microsoft Forms is essentially a light weight, simple tool for creating surveys, quizzes and polls that are intended to quickly collect information. Some general use cases in which we have seen Microsoft Forms are:
- Surveys to collect end user feedback
- Short forms asking users to register for an event or to gauge interest in an event
- Simple forms requesting contact information from users
- Polls to gather employee or customer satisfaction
- Educational environments where teachers wish to publish a quiz to students to measure information retention, or to test knowledge of a topic and evaluate progress
With Microsoft Forms, you really can create a simple online form in minutes which fulfills these use cases. Microsoft Forms does not replace InfoPath or SharePoint Designer list forms, due to the simple nature of forms it can create. But it does very quickly fill one particular need with respect to Forms. It allows you to very quickly and easily:
- Create forms for surveys, polls or quizzes with a simple set of varied controls, and using simple conditions
- Publish those forms to the internet for users to fill out anywhere, any time, on any device (desktop, laptop, tablet or mobile)
- Collect submitted data in a central place, which can be aggregated, summarized and analysed by other tools
- Automatically trigger workflows created in Microsoft Flow which can integrate the collected data from Microsoft Forms into other systems
One feature that Microsoft Forms has over PowerApps, is that Forms can be optionally be published so that they can be accessed anonymously. That’s correct, if you need to publish a form to the internet that you want people on the internet to access and fill out and not require them to login (because maybe they don’t have a user account in your Office 365 tenant) you cannot do that with Microsoft PowerApps, but you can do that with Microsoft Forms. This is not the default configuration, but when you publish a form in Microsoft Forms you can choose to publish it anonymously and not require users to login – when you do this, any person on the internet with a link to the form can respond to it.
Access to Microsoft Forms
Access is controlled through your Office 365 license, and all Microsoft Office 365 enterprise licenses include one flavor or another of the Microsoft Forms SKU, including Office 365 Enterprise E1, Enterprise E3 and Enterprise E5.
There are numerous flavors of the Microsoft Forms license itself, including those focused on the enterprise (Microsoft Forms plan E1, plan E3, plan E5), those focused on kiosks or unattended applications (plan K), and those focused on Education (Plan 2 and Plan 3). You can control if a user has access to Microsoft Forms for the purpose of creating a publishing a form by turning ON or OFF the Microsoft Forms SKU in their Office 365 license.
You can learn more about which licenses include Microsoft Forms here.
Microsoft Forms is also available for free to Hotmail and Outlook/Live Microsoft accounts, with some limitations.
Controls Available in Microsoft Forms and Other Options
There are many common control options available when you’re designing your forms, which are:
- Choice fields where you only select 1 answer (radio buttons or dropdown)
- Choice fields where you select multiple answers (check boxes)
- Text Fields
- Net Promoter Score Fields (announced at Ignite 2018; for example, “How likely are you to recommend this to a friend?” with a choice from 1 to 10)
Other options include:
- Options to make fields required
- Options to order fields as desired
- Options to shuffle the options presented to users
- Options for titles and subtitles on form questions
- Branding options in the form title
- Suggested questions based on how you start your form
- Creative ideas presented to you as you are developing your form
Important Technical Notes about Microsoft Forms
The following are other important technical notes and limitations related to Microsoft Forms:
- All data submitted through Microsoft Forms is stored on servers in the United States or Europe (only if your Office 365 tenant is hosted in Europe). So, if your Office 365 tenant was created and is hosted in a data center outside of the United States or Europe, your form, its configuration and any data submitted through your form is stored and hosted in servers within a US data center. This may or may not fit with your data residency requirements, so please consider the use of Microsoft Forms carefully with this in mind.
- If a user who creates and publishes a form using Microsoft Forms, leaves the organization and their account is disabled and/or their Microsoft Forms license is removed, then all Microsoft Forms configuration and data, including submitted form responses, will be deleted 30 days after their user account is deleted from your Azure AD instance.
- Conditional Access does integrate with Microsoft Forms. You can select Microsoft Forms as a Cloud App in the Cloud Apps assignment.
There are some limitations as to how many forms a user account may create, and how many responses they can receive. Forms created using an enterprise or commercial accounts:
- A single user account may create up to 200 forms
- A single form may have up to 100 questions
- a single form may receive up to 50,000 responses
Finally, surveys and quizzes allow you to collaborate with others during the creation process by creating and sharing a link to the form with other users. You can use this same method to save forms as templates and reuse them over and over again.
Microsoft PowerApps is cloud based technology only available in the Microsoft Cloud, which allows business analysts as well as software developers to build custom business applications. It is Microsoft’s go-forward solution for online forms, and is the intended replacement technology for InfoPath, as well as all previous form technologies.
As mentioned, the solution is not only targeted at software developers. It is targeted at business analysts or technical specialists within a business function; we do find that some technical abilities are typically required to build PowerApps solutions. Our experience shows that often business users can easily start a PowerApps solution, but very quickly they find that some knowledge of JSON or expressions/formulas is required to achieve the business functionality they wish.
PowerApps is typically viewed by most enterprises as a “low-code” and “rapid application development” platform for building custom business applications in the Microsoft Cloud. When developing a PowerApps application, there are two (2) types of applications that may be created:
Canvas Apps – A canvas app allows the app developer to layout supported controls wherever they wish on the page and construct multi-page applications.
Model Driven Apps – A model driven app is created and designed based on the data fields you select for the app. They are tightly integrated with the Common Data Service (CDS) which is the common data model used within Dynamics 365. As you develop a model driven app, you create entities and fields within the CDS, and the controls are automatically laid out on your form to support reading and writing of data from and to those data structures.
All Office 365 enterprise licenses include a PowerApps for Office 365 license. This provides all Office 365 users with standard PowerApps designer capabilities, in effect enabling all users to create their own PowerApps. Any user that will run a PowerApps, meaning if they will fill out an online form built on PowerApps, will run it under the context of their own user account and therefore requires a PowerApps license. However, there are certain connectors or functionality within PowerApps that now require a premium license – for example, if your PowerApp will access data in a SQL Server database, Dynamics 365 or if it will use the on premise Data Gateway, you will require a PowerApps premium license for each user that accesses the PowerApp.
For more information on PowerApps license plans please refer to the Microsoft article: https://powerapps.microsoft.com/en-us/pricing/#compare-plans.
Offline Data Capture
In some real-world use cases, PowerApps need users to be able to store and access data when a device is offline. One example of requiring PowerApps to store and manage data in offline scenarios is when field engineers or technical specialists need to work with business apps on their mobiles, in customer environments that have low-connectivity or no-connectivity. Field engineers often need to capture data on their devices, including manually entered data, GPS coordinates and multiple photos. When the device returns to connectivity, data collected offline must then be synchronized with an online data store. PowerApps does provide the capability to store and load data in offline scenarios.
When building PowerApps that support an offline mode, there are two key architectural aspects that need to be considered:
- The first involves offline data capture. Typical behavior for PowerApps is to write data that has been captured by a user directly back to a backend archive, such as SharePoint or a SQL database When the connection to backend systems is disrupted, PowerApps needs to store the data locally in a cache. The cache acts as a temporary storage container that can capture information, such as text, images, and attachments. The amount of data that can be stored on the device may be limited by the device’s capacity.
- When PowerApps is restarted, the app will check for connectivity to backend systems. If there is connectivity, then the cached data will be loaded from those backend systems. Otherwise, data will be loaded from the cache.
A good practice for this architecture is to also set clear parameters for when data is purged from the cache. The design should take into consideration permanent archiving of the data in the backend and clearing data once it’s not used any longer on the device to avoid situations when the device runs out of storage space in the cache. Once the connection to the backend is re-established, a careful sequence of events needs to take place so the data from the cache is transferred to the archive and persists in the device.
If PowerApps are used to develop applications that fulfill business critical functions, it is highly recommended that a service account be created, which is utilized to build and own the PowerApp. This will avoid scenarios where a user’s account is disabled, because the user potentially left the organization, and the application becomes no longer available to users that rely on it.
Microsoft Forms Pro
Microsoft Forms Pro is relatively new, as it was only released last year in 2019. It allows you to access more advanced functionality than Microsoft Forms, including developing customized surveys that follow a particular brand, with your company’s look and feel. It uses AI-assisted suggested questions. It allows you to incorporate sophisticated survey functionality like advanced branching, skip logic, individualized survey links, and multilingual capabilities. You can reach your audience with timely, mobile-optimized surveys distributed through email, QR codes, webpages, and apps.
You can personalize questions based upon integrated data from your CRM, ERP, or HR systems to help increase response rates. You can also integrate results and view survey responses directly from within Office 365 and Dynamics 365. This can be used to enhance business processes and gain a more comprehensive view of customers.
Forms Pro lets you view real-time results or integrate data seamlessly with Power BI for advanced analytics. You can therefore monitor the pulse of a workforce or customers , including sentiment analysis, trend identification, and keyword detection. It allows you to identify and act on opportunities by creating triggered actions or notifications based on survey responses or sentiments.
If you are already a Dynamics 365 customer, it includes Microsoft Forms Pro for up to 2000 survey responses per month, and additional blocks of responses can be purchased. If you are an Office 365 customer, you must buy licenses of Microsoft Forms Pro separately, on top of your O365 licenses, in blocks of responses. More information on purchasing licenses for Microsoft Forms Pro can be found here: https://docs.microsoft.com/en-us/forms-pro/purchase.
There were some great new features that were recently released for Microsoft Forms Pro in January 2020, which you can learn about here: https://docs.microsoft.com/en-us/forms-pro/whats-new .
To summarize, at a high-level, the scenarios in which you can use these features are:
- Microsoft Forms – Great for creating very simple surveys, polls and quizzes that are designed to very quickly and easily capture data from end users.
- Microsoft PowerApps – Great for creating online forms that capture data and provide either simple or advanced functionality to end users, effectively turning your online form into an app. The possibilities with Microsoft PowerApps is almost limitless when creating Apps. PowerApps is also useful if you have to build an App that supports offline data capture.
- Microsoft Forms Pro – Great for creating branded, customized surveys where logic is needed, branching is needed, or branding is needed. Its also great when you need a survey that automatically integrates data captured into a backend system like Dynamics 365 or PowerBi.