Waiting for engine...
Skip to main content

Connector descriptor file

The connector descriptor file (connector-descriptor.xml) is an XML file that describes the capabilities of a connector built using the Connector SDK. Boomi integration uses this file to dynamically construct the user interface for a connector when creating a new connection or operation for a connector on the Boomi Enterprise Platform.

Platform configuration

When creating a local connector project, create the connector-descriptor.xml file at src/main/resources/META-INF/.

Use an XML editor to update it with relevant information for the Boomi Enterprise Platform, including:

  • The connection fields.

  • The available operations.

    • Fields for the operation.
    • List of custom object types for import
  • Help text for the fields in the connection and operations.

  • Configure if the connector supports testing the connection to the endpoint with Test Connection button.

  • Set document properties to extend the connection configuration information such as fileName, fileKey, or folder.

  • List the available fields for a connector that you can track in tracked properties.

    For more information about tracked properties, document properties, and their usage in integration, refer to Including additional information and metadata in documents.

important

For an OpenAPI connector built using the Gradle DSL plugin, the connector-descriptor.xml file is autogenerated based on the build.gradle configuration. You need not edit the descriptor file and can directly upload it to the Boomi Enterprise Platform during the deployment.

When adding a connector group and adding a version of a connector to a connector group in preparation for deployment, include connector-descriptor.xml as part of your build. Note that the capabilities of a connector vary based on the use case of a connector and the requirements to meet its use case.

Sample connector descriptor

The connector descriptor file must adhere to genericconnectordesc.xsd. This schema is available in the connector-sdk-model JAR file, available in the Connector SDK artifacts.

Sample Connector Descriptor file
<?xml version="1.0"?>
<GenericConnectorDescriptor
browsingType="cloud"
requireConnectionForBrowse="false">
<description>This is an example connector</description>
<section id="advancedConnectionTab" type="page" title="Advanced Configuration">
<helpText>This tab will contain information that can be used to customize the basic connection.</helpText>
</section>
<field id="spec" label="OpenAPI Specification" type="string" sectionId="advancedConnectionTab"/>
<field id="url" label="URL" type="string">
<helpText>The base url for the Example service</helpText>
<defaultValue>http://www.example.com/service</defaultValue>
</field>
<field id="username" label="User" type="string">
<helpText>The User Name for logging into the Example service</helpText>
</field>
<field id="password" label="Password" type="password">
<helpText>The Password for logging into the Example service</helpText>
</field>
<field id="connectionHeaders" label="Connection Headers" type="customproperties">
<helpText>The restricted keys are "username" and "password" and these are case insensitive.</helpText>
<customPropertiesConfiguration>
<restrictedKey>username</restrictedKey>
<restrictedKey>password</restrictedKey>
</customPropertiesConfiguration>
</field>

<operation types="GET|UPDATE|CREATE"/>
<operation types="QUERY" allowFieldSelection="true">
<queryFilter grouping="any" sorting="one" >
<operator id="EQUALS" label="Equal To"/>
<operator id="NOT_EQUALS" label="Not Equal To"/>
<operator id="NOT_EQUALS_OR_NULL" label="Not Equal To or Null"/>
<operator id="GREATER_THAN" label="Greater Than"/>
<operator id="LESS_THAN" label="Less Than"/>
<operator id="GREATER_THAN_OR_EQUALS" label="Greater Than Or Equal"/>
<operator id="LESS_THAN_OR_EQUALS" label="Less Than Or Equal"/>
<operator id="LIKE" label="Like"/>
<operator id="NOT_LIKE" label="Not Like"/>
<operator id="NOT_LIKE_OR_NULL" label="Not Like Or Null"/>
<operator id="IS_NULL" label="Is Null" numArguments="0"/>
<operator id="IS_NOT_NULL" label="Is Not Null" numArguments="0"/>
<operator id="IN_LIST" label="In">
<helpText>Comma separated list of values</helpText>
</operator>
<operator id="NOT_IN_LIST" label="Not In">
<helpText>Comma separated list of values</helpText>
</operator>
<operator id="RANGE" label="Between" numArguments="2">
<supportedType type="number" />
</operator>
<sortOrder id="asc" label="Ascending">
<supportedType type="string" />
<supportedType type="number" />
</sortOrder>
<sortOrder id="desc" label="Descending">
<supportedType type="string" />
<supportedType type="number" />
</sortOrder>
<sortOrder id="ascNullFirst" label="Ascending - Nulls sorted first">
<supportedType type="string" />
</sortOrder>
<sortOrder id="ascNullLast" label="Ascending - Nulls sorted first">
<supportedType type="string" />
</sortOrder>
<sortOrder id="descNullFirst" label="Descending - Nulls sorted last">
<supportedType type="string" />
</sortOrder>
<sortOrder id="descNullLast" label="Descending - Nulls sorted last">
<supportedType type="string" />
</sortOrder>
</queryFilter>
</operation>
</GenericConnectorDescriptor>

