All Collections
Workflow Manager
Create a Workflow in a Project
Create a Workflow for Custom Objects in a Project
Create a Workflow for Custom Objects in a Project

This article helps you understand how to create a workflow for custom objects in a project.

Updated over a week ago

Pre-requisites:

Steps to create a new custom object workflow are mentioned below:

1. Navigate to 'Workflows' tab and select the project in which a new workflow needs to be created.

2. Click on 'Create Workflow Definition' button at top right to start creating a new workflow.

Alternatively, right click on project name and select the option 'Create Workflow Definition'.

3. Capture required details in mandatory fields (marked with a red asterisk).

3.1. Workflow Name - Name which you want to give to the new workflow.

3.2. Description - Capture a brief description about this new workflow.

3.3. Workflow Context - Select 'Custom Object' as workflow context.

3.4. Custom Object Template - Select 'ISS Issue' option and continue.

3.5. Total Workflow Days (Optional) - Enter total length of the workflow in number of days.

4. Once done, click on 'Create' to proceed to the workflow designer.

The visual workflow designer screen will appear. Various shapes and tools will appear as mentioned in step 4 in Create Workflow - Document.

5. Example Scenario
Let us create an example workflow using the above shapes as per below mentioned scenario:

  • Workflow starts when a new model issue is created.

  • Defined user has to complete a user task 'For Action' on that model issue.

  • The custom object is then distributed to other users as per workflow configuration.

  • Workflow ends.

Steps to create workflow as per above example:

5.1. Drag and drop the 'Play' shape onto drawing board to start creating a new workflow. This is the starting point of workflow.

5.2. Drag and drop a connecting object (arrow) coming out from the start event.

5.3. Add a new user task which is connected with the start event using the connecting arrow mentioned above.

5.4. Once the new user task is added, you need to configure properties for the same.

5.4.1. Name - Key in a name for this user task.

5.4.2. Description - Enter a brief description about this user task.

5.4.3. Task - Select the task you want the user to perform. Currently, only user task available is 'For Action'.

5.4.4. To - Select the user who needs to perform above task. You can select multiple users. In this example workflow, it will be document controller.

Roles and organizations can be selected instead of individual users if task needs to be assigned to multiple users.
Tasks can also be assigned to 'Workflow Originator' and/or 'CustomObject Creator'. The visual workflow engine will pick up these values dynamically based on the actual custom object or workflow being executed.

5.4.5. Due Days - Specify the number of days you want to give for the user to complete given task. Please key in '2D' if you want to give 2 days of time.

5.4.6. Workflow Transition Condition - Select appropriate option from the dropdown.
Wait for all users to complete task: Workflow will halt until all selected users have completed the tasks assigned to them.
Proceed after any one person completes task: Workflow will start progressing the moment at least one user completes task.

5.5. Add a new system task which is connected with the 'For Action' user task event using the connecting arrow mentioned above.

5.6. Once the new system task is added, you need to configure properties for the same.

5.6.1. Name - Key in a name for this system task.

5.6.2. Description - Enter a brief description about this system task.

5.6.3. Task Type - Select a task type you want system to perform. In this example workflow, it will be 'Status Change'. (It is assumed here that there is already a system task created for 'Status Change' task type in selected project.

In case there are no system tasks created in advance, you won't be able to set the 'Task' property leading to a validation error while trying to publish the workflow.

Click here to understand how to create system task for custom objects.

See below for a list of supported system tasks:

Context

Supported System Tasks

File

Execute Groovy Script

Email Notification

Distribute Custom Objects

Clear Tasks

Task - Based on the selected task type, a popup will appear. Select a 'Config Name' which corresponds to the selected task type.

5.7. Drag and drop an end event and connect it with 'Distribute' system task i.e. output of the system task is input of end event.

Now the workflow is fully configured & you need to save it by clicking on the 'Save' button at top left. Completed workflow is shown in image below:

5.8 In case you are using a flow condition, below is a list of supported parameters:

Context

Supported Parameters in Flow Condition

Actual Name in Flow Condition

Supported Values

App

App Status

status

Auto populated

6. System will give a prompt if the workflow needs to be published now or later, workflow once created needs to be published in order to be able to run it.

Click on 'Yes' to publish the workflow or click on 'Later' if you wish to publish it later.

7. Clicking on 'Yes' to publish the workflow, you will be prompted to create a trigger event for this workflow. If you are saving a new workflow created in a project template, then this option to configure trigger is not available.

8. Click 'Yes' to configure a trigger event for this workflow. Click here to understand how to create a trigger event.

9. Once the trigger event is configured, the workflow is ready to use and it will start working the moment trigger event occurs.

As per the scenario mentioned in above example workflow, user defined as per the workflow configuration will get a 'For Action' on the custom object. It will then be distributed by the system based on the system task configuration. Then, the workflow ends.

Note: A maximum of 1000 workflow definitions are allowed to be created on a single project or a single project template. This can include workflows of all types including files, forms and custom objects.



Did this answer your question?