Minimal requirements

Flows for APEX minimal requirements are:

  • Oracle database: 19c or higher
    • For RDBMS 19.3 to 19.10, you must either upgrade to a more current patch release 19.11 or later, or download and apply patch.31843028 from Oracle Support. This fix is included in onwards.
  • Oracle APEX: 20.2 or higher.
    • Using User Task of type “APEX Approvals” requires APEX 22.1 or higher.

Installation with the packaged application

  1. Download the latest version of the packaged app here.
  2. Log in into your Oracle APEX workspace and click on the “Import” cards. Packaged App start installation
  3. On the import page, choose the previously downloaded SQL file, make sure that the option “Database Application, Page or Component Export” is selected and click on the “Next” button. A new page should confirm that the file have been correctly imported. Click on the “Next” button. Packaged App select file to import
  4. The next wizard page is a summary of the installation that will be done. Make sure the selected options are correct and click on “Install Application”. Packaged App summary before install
  5. After installation, you will be asked if you want to install the Supporting Objects. Enable the switch and click on “Next”. A confirmation page will be loaded, confirm the installation by clicking on the “Install” button. Packaged App Supporting Objects Installation
  6. After installation, you can click on the “Run Application” button to log into the Flows for APEX application and start building flows.

Installation with SQLcl

For Windows users, please make sure to set NLS_LANG value correctly by running set NLS_LANG=AMERICAN_AMERICA.UTF8 before using SQLcl.

  1. Get the full distribution content by cloning the repository or downloading the release source code: zip or tar.gz.
  2. Connect to you Oracle schema with SQLcl, make sure you are located into the distribution folder.
  3. Run the installation script, it will create the database objects and import the application.
    SQL> @src/install_all_scratch.sql
  4. Provide the Workspace Name, Parsing Schema, Application Alias and Application Name.
    >> Please enter needed Variables
    Enter Workspace Name: [FLOWS4APEX] FLOWS4APEX
    Enter Parsing Schema: [FLOWS4APEX] FLOWS4APEX
    Enter Application Alias: [FLOWS4APEX] FLOWS4APEX
    Enter Application Name: [Flows for APEX] Flows for APEX
  5. At the end of the installation, you should see the confirmation that the product have been correctly installed. You can connect to your Oracle APEX builder and run the Flows for APEX application.
    >> Finished Installation of Flows4APEX
    >> ====================================

Post Installation Tasks

Post Installation Task 1: Additional step to use timers

Grant create job

Your schema need to have the privilege “create job” to use the timers feature of Flows for APEX. As SYS, you have to run the following command:

grant create job to <my_workspace_schema>;
Create timers Scheduler program and job

To enable timers, run the following commands to create a DBMS Scheduler program and job in your schema ( as the schema owner) with SQLcl or using the SQL Workshop in the APEX builder.

DBMS_SCHEDULER.create_program (
   program_name        => 'APEX_FLOW_STEP_TIMERS_P',
   program_type        => 'STORED_PROCEDURE',
   program_action      => '"FLOW_TIMERS_PKG"."STEP_TIMERS"',
   number_of_arguments => 0,
   enabled             => TRUE,
   comments            => 'Update timers status and move the flow forward.'

Then create the scheduler job….

  • For Production Jobs, decide on your required frequency. We recommend no more often than ‘FREQ=SECONDLY;INTERVAL=10’
  • For Demo Environments/ Proofs-of-concepts / personal sand boxes / sample apps, etc. Consider using a less frequent setting.

Note: For Oracle shared environments and equivalent, the shortest interval is once per minute. Please also use the Flows for APEX Configuration Panel to Disable timers if you are not going to be using your demo environment for several days. Starting with Flows for APEX v23.1, it is now easy to start and stop the scheduler and change its frequency from inside the Flows for APEX application (Timer Configurations). The application now also warns you if timers are currently disabled when you open the app.

DBMS_SCHEDULER.create_job (
    job_name        => 'APEX_FLOW_STEP_TIMERS_J',
    program_name    => 'APEX_FLOW_STEP_TIMERS_P',
    job_style       => 'LIGHTWEIGHT',
    start_date      => SYSTIMESTAMP,
    repeat_interval => 'FREQ=MINUTELY;INTERVAL=5',
    enabled         => TRUE

Post Installation Task 2: Configuration

Set Workspace and Default App and User Info
  1. Start the Flows for APEX Application.
  2. Open the Congiguration page from the menu bar on the right hand side of the top of the screen.
  3. Set the default Workspace Name
  4. Set a default application ID and a default username. The App ID and Username must exist in the specified workspace. These parameters are used to create an APEX session when a Flows for APEX task is started from outside of APEX, for example in a process following a timer event. You can adjust these parameters or remove them before your application goes production if you want.

Post Installation Task 3: Additional step to install REST-API

Register schema with ORDS

You schema needs to be registered with ORDS by using the “RESTful Services” page in APEX or using the API-package “ORDS” (ORDS.ENABLE_SCHEMA)

Install API module

We provide a SQL script to install the API module, roles and privileges. It can be downloaded from our Github-Release-Page (Filename “REST_v1.sql”):

Attention: Do not use “Import” Function on the APEX RESTful Services-Page.

Set Base-URL and Log-Status (Optional)
  1. Start the Flows for APEX Application.
  2. Open the Congiguration page from the menu bar on the right hand side of the top of the screen.
  3. Open REST-Configuration subpage
  4. Enter the Base-URL path to your REST-Module (excluding the module “v1”). If no value is provided links populated in the response of the service will be relative paths. Example: -> Base-URL:
  5. Choose if incoming REST Calls should be logged in table “flow_rest_event_log”