Connector descriptor content

The following content provides an overview of elements and attributes you can use when you update the connector descriptor. Each XML element is followed by its attributes and any elements it contains.

High-level structure

    <GenericConnectorDescriptor>
<!-- Section:
Define a section to group connection fields that will be displayed together on a dedicated tab within the Connection UI.-->
<section />
<!-- Connection Fields:
These fields will appear on the Connection screen or on a dedicated tab (if associated with a section) on the Boomi Enterprise Platform.-->
<field />
<field />
<field />

<!-- This decides whether or not you need an option to test your connection.
This option appears on the Connection screen on the Boomi Enterprise Platform-->
<testConnection />

<!-- Operation Fields:
These fields appear on the Operation screen on the Boomi Enterprise Platform-->
<operation>
<field />
<field />
</operation>
<operation />
<operation />
<dynamicProperty />
<dynamicProperty />
</GenericConnectorDescriptor>
note

Elements are enclosed in <>. Attributes are prefixed with @.

Root element: GenericConnectorDescriptor

<GenericConnectorDescriptor> is the root document element that encloses all other elements and their corresponding attributes for the descriptor document. You can set various attributes for this element and the elements nested within it may contain their attributes and definable values.

GenericConnectorDescriptor attributes

<GenericConnectorDescriptor> allows the following attributes:

  • @requireConnectionForBrowse (Boolean): If set to true, connector browsing requires a connection. The BrowseContext.getConnectionProperties (see the Javadocs) map contains the necessary connection fields. The default is false. This attribute is for connectors that require user connection information, such as login credentials, to access object browsing information.

  • @disableDefaultObjectTypeFilter(Boolean): If set to true, the default Filter text field in the Import Wizard, allowing the user to use filters with wildcard characters (* or ?) to reduce the number of returned objects from a query, does not appear.

Retired attributes

Retired attributes of <GenericConnectorDescriptor>
  • @onPremiseBrowseOnly (Boolean): If set to true, browsing with this connector works only when the connector is running on a Runtime installed within the user's infrastructure. The default is false. This attribute is for connectors that work exclusively with an on-premise service.

    This attribute is retired. Use @browsingType.

  • @browsingType (enum): Describes the context(s) in which the connector browses: This attribute is retired and should not be used when building a new connector, or making revisions to an existing connector. Both the "cloud" and "any" options for this attribute are retired, and if set, automatically change to "onpremise".

    When using the Developer tab on the Settings page to upload and manage your account's connectors developed with the Connector SDK, the behavior is as follows:

    • New connectors — If your descriptor contains an entry for @browsingType, you receive a message indicating that the attribute is retired and browsing is performed using containers associated with your account (local Runtimes, Runtime clusters, and Runtime clouds).

    • Existing connectors — If your descriptor contains an entry for @browsingType, it changes to onpremise (local Runtimes, Runtime clusters, and Runtime clouds).

      • “onpremise” — The connector can browse only on-premise (local Runtimes, Runtime clusters, and Runtime clouds).
      • “cloud” — The connector can browse a Boomi Runtime cloud . This option is retired. If set, it automatically changes to "onpremise".
      • “any” — The connector can browse a local Atom or Runtime cloud . This option is retired. If set, it automatically changes to "onpremise".
  • @dateTimeFormat (string): This is an Optional attribute with dateTime format pattern for generated profiles (follows the rules for SimpleDateFormat). This attribute is retired. Use profileTypeMappings.

  • description (string): A text string describing the connector. This text does not appear in Integration and is optional.

  • section (SectionConfig): A section with type="page" creates a dedicated tab within the Connection UI. Connection fields are grouped and displayed within these tabs by referencing the section's unique identifier, enabling logical organization of related fields. While sections are limited to a maximum of three sections, each section can contain an unlimited number of fields. Sections can only be applied to connection fields and their order is defined by their order of definition in the descriptor.

    • @id (string): Required identifier, must be alphanumeric and can start with a letter/underscore. It can contain underscores, hyphens, and periods.
    • @title (string): Required and displayed on the tab and header of the screen. Maximum length of 40 characters.
    • @type (enum): Required. Only option available is page.
    • helptext (string): Optional instructional text to guide configuration of the section. There are no restrictions on length or white space within the text.
  • field (ConnectionFieldConfig): Zero or more fields containing information a developer can utilize during browse (if supported) and operation execution, typically including configuration information such as a username and password. The developer can access the connection fields as part of the Connector Context (see the Javadocs) with getConnectionProperties( ), and this context is passed into the Connector.createOperation and Connector.createBrowser (if @ requireConnectionForBrowse is set to true). You can declare the following attributes and elements:

    • @id (string): The required name of the field passed as the connector's property key.

    • @label (string): An optional text string that displays in Integration for this field. If not defined, the id is used.

    • @type (enum): This is the required property value type passed to the connector in the property map. This attribute controls how the input to the field appears in Integration. For example, a string field appears as a text box, and a boolean appears as a check box.

      note

      Some fields having the @type of "string", "boolean", and "integer" can be used to control and determine the visibility of other fields, based on their value, utilizing visibilityCondition.

      TypeDescriptionScope
      "string"Any arbitrary text string. The data type you get in your connector code is String, and corresponds to the data type returned when these fields are accessed in your connectorboth a connection and operation field
      “boolean”A Boolean value. The data type you get in your connector code is Boolean, and corresponds to the data type returned when these fields are accessed in your connector.both a connection and operation field
      “password”Any arbitrary text string determining that this field appears in Integration as a password to protect the sensitive nature of the field. Data is type String. All password values are encrypted. This type is useful for sensitive information.both a connection and operation field
      “integer”An integral value. Data type is Long.both a connection and operation field
      “privatecertificate”A private Certificate component for the connection. A component chooser displays in Integration. Data type is com.boomi.connector.api.PrivateKeyStore (see the Javadocs).can only be set for a connection field; it cannot be set for an operation field
      “publiccertificate”A public (trusted) Certificate component for the connection. A component chooser displays in Integration. Data type is com.boomi.connector.api.PublicKeyStore (see the Javadocs).can only be set for a connection field; it cannot be set for an operation field.
      "oauth"Use to enable OAuth 2.0 support for the connection. To enable OAuth 2.0, you must define an OAuth2FieldConfig configuration object (defined below). When enabled, an OAuth 2.0 tab appears when creating a connection, users can enter OAuth 2.0-specific authentication details (Client ID, Client Secret, Authorization Token URL, Scope, etc.), and you can use the generated access token in your code. When accessing this property, the return type is OAuth2Context (see the Javadocs).Can only be set for a connection field; it cannot be set for an operation field. Fields of this type cannot be organized into custom sections in the Connection UI.
      "customproperties"Use to capture key-value pairs in the connector. To enable key-value pairs, you may optionally define a CustomPropertiesFieldConfig (see the Javadocs) configuration object (defined below). When defined, you can block certain keys from being defined and prevent those keys from being used in the connector.both a connection and operation field
      note
      • There is no limit on the number of custom properties fields, however, there is a maximum of 50 key-value pairs that can be declared per field.

      • You can use properties fields and key-value pairs in the connection, operation, during browse (using the Import Wizard), and in the Environment Extensions dialog (Connection Settings tab).

      • To learn how to update and retrieve custom properties fields using the Boomi Enterprise Platform API, see the topics Environment Extensions object and Working with the Environment Extensions object.

    • @displayType (enum): Provides the ability to add user interface elements for selection.

      TypeDescription
      "list" — (Default)Displays the list of allowed values as a drop-down list. Only affects "integer" and "string" field types, and the allowedValue.
      "radio"Displays the list of allowed values as radio buttons. Only affects "integer" and "string" field types, and the allowedValue.
      "textarea"Displays text areas with greater visibility and higher character limits. This value is restricted to "string" input fields on the connection, operation, and browse screens.
    • @formatRegex (string): Optional Java Regular Expression which must match any valid value for this field.

      Attention

      The optional format of regular expression is currently not supported.

    • @sectionId (string): This attribute can be used to associate the field with a specific tab by referencing the unique identifier of an existing section. When this attribute is omitted, the field appears in the default connection tab in its declaration order.

    • helpText (string): Optional help text displayed for the field.

    • defaultValue (anySimpleType): Optional default value for this field, providing the field's default value in when possible. This value must be valid for the data type or list of allowed values.

    • allowedValue (AllowedValueConfig): Optional set of allowed values for this field. If specified, selection in is restricted to one of these values. These values must be valid for the data type.

    • customPropertiesConfiguration (CustomPropertiesFieldConfig): An optional configuration specific to “customproperties” type fields. For example, you can set customHeaderKey, customHeaderValue, customAddButton and the ability to hide/show the Encrypt column in the custom Properties table by setting keyLabel (default "Key"), valueLabel (default "Value"), addButtonLabel (default "Add Property"), and allowValueEncryption (default "true").

    • blacklistedKey (string): Optional set of restricted keys for the field. Keys are case insensitive and will be marked invalid when specified in a custom properties key.

      Attention

      This element is deprecated and will be retired at a future date. We recommend that you use restrictedKey

    • restrictedKey (string): Optional set of restricted keys for the field. Keys are case insensitive and will be marked invalid when specified in a custom properties key. When attempting to use a restricted key, a warning appears, indicating that the key is restricted. The key is not saved.

    • oauth2FieldConfig (OAuth2FieldConfig): Specific information for OAuth credential options that are needed in the Platform when configuring a connection. This is needed when a field is configured with the data type "oauth". You can configure the following elements within it:

      • authorizationTokenEndpoint (OAuth2EndpointFieldConfig): The endpoint parameters for the authorization server where the resource owner grants authorization to the client application. The child elements are url (described below) and helpText, defaultValue, and allowedValue (described above).

        • url (SubFieldConfig): The URL of the endpoint on the authorization server.
      • authorizationParameters (OAuth2RequestParameterFieldConfigs): Additional required parameters to interact with the authorization endpoint.

        • @access (FieldAccess): Defines the accessibility of all the parameters. The default is ENABLED.

        • parameter (string): A sub-field that defines the parameter value.

          • @name (string): The parameter name.

          • value (SubFieldConfig): The parameter value.

      • accessTokenEndpoint (OAuth2EndpointFieldConfig): The endpoint on the authorization server. The values that are exchanged depend on the grant type. For example, authorization code uses the accessTokenEndpoint to exchange the authorization code, client ID, and client secret for an access token. The required parameters are the same as those for authorizationParameters.

      • accessTokenParameters (OAuth2RequestParameterFieldConfigs): Additional or custom OAuth token parameters required by the application as specified by the access attribute and the parameter child element.

      • scope (SubFieldConfig): URL list of permissions (space-delimited) defining the access range and permission restrictions to protected resources. You can specify a default value using defaultValue.

      • grantType (SubFieldConfig): Defines how an application gets an OAuth 2.0 access token for client authentication to protected cloud resources. You can limit the grant types a user can select by not including a label and value. If a default value is specified using defaultValue, ensure the default grant type is in the list of allowable OAuth2 grant types.

        • @allowedValue label: Defines the label to appear in the Grant Type drop-down list in the connection for the OAuth 2.0 Authentication Type. Valid labels are Authentication Code, Resource Owner Credentials, Client Credentials, and JWT Bearer Token.

        • value: Defines the value for the label. For Authorization Code, enter the code. For Resource Owner Credentials, enter the password. For Client Credentials, enter client_credentials. For JWT Bearer Token, enter jwt-bearer.

        • jwtParameters: Configuration for the OAuth2 JWT Assertion Parameters.

        • signatureAlgorithms (SubFieldConfig): Defines the algorithm used to sign the token.

        • issuer (SubFieldConfig): Identifies the principal issuing the claim.

        • subject (SubFieldConfig): Identifies the principal that is the subject of the claim.

        • audience (SubFieldConfig): Identifies who the token is intended for.

        • expiration (SubFieldConfig): Identifies the duration in milliseconds (ms) in which the token is valid.

        • signatureKey (SubFieldConfig): Identifies the signature key used to sign the token.

        • extendedClaims: Private or public claims which must be included in the JWT Bearer Token authorization.

          • claim: Sub-field configuration for a collection of request parameters.

            • value (SubFieldConfig): Sub-field configuration for the value of the parameter.
          • @name: The name of the parameter.

          • @access: Defines the accessibility of all the parameters. Defaults to {@link FieldAccess#ENABLED}.

        • idGeneratorMethods: (SubFieldConfig) Identifies the mechanism by which a unique token is provided.

    • SubFieldConfig: The specification for a sub-field (of a complex structure field) of information necessary to make a connection. The child elements are helpText, defaultValue, and allowedValue.

      • helpText (string): Optional help text displayed for the sub-field in Integration.

      • defaultValue: Optional default value for the sub-field in Integration. The value must be valid for the data type.

      • allowedValue: Optional set of allowed values for the sub-field. If specified, the selection in Integration is restricted to one of these values. The values must be valid for the data type.

    • visibilityCondition (optional): Provides the ability to add conditional fields for connection fields, operation fields, and fields appearing when browsing (Import Wizard) having the @type of "string", "boolean", and "integer". With conditional fields, you can determine whether a field appears, or does not appear, based on the selection and value of another field. You can add conditional fields based on the values of checkboxes, radio buttons, and drop-down lists.

      note

      For information about implementing conditional fields, including supported features, things to be aware of, and descriptor file examples, see the topic Implementing conditional fields.

    • valueCondition: Defines the value condition to be met for the field to appear.

      • @fieldId — Required ID of the field, determining the visibility of another field.
      • value — Required value of the field, determining the visibility of another field.

TestConnection config

  • testConnection(TestConnectionConfig): Provides the ability to perform a Test Connection. This XML element is optional, and you only need to add it when you want to add a Test Connection button in Integration when configuring a connection.

    Sample configuration
    <testConnection method="GET_OBJECT_TYPES" operationType="CREATE" />

    <testConnection method="GET_OBJECT_DEFINITIONS" operationType="QUERY" objectType="account">
    <fieldValue id="useRestAPI">true</fieldValue>
    </testConnection>

    <testConnection method="CUSTOM" />

You can declare the following attributes and elements:

  • @method(enum): Required attribute which describes which method to use to perform a Test Connection. Valid values are:

    • "GET_OBJECT_TYPES"
    • "GET_OBJECT_DEFINITIONS", and
    • "CUSTOM"
    Method TypeMethod to executeJavadocs
    "GET_OBJECT_TYPES"Execute Browser.getObjectTypes( )(see the Javadocs) to perform a Test Connection.
    "GET_OBJECT_DEFINITIONS"Execute Browser.getObjectDefinitions(objectTypeId, roles)(see the Javadocs) to perform Test Connection.
    "CUSTOM"Execute a Test Connection by calling ConnectionTester.testConnection( )(see the Javadocs).

    Unlike other methods, the custom method does not share browsing code with a Test Connection. The testConnection() method should be dedicated to perform only test connection. The class implementing the Browser interface will also need to implement the ConnectionTester interface to override the testConnection() method.

  • @operationType (string): Optional attribute which sets the operation type to be used when a Test Connection is performed. Values for this attribute should be equal to any of the existing operation types that exist in the connector descriptor. If the @operationType is not set, the default is set to GET.

  • @customOperationType (string): Optional attribute which sets the custom operation type to be used when a Test Connection is performed. Values for this attribute should be equal to any of the existing customTypeId for a custom operation.

  • @objectType (string): Optional attribute which sets the value for the objectTypeID parameter when the getObjectDefinitions method (see the ) is used to perform a Test Connection. Required when the method is "GET_OBJECT_DEFINITIONS".

  • fieldValue (FieldValueConfig): Optional element for providing default values for operation fields when performing a Test Connection. The following code snippet illustrates how the value is put into the element:

    <fieldValue id="myId">Value_goes_here</fieldValue>
    • @id: This value should be equal to any existing @id attribute for OperationFieldConfig. The field that is used here should belong to the operation type that is specified in the testConnection element. Operation elements, attributes, and nested elements

Operation config

operation (OperationConfig): One or more configuration blocks for the operations that the connector supports. Even if no additional configuration is necessary for various operations, the union of all the OperationTypes in the given OperationConfigs defines the operations supported by the connector. The connector must define at least one configuration.

  • @types (string): The set of types for which this operation applies. This data is represented as a string containing a pipe-separated list of OperationTypes (see the Javadocs) (e.g. "GET|QUERY|UPDATE") and supports the asterisk "*" character to indicate all method types.

  • @customTypeID: (NCName) If @types is set to Execute, this attribute can be set to define a custom operation, which can have its own supportsBrowse value set.

  • @customTypeLabel: (string) If @customTypeID is set, this attribute can be set to specify a label to appear in Integration as the operation action. If blank, the @customTypeID value appears as the label.

  • @trackedDocument: (TrackedDocument) If @trackedDocument is set, you can choose the document tracking direction for write and Execute operations. If @trackedDocument is applied to a base operation multiple times, the first declaration will be applied. For custom operations, multiple custom operations can extend the same base operation with different tracking requirements. For example, one custom operation based on Execute may track input documents while the second tracks output. If a descriptor contains multiple custom operations based off the same type (such as Execute) with different @trackedDocument values, it will honor the specific values.

    If @trackedDocument is not set, the operation uses the default value.

    • The default value of Create, Update, Upsert, Delete, and Execute is "request".

    • The default value of Get and Query is "response".

    • Start Shape operations have no input, so they remain unchanged and cannot have a value other than their default, "response".

    If @trackedDocument is set to "user", the Tracking Direction field is available and the user can choose the tracking direction on an operation-by-operation basis.

  • @supportsBrowse (Boolean): Specifies whether importing an object profile is supported. If true (the default), the Import button is displayed enabling users to create a Request or Response profile. If false, a Request or Response panel is not displayed on the operation panel in Integration.

Attention

Setting @supportsBrowse to true will not enable users to create a Request profile for Get, Listen, and Query operations. Request Profile Unstructured will not display for those operations regardless of what you set @supportsBrowse to.

  • @inputType (enum): The type of input data associated with the specified operation @types.

    • "binary" (default) — Unstructured data.

    • “none” — There is no input data associated with the specified operation @types.

Attention

The attribute value is ignored if @supportsBrowse is true. Additionally, @inputType is only needed when the type of input data is binary or none. Otherwise, the browse handles JSON and XML.

  • @outputType (enum): The type of output data associated with the specified operation @types.

    • "binary" (default) — Unstructured data.

    • “none” — There is no output data associated with the specified operation @types.

    Attention

    The attribute value is ignored if @supportsBrowse is true. Additionally, @outputType is only needed when the type of output data is binary or none. Otherwise, the browse handles JSON and XML.

  • @allowFieldSelection (Boolean): Whether the specified operation @types support user-defined field selection to determine which fields are returned in the response. There still needs to be an implementation provided on the connector specifying what needs to be done with the selected fields. Default is false.

  • @fieldSelectionLevels (integer): The number of levels below the root object for which field selection is enabled. Default is 2. The maximum value allowed is 3 for the platform to keep a resonable number of objects displayed on the query screen.

  • @fieldSelectionNone (Boolean): Sets the global default so that no fields are selected. Default is false.

  • <browseConfiguration>: An optional field for using custom object types in the connector descriptor.

  • field (OperationFieldConfig): Zero or more fields that are necessary to execute specific operations using a connector. The values the user enters for these fields is provided to the various Connector (see the Javadocs) operation methods. If the @includeInBrowse property is enabled for a given field, the property is also provided to the Browser methods (see the Javadocs).

    Attention

    All the attributes and elements for connection fields (ConnectionFieldConfig previously described) are also valid and applicable for operation fields. In addition, the following attributes are specific to operation fields:

    • @scope (enum): Indicates whether the field is included in browse and operation panels in Integration:

      • "browseOnly" — Include the field only in browse panels.

      • “operationOnly” (default) — Include the field only in operation panels.

      • “both” — Include the field in both browse and operation panels.

Attention

For backward compatibility, if the retired attribute @includeInBrowse for an operation is set to true instead of false (the default), a @scope value of “browseOnly” or “operationOnly” does not have any affect on that operation.

  • @includeInBrowse (Boolean): If true, this field is included in browse operations for the relevant method of a connector. The default is false.
Attention

This attribute is retired. Use @scope.

  • @overrideable (boolean): If set to true, the Connector Shape’s dialog displays the Dynamic Operations Properties tab once the user selects the connector and supported operation. Overrideable enables the user to set document-level overrides that they define values for. These values are passed into the Connector shape to modify an operation component’s default values. Dynamic operation properties and their values only affect the selected shape’s operation.

Not every field is overrideable. Follow these guidelines to determine if a field is overrideable:

  • @includeInBrowse is false
Attention

This attribute is retired. Use @scope.

  • scope has a value of "operationOnly" or "both"
  • Overrideable attribute for the operation's OperationFieldConfig is set to "true".
  • The field type is string, boolean, integer, or custom properties, and is able to be overridden.
note

The Connector SDK artifacts available from the public repository contain a connector-sdk-samples-sources JAR file, containing source code for some connector samples you can reference when building a connector. The samples project contains an example demonstrating how to set document-level overrides when browsing and how to access the properties at execution time.

  • queryFilter (QueryFilterConfig): Configuration for the content of a queryFilter passed to a query operation. This information is ignored on any OperationConfig that does not include the QUERY type. For more information about queryFilter, see the section Query filter descriptor content.

  • dynamicProperty: When enabled, users can set a document property that extends connector configuration information like fileName, fileKey, or folder. For information about document properties, see the topic Including additional information and metadata in documents.

  • trackedProperty (TrackedPropertyConfig): List available fields for a connector that a user can track. For information about tracked properties, see the topic Including additional information and metadata in documents.

  • trackedGroup (TrackedGroupConfig): Declare zero to many trackedGroup(s). Process builders can use the tracked group in shapes utilizing the get parameter. For a value to be fetched, the key must need known for a specific group. Developers should include the data with PayloadMetadata. You can view sources online in the

  • profileTypeMappings (ProfileTypeMappings): Default data type mappings are valid across all operations. For more information, see the topic Data type mappings.

  • <objectTypes>: Must be provided when <browseConfiguration> is not empty. There is a limit of 50 object types, but this can be overrided by using the platform property connectorDescriptorMaxBrowseObjectsAllowed.

    • @objectIds: Must be provided when @objectTypes is not empty.
    • @labels: An optional text string to describe @objectTypes.

Query filter descriptor content

You can include multiple QueryFilterConfig elements in the connector descriptor. Integration uses the first one that is defined on an OperationConfig, which includes the Query operation, and ignore any others.

note

See the topic Query operation field selection, filtering, and sorting for information about using the Query operation to filter, sort, and select fields.

Elements are enclosed in "<>", while attributes are prefixed with an "@".

  • GenericConnectorDescriptor.operation.queryFilter (QueryFilterConfig): Configuration which describes how users can build query expressions for the connector's Query operation.

    • @grouping (enum): The type of grouping/nesting supported by the query operation using the logical operators AND and OR. Defaults to "any".

      • "none" — The QueryFilter supports no groupings (only one expression allowed).

        Example:

        (foo lessThan 30)
      • "any" — The QueryFilter supports any arbitrary grouping and nesting of AND's and OR's.

        Example:

        ((foo lessThan 30) OR (baz lessThan 42) OR ((bar isNull) AND (bazz isNotNull))) AND (buzz greaterThan 55)
      • "noNestingImplicitOr" — The QueryFilter supports any number of non-nested expressions which will be OR'ed together.

        Example:

        ((foo lessThan 30) OR (baz lessThan 42))
      • "noNestingImplicitAnd" — The QueryFilter supports any number of non-nested expressions which will be AND'ed together.

        Example:

        ((foo lessThan 30) AND (baz lessThan 42))
      • "singleNestingImplicitOr" — The QueryFilter supports one level of nesting, where the top level groupings will be OR'ed together and the nested expression groups will be AND'ed together.

        Example:

        ((foo lessThan 30) AND (baz lessThan 42)) OR (buzz greaterThan 55)
      • "singleNestingImplicitAnd" — The QueryFilter supports one level of nesting, where the top level groupings will be AND'ed together and the nested expression groups will be OR'ed together.

        Example:

        ((foo lessThan 30) OR (baz lessThan 42)) AND (buzz greaterThan 55)
    • @sorting (enum): The type of sorting supported by the query operation. Defaults to "none".

      • "none" — The query operation does not support sorting.

      • "one" — The query operation supports one sorting statement.

      • "unbounded" — The query operation supports any number of sorting statements.

    • operator (SimpleExpressionOperatorConfig): One or more operators supported by the query operation.

      • @id (string): The actual name of the operator which will be passed to the query operation.

      • @label (string): Optional text string to display in Integration for the operator. If not defined, the id will be used.

      • @numArguments (integer): The number of arguments used by the operator (besides the property name). Examples:

        • A (foo isNull) expression would have 0 arguments.
        • A (foo lessThan value) expression would have 1 argument.
        • A (foo between low high) expression would have 2 arguments (where "foo" is the property name). Defaults to 1.
      • helpText (string): Optional help text displayed for the operator in Integration.

      • supportedType (OperatorConfigDataType): Optional data type(s) to limit the query filter operators available by field type.

        • type: (string) The data type of the fields that allow this operator (required).

        • typeNamespace: (string) Optional namespace for ambiguous types.

    • sortOrder: (SimpleSortOrderConfig) Zero or more sort orders supported by the query operation.

      • @id: (string) The actual name of the sort order which will be passed to the query operation.

      • @label: (string) Optional text string to display in Integration for the sort order. If not defined, the id will be used.

      • supportedType: (OperatorConfigDataType) Optional data type(s) to limit the query sort operators available by field type.

        • type (string): The data type of the fields that allow this operator (required).

        • typeNamespace (string): Optional namespace for ambiguous types.

Data type mapping descriptor content

Data type mappings specified in the connector descriptor serve as defaults for all operations supported by the connector. You can override the default mappings for individual operations by applying annotations to elements, attributes, or simpleType definitions in the object definition schema.

Elements are enclosed in "<>", while attributes are prefixed with an "@".

  • GenericConnectorDescriptor.profileTypeMappings: (ProfileTypeMappings) Container for the section of the connector descriptor file in which default mappings can be specified.

    • profileTypeMapping: (ProfileTypeMapping) Specifies a default mapping. Repeat this element as many times as needed.

      • @ns: (string) Required URL of the namespace.

      • @type: (string) Required simple type, as represented in a simpleType element in the object definition.

      • @boomiType: (enum) Boomi type to which to map @type. Allowable values:

        • "character"

        • "dateTime"

        • "number"

      • @format: (string) format applicable to @boomiType values “dateTime” and “number” — for example, “mm-dd-yyyy”.

The following is an example of a mapping specified in a connector descriptor file:

<profileTypeMappings>
<profileTypeMapping ns="http://www.w3.org/2001/XMLSchema" type="dateTime" boomiType="datetime" format="mm-dd-yyyy" />
</profileTypeMappings>

The default mapping for date, time and datetime simple types is to the Boomi date/time format — yyyy-MM-dd'T'HH:mm:ss.SSSZZ.

On this Page