Flowable Form Engine

I am new to flowable and bpmn. I am not understanding the use Flowable Form Engine. Does it make html forms / UI for the process?

See: Forms

Thanks but I already read this and the other forms document. But my question is does it produce html forms or it is something else i am not understanding. Suppose if I do
this…
FormModel RuntimeService.getStartFormModel(String processDefinitionId, String processInstanceId)

does the process start with a html form ? If yes how do i know the url.

The Flowable Form Engine is responsible for rendering form definitions associated with User tasks.

Suppose if I do
this…
FormModel RuntimeService.getStartFormModel(String processDefinitionId, String processInstanceId)

does the process start with a html form ? If yes how do i know the url.

The Flowable task application is able to render an html form from the form definition JSON. You can also use the Flowable API to get the form definition JSON yourself.

FormModel RuntimeService.getStartFormModel(String processDefinitionId, String processInstanceId)

or

FormModel TaskService.getTaskFormModel(String taskId)

The FormModel object is a Java object representation of the form definition JSON.

To start a process instance with a start form definition you can use the following API call:

ProcessInstance RuntimeService.startProcessInstanceWithForm(String processDefinitionId, String outcome,
    Map<String, Object> variables, String processInstanceName)

I am confused, whether we need to define Form Definition JSON or the Form Engine creates Form Defination JSON based on our process defination?

When modelling a business process you can associate a form with a User task.

See: Flowable’s REST API - Part 1