Maestro Forms

   MaestroThe UI design product.  |   Form Builder |  All versions This feature is related to all versions.

A Maestro form is a web document designed for capturing data from applicants, and form users, and sending it to Journey Manager for processing. A form typically contains page groups, pages, sections, attachments, embedded documents and fields to guide applicants through the data capturing process, which consists of various events of the customer journey experience. The journey is usually configured by a Business Analyst (BA) or Subject Matter Expert (SME) based on requirements. Here, we refer to the BA or SME as the Form Designer.


In this documentation, we use the following terms interchangeably: form, application form, application, user application and customer application.

You create a form in Journey Maestro using various components and libraries. A form design (look and feel) is usually based on a template or a brand that significantly simplifies your life as a Ford Builder. A Template Designer creates a template, which helps you build forms following a specific design. First, you create a form for individual purposes and then extend it and add extra functionality to it by creating new form versions of the original form. Maestro forms are built on the AngularJSAngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. AngularJS's data binding and dependency injection eliminate much of the code you would otherwise have to write. For more information, see framework.

When the Maestro form is ready, you build it as a Form Archive (FAR file), which is a self contained ZIP file with all generated resources in it. Now, you can publish (deploy) it in various Journey Manager environments to make the form available to form users and applicants.

Forms require various types of data, such as user input, form pre-fill, fields' autocomplete and dynamic data lookup, to represent fields' content. Such data is formatted as XML, so when a form is first rendered, an XML document is generated to store data collected by the form. This XML is eventually populated, updated and then saved when the form is submitted to the Manager server. All this implies interaction with Manager, which means you have to configure Maestro forms in Journey Manager before they can be used.

The Maestro editor is hosted on a Manager instance and the version the project uses dictates which version of the editor the form opens in. This allows you to edit your form in the same version you have used to edit your forms to help manage changes to your forms so making a simple text change will not get new features from newer versions. For more information, see Maestro features.


A Maestro's form is represented differently in Manager. For more information, see Manager's form overview.

As mentioned above, a journey experience is a sequence of events that includes data prefill, data capture, save and resume, attachments, payments, assignments, notifications, and collaboration between reviewing and approving staff. Some of these events have an impact on the form design, while others are configured in Manager.

Organizations frequently have high-level concerns before beginning form development, including:

  • Branding
  • Integration
  • Accessibility
  • Security

These concerns are translated into action during a form's development that can include:

  • Styling
  • Validation
  • Data Structure
  • Usability

Maestro provides the tools to address these concerns using the UX principles embodied in the software.

Although the same interface is used to create templates and forms, a Form Builder will likely have less control over the appearance of a form than a Template Designer has over a template. This is because Template Designers typically define extension points, which prevent Form Builders from introducing inconsistencies across an organization's forms.

When a form is published, all of its assets, such as templates, images, style, components, and so on, are bundled into a single-page AngularJS application and made available via a chosen form space.

When creating a form, a Form Builder will:

  1. Choose what template the form should be based on
  2. Apply a brand to the form (if more than one brand exists)
  3. Add page groups, pages, sections, and fields to the form
  4. Create validation rules and other business logic
  5. Integrate with third-party services via pre-built Exchange packages
  6. Configure what data will be collected via Journey Analytics

Next, learn about a form architecture.