---
title: Custom workflow templates
description: "Create custom workflow form templates using Vue JS to extend PingIDM's embedded workflow engine in the end-user UI"
component: pingidm
version: 8
page_id: pingidm:workflow-guide:custom-workflow-template
canonical_url: https://docs.pingidentity.com/pingidm/8.1/workflow-guide/custom-workflow-template.html
llms_txt: https://docs.pingidentity.com/pingidm/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
keywords: ["Workflows", "Custom Templates", "Flowable", "Vue JS Framework"]
superseded_by: https://docs.pingidentity.com/pingidm/8.1/workflow-guide/custom-workflow-template.html
---

# Custom workflow templates

|   |                                                                                                                           |
| - | ------------------------------------------------------------------------------------------------------------------------- |
|   | The end-user UI is not bundled with PingIDM. Learn more in [Install the end-user UI](../setup-guide/idm-enduser-ui.html). |

The embedded workflow engine integrates with the default end-user UI. For simple custom workflows, you can use the standard Flowable form properties and have the UI render the corresponding generic forms automatically. For more complex functionality, including input validation, rich input field types, complex CSS, and more, you must define a custom form template.

The default workflows provided with IDM use the [Vue JS framework](https://vuejs.org/v2/guide/) for display in the end-user UI. To write a custom form template, you must have a basic understanding of the Vue JS framework and how to create components. A sample workflow template is provided at `/path/to/samples/provisioning-with-workflow/workflow/contractorOnboarding.bar`. To extract the archive, run the following command:

```
jar -xvf contractorOnboarding.bar
inflated: contractorForm.js
inflated: contractorOnboarding.bpmn20.xml
```

The archive includes the workflow definition `contactorOnboarding.bpmn20.xml` and the corresponding JavaScript template `contractorForm.js` to render the workflow in the UI.
