Skip to main content

Expose a workflow

After you designed and built your workflow, you can make it available for the users. Workflows can be used in various ways and the way that you would like to expose your workflow depends on what kind of workflow you are building. There are the following ways to make your workflow available for the user:

Expose a UI workflow by using HTML document

If you are building a UI workflow you need to have an HTML document that renders your process. On the high level, the purpose of this HTML document is to:

  1. Authenticate the user who tries to launch the workflow. The authentication is done by using External API client in Keycloak.

  2. Launch your workflow and display forms to the user.

  3. Redirect the user to a specified page after the process is finished.

Prepare the template file and run your UI workflow

FA provides a template document that you can use to expose your workflow. Follow the below steps to prepare the file and run your process:

  1. Download the file templateForUIProcess.html and change:

    1. The processKey variable in row 23 to be your process key. The process key defines which process is run after the authentication.

    2. The redirectPath variable on row 26 to point to a URL or an HTML file where you want the user to be redirected after process is completed.

  2. Rename the HTML file and upload it in FA:

    1. Navigate to File management in FA Admin console and open the public folder in the /public directory.

    2. Click Upload files to upload your HTML file.

  3. Launch your workflow by navigating to the following URL with your browser: https://<instance>.fasolutions.com/public/<yourFile.html>

Customize your template file

You can customize your template further – brand it and add form translations. To brand the template, modify HTML and CSS. To translate your forms, add a translation file in JSON format in the /public directory.

Expose a non-UI workflow by using FA Back process launcher

You can launch a Flowable workflow directly from FA Back by using the process called "Flowable launcher". With Flowable launcher, you can select a set of contacts, portfolios, trade orders, or transactions and use this data in a Flowable workflow.

Configure Flowable launcher

To use Flowable launcher:

  1. Contact FA support and ask to install the Flowable launcher.

  2. Configure a Flowable launcher instance. Set the following values:

    Field

    Description

    Configuration set key

    A unique key that defines Flowable launcher.

    Configuration set name

    The label used for the button that starts Flowable launcher in FA Back.

    Configuration set namespace

    The object and section where Flowable launcher is available.

    Example: if you use the value contacts, you will be able to run Flowable launcher in the "Contacts" section on the selected contacts.

    Event key

    Event key of the Flowable process. The event key is used to link Flowable launcher to your Flowable process.

    Grouping

    A setting that defines how the Flowable launcher result is grouped when sending data to the Flowable process.

    You have the following options:

    • Portfolio: The result is grouped per portfolio.

    • Contact: The result is grouped per contact.

    • No grouping: The data is not grouped.

    Example: You run Flowable launcher on trade orders and you select the grouping per portfolio. Then you go to the Trade orders view, select trade orders, and launch your workflow. Let's assume that you selected trade orders from two portfolios. Flowable launcher will group the data in two sets: the trade orders of the first portfolio and the trade orders of the second portfolio. Flowable launcher will then send each set to a separate Flowable process.

Configure your Flowable process

To configure your Flowable process:

  1. Start your process with a Start event registry event.

  2. Set the Event key in the Start event registry event with the same value as the one in the FA Back Flowable launcher settings.

  3. Set the Channel key field to the flowable-inbound value.

  4. Map the data coming from Flowable launcher by configuring the Mapping from event payload values in the Start event registry event. You can then create variables for your Flowable process using fields given by Flowable launcher. The available fields depend on the grouping you defined in the Flowable launcher configuration:

    Field

    Availability in grouping

    Description

    ids

    • No grouping

    • Contact

    • Portfolio

    List of the IDs of the selected items on which the Flowable launcher is run. For example: to run Flowable launcher on certain trade orders you will set the Configuration set namespace to tradeOrders, then ids will contain the list of the trade order IDs.

    [empty]

    contactId

    • Contact

    Database ID of the contact.

    contactContactId

    • Contact

    ID of the contact defined in the Contact window.

    contactName

    • Contact

    Full name of the contact.

    portfolioId

    • Portfolio

    Portfolio ID.

    portfolioShortName

    • Portfolio

    Short name of the portfolio.

    portfolioName

    • Portfolio

    Portfolio name.

    For example, if you group the data by Contact, you could map the fields like this:

    Mapping_from_event_payload.png

When you configured the Start event registry event, you can configure the rest of your Flowable process. To learn more, see Building a workflow.

Launch onboarding process when the user logs in to FA Client Portal

FA Client Portal can launch an onboarding process when a user without a linked contact tries to access the application.

Define the process to launch by setting the Onboarding value for the Target namespace field in the main configuration of the process. You can only configure one process to be launched from the FA Client Portal.

If a user doesn't have a linked contact, the system redirects them to the process when trying to access FA Client Portal.

If no processes with the Onboarding value are configured, the user can't access FA Client Portal due to the missing linked contact.