Schema Definition File

This is the primary file that outlines the entire structure of the component. It contains vital information about the component, detailing its key information and listing all the actions it can perform. It's the main file that gives the component its structure and purpose.

JSON STRUCTURE:

{
    name: "Amazon Connect",
    type: "contact center",
    key: ["amazonconnect", 
          "contact center", 
          "AWS"
         ],
    version: "1.0.0.1",
    developer: "CFX Developers",
    toolboxIcon: "awsactoolbox.jpg",
    componentLogo: "awsaclogo.jpg",
    documentation: "readme.md",
    actions: 
    [
      { actionId: "ac_connect",
        actionName: "Connect",
        receivedData: "",
        returnData: "",
        actionElements: [
          IAMUSer
        ]
      }
    ]
}

Schema Elements Definition

Connector General Information - These details serve as the default values for the fields required during component registration. In other words, they provide the starting point for registering your connector.

  1. name - Unique Name of the component. Note that during component publishing to the marketplace, the name of the connector will be checked if this name is already in use, otherwise, the publishing will be rejected until this is corrected.

  2. type - The Component Type that classifies this connector component.

  3. key - these are the equivalent of Tags, useful when searching for a component by keywords.

  4. version - A connector component can have multiple updates identifiable by the version.

  5. developer - the name of the Tenant account registered in CXF, this is not the name of the user of the tenant but the tenant name itself.

  6. toolboxIcon - This is the filename of an image file added in the component dependencies that will be shown on the toolbox.

  7. componentLogo - This is the filename of an image file added in the component dependencies that will be shown on the Connector Overview page. This image is larger than the toolbox icon.

  8. documentation - The filename of the documentation file that has been uploaded as part of the component dependencies.

  9. customFunctions - This is an array list of function names that are defined in the javascript file “customfunctions.js”. These functions list also has its own elements:

    • functionName- name of the function.

    • functionParameters - this can be multiple parameters expected or required when calling this function

  10. customAPIs - This is an array list of predefined API calls with the following elements:

    • headers - array of header definitions of a request.

    • method - request method such as GET/POST/PUT/PATCH, etc.

    • apiendpoint - the URL of the API.

    • body - this can be a default value of the body but can also be assigned value during flow execution.

  11. actions - Each connector components contain at least 1 action that enables the user to perform a process against the platform that the connector is interacting or integrating with. Each actions also contains its own elements as follows:

    1. actionID - a unique string identifier of a specific action.

    2. actionName - the name of the action that will be displayed in the connector action selector list.

    3. isCompleted - a property that will be updated during execution of the action as a step that indicates that this step has been executed.

    4. receivedData - an object that contains the value of the returned data of the previous action step.

    5. returnData - this will be the default data to return to the next step, this value can be assigned during flow execution.

    6. variables - an array list of predefined variables that is required on this action. These variables will be accessible in the flow. It also contains variable elements:

      • name - name of the variable.

      • description - describes the purpose of this variable.

      • defaultValue - default value of the variable if any.

    7. actionArguments - All actions have their corresponding function that has been defined in the main.js file. Since it is a function, it also contains function parameters:

      • functionName- the name of the function.

      • functionParameters - this can be multiple parameters expected or required when calling this function.

    8. dataInsideAction - An array of User Input definitions that are used during flow design. The structure of this user input is as follows:

      • groupname - user inputs can be grouped by assigning a groupname

      • field - this is a unique identifier of the user input

      • label - the friendly label of the input

      • type - the data type of the expected value

      • placeholder - contains a clue or hint of what data to inout

      • value - the default value pf the input, it can be assigned at flow execution time