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.
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>
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 totrue, connector browsing requires a connection. TheBrowseContext.getConnectionProperties(see the Javadocs) map contains the necessary connection fields. The default isfalse. This attribute is for connectors that require user connection information, such as login credentials, to access object browsing information. -
@disableDefaultObjectTypeFilter(Boolean): If set totrue, 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 totrue, browsing with this connector works only when the connector is running on a Runtime installed within the user's infrastructure. The default isfalse. 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 withdateTimeformat pattern for generated profiles (follows the rules for SimpleDateFormat). This attribute is retired. UseprofileTypeMappings.
Connection-related field elements and attributes
-
description(string): A text string describing the connector. This text does not appear in Integration and is optional. -
section(SectionConfig): A section withtype="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) withgetConnectionProperties( ), and this context is passed into theConnector.createOperationandConnector.createBrowser(if@ requireConnectionForBrowseis set totrue). 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.noteSome fields having the
@typeof "string", "boolean", and "integer" can be used to control and determine the visibility of other fields, based on their value, utilizingvisibilityCondition.Type Description Scope "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 connector both 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.Type Description "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.AttentionThe 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 settingkeyLabel(default "Key"),valueLabel(default "Value"),addButtonLabel(default "Add Property"), andallowValueEncryption(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.AttentionThis 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 areurl(described below) andhelpText,defaultValue, andallowedValue(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 theaccessTokenEndpointto 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 usingdefaultValue. -
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 usingdefaultValue, 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 arehelpText,defaultValue, andallowedValue.-
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@typeof "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.noteFor 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 Type Method to execute Javadocs "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 theConnectionTesterinterface to override thetestConnection()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@operationTypeis 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 existingcustomTypeIdfor 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@idattribute forOperationFieldConfig. The field that is used here should belong to the operation type that is specified in thetestConnectionelement. 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@typesis set toExecute, this attribute can be set to define a custom operation, which can have its ownsupportsBrowsevalue set. -
@customTypeLabel: (string) If@customTypeIDis set, this attribute can be set to specify a label to appear in Integration as the operation action. If blank, the@customTypeIDvalue 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
@trackedDocumentis 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
@trackedDocumentis 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. Iftrue(the default), the Import button is displayed enabling users to create a Request or Response profile. Iffalse, a Request or Response panel is not displayed on the operation panel in Integration.
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.
-
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.
AttentionThe attribute value is ignored if
@supportsBrowseistrue. Additionally,@outputTypeis only needed when the type of output data isbinaryornone. Otherwise, the browse handles JSON and XML. -
-
@allowFieldSelection(Boolean): Whether the specified operation@typessupport 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 isfalse. -
@fieldSelectionLevels(integer): The number of levels below the root object for which field selection is enabled. Default is2. The maximum value allowed is3for 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 isfalse. -
<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@includeInBrowseproperty is enabled for a given field, the property is also provided to the Browser methods (see the Javadocs).AttentionAll 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.
-
-
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): Iftrue, this field is included in browse operations for the relevant method of a connector. The default isfalse.
This attribute is retired. Use @scope.
@overrideable(boolean): If set totrue, 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:
@includeInBrowseisfalse
This attribute is retired. Use @scope.
scopehas a value of "operationOnly" or "both"- Overrideable attribute for the operation's
OperationFieldConfigis set to "true". - The field type is string, boolean, integer, or custom properties, and is able to be overridden.
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 aqueryFilterpassed to a query operation. This information is ignored on any OperationConfig that does not include theQUERYtype. For more information aboutqueryFilter, 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 propertyconnectorDescriptorMaxBrowseObjectsAllowed.@objectIds: Must be provided when@objectTypesis 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.
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 operatorsANDandOR. 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 andOR'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 beAND'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 beOR'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.
- A
-
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 asimpleTypeelement in the object definition. -
@boomiType: (enum) Boomi type to which to map@type. Allowable values:-
"character"
-
"dateTime"
-
"number"
-
-
@format: (string) format applicable to@boomiTypevalues “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.