Configuring an Action Definition

In some business scenarios, the user may want to specify some values while configuring an action. For example, when inserting data into a spreadsheet, the user needs to specify which file is used.

To provide configuration options for an action definition, the Rapid Adapter Builder platform provides a configuration page where the user can perform configuration activities like:

  • Selecting an input value.
  • Typing an input value in a text box.
  • Entering multiple values like entering values into a table.

The adapter can use these user input values for schema generation by the mapper in Oracle Integration or for runtime execution.

For more information on how to design a configuration for an action definition, see Design of Configuration Fields

The configuration page supports configuration activities like:

  • Multiple user interface wizards.
  • Dropdown selections.
  • Text inputs.
  • Dependency relationship on the user interface wizards.

    For example, the user can select a file only after a user selects a folder. For more details about field dependency, see Combine Field and Value Dependencies.

For each of the user interface widgets, there is a separate design construct. Some widgets require a configuration flow to return:

  • A single value for a text box.
  • An array of key/value pairs for a combo or list box.
  • Rows of data for a table.

For more details about the user interface wizard, see Design User Interface Components of an Adapter.

The following sample code shows an action definition that has a configuration page:

{
  "actions": {
    "insertRecordConfigurationAction": {
      "displayName": "Insert Record Into Table(Configuration)",
      "execute": "flow:insertRecordActionFlow",
      "input": {
        "schemaType": "application/schema+json",
        "schema": {
          "$ref": "#/schemas/insertRecordInputSchema"
        }
      },
      "output": {
        "schemaType": "application/schema+json",
        "schema": {
          "$ref": "#/schemas/insertRecordOutputSchema"
        }
      },
      "configuration": [
        {
          "name": "folderId",
          "displayName": "Folder Name",
          "description": "Folder Name",
          "type": "COMBO_BOX",
          "required": true,
          "options": [
            {
              "keyName": "1K5Qc444w-usPDtXUwP",
              "displayName": "Customers"
            },
            {
              "keyName": "1K5Qc444w-usPDwedesw",
              "displayName": "Orders"
            },
            {
              "keyName": "1K5Qc444w-usPsdewest",
              "displayName": "Contacts"
            }
          ]
        },
        {
          "name": "fileId",
          "displayName": "File Name",
          "description": "File Name",
          "type": "COMBO_BOX",
          "required": true,
          "options": "flow:dynamicOperationFlow",
          "dependencies": {
            "folderId": {
              "values": []
            }
          }
        }
      ]
    }
  }
}