---
schema_version: "1"
id: df2a37837549977143e55bbafcf2beff8131f2d3735e88fd786a852aef8be9d6
title: IntegrationProviderDef
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_integrationproviderdef.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_integrationproviderdef.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 9556626c04a52f8c98ffd2e349caa3896fa798bea865ec6c9736dd6147a4e801
description: "Represents an integration definition associated with a service process. Stores data for the Industries: Send Apex Async Request and Industries: Send External Async Request invocable actions."
---
# IntegrationProviderDef

Represents an integration definition associated with a service process. Stores data for the Industries: Send Apex Async Request and Industries: Send External Async Request invocable actions.

## Parent Type

This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field.

## File Suffix and Directory Location

IntegrationProviderDef components have the suffix .integrationProviderDefinition and are stored in the .integrationProviderDefinition folder.

## Version

IntegrationProviderDef components are available in API version 57.0 and later.

## Special Access Rules

Access to the IntegrationProviderDef type requires the AccessToServiceProcess permission.

## Fields

| Field Name | Description |
| --- | --- |
| active | 
Field Type

boolean

Description

Specifies whether this Integration Definition is active. The default is false.



 |
| apexClass | 

Field Type

string

Description

The custom Apex class that the related Industries: Send Apex Async Request invocable action invokes. Specify either apexClass or fileBasedApexClass but not both. Applies only if the type is Apex.



 |
| description | 

Field Type

string

Description

A meaningful explanation of the Integration Definition.



 |
| developerName | 

Field Type

string

Description

Required.

A system name for the Integration Definition.



 |
| externalServiceOperationName | 

Field Type

string

Description

The external service operation that the related Industries: Send External Async Request invocable action invokes. Applies only if the type is LowCode.



 |
| externalServiceRegistration | 

Field Type

string

Description

The external service that the related Industries: Send External Async Request invocable action invokes. Applies only if the type is LowCode.



 |
| fileBasedApexClass | 

Field Type

string

Description

The Salesforce-provided Apex class that the related Industries: Send Apex Async Request invocable action invokes. Specify either apexClass or fileBasedApexClass but not both. Applies only if the type is Apex.



 |
| fileBasedExternalService | 

Field Type

string

Description

The Salesforce-provided external service that the Integration Definition invokes. This field is used for packaged or system-provided external service integrations. Applies only if the type is LowCode.

Available in API version 64.0 and later.



 |
| fileBasedInputDataProcessor | 

Field Type

string

Description

The Salesforce-provided Integration Procedure that processes the specified data. This field references packaged or system-provided data processors. Applies only if the type is LowCode.

Available in API version 64.0 and later.



 |
| fileBasedOmniUiCard | 

Field Type

string

Description

The Salesforce-provided OmniStudio UI Card that's associated with this Integration Definition. This enables packaged UI components for integration configuration.

Available in API version 64.0 and later.



 |
| fileBasedOutputDataProcessor | 

Field Type

string

Description

The Salesforce-provided Integration Procedure that processes the returned data. This field references packaged or system-provided output processors. Applies only if the type is LowCode.

Available in API version 64.0 and later.



 |
| inputDataProcessor | 

Field Type

string

Description

The optional Integration Procedure that processes the sent data. Applies only if the type is LowCode.



 |
| integrationProviderAttributes | 

Field Type

[IntegrationProviderAttr\[\]](#IntegrationProviderAttr)

Description

Custom attributes that store data associated with an Integration Definition.



 |
| javaClassName | 

Field Type

string

Description

Name of the Java class that the Integration Definition invokes. Applies only if the type is Java.

Available in API version 59.0 and later.



 |
| outputDataProcessor | 

Field Type

string

Description

The optional Integration Procedure that processes the returned data. Applies only if the type is LowCode.



 |
| providerLabel | 

Field Type

string

Description

Required.

A meaningful name for the Integration Definition.



 |
| type | 

Field Type

DefinitionType (enumeration of type string)

Description

Required.

What the Integration Definition calls, either an Apex class or an external service.

Values are:

- Apex
- Java
- LowCode





 |

## IntegrationProviderAttr

A custom attribute that stores data associated with an Integration Definition.

| Field Name | Description |
| --- | --- |
| dataType | 
Field Type

AttrDataType (enumeration of type string)

Description

Required.

The data type of the attribute.

Values are:

- Date
- DateTime
- Double
- Integer
- Percentage
- String
- Boolean





 |
| dateTimeValue | 

Field Type

dateTime

Description

The value of the attribute if the dataType is DateTime.



 |
| dateValue | 

Field Type

date

Description

The value of the attribute if the dataType is Date.



 |
| description | 

Field Type

string

Description

A meaningful explanation of the attribute.



 |
| developerName | 

Field Type

string

Description

Required.

A system name for the attribute.



 |
| doubleValue | 

Field Type

double

Description

The value of the attribute if the dataType is Double.



 |
| integerValue | 

Field Type

int

Description

The value of the attribute if the dataType is Integer.



 |
| label | 

Field Type

string

Description

Required.

A meaningful name for the attribute.



 |
| percentageValue | 

Field Type

double

Description

The value of the attribute if the dataType is Percentage.



 |
| required | 

Field Type

boolean

Description

Required.

Specifies whether the attribute is required.



 |
| stringValue | 

Field Type

string

Description

The value of the attribute if the dataType is String.



 |
| trueOrFalseValue | 

Field Type

boolean

Description

The value of the attribute if the dataType is Boolean.



 |

## Declarative Metadata Sample Definition

The following is an example of an IntegrationProviderDef component.

<?xml version="1.0" encoding="UTF-8"?>
<IntegrationProviderDef xmlns="http://soap.sforce.com/2006/04/metadata">
   <developerName\>EmailUpdate</developerName\>
   <providerLabel\>EmailUpdate</providerLabel\>
   <type\>Apex</type\>
   <apexClass\>SendEmailUpdate</apexClass\>
   <integrationProviderAttributes\>
      <developerName\>EmailAddress</developerName\>
      <label\>EmailAddress</label\>
      <dataType\>String</dataType\>
      <stringValue\>person@example.com</stringValue\>
      <required\>true</required\>
   </integrationProviderAttributes\>
</IntegrationProviderDef\>

The following is an example package.xml that references the previous definition.

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types\>
        <members\>\*</members\>
        <name\>IntegrationProviderDef</name\>
    </types\>
    <version\>57.0</version\>
</Package\>

## Wildcard Support in the Manifest File

This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "The deploy() and retrieve() calls are used to deploy and retrieve a .zip file. Within the .zip file is a project manifest (package.xml) that lists what to retrieve or deploy, and one or more XML components that are organized into folders.").