Create a new data connector. The connector is created in draft state. Configure its URL, headers, data inputs, and other settings, then set it to live when ready.
Intercom API version.
By default, it's equal to the version set in the app package.
A description of what this data connector does.
The HTTP method used when calling the external API.
The URL of the external API endpoint. Supports template variables like {{order_id}}.
Whether the connector is used directly by Fin (true) or only in workflows (false). Defaults to false.
The user types this connector is available for.
[ "leads", "visitors" ]
Whether the connector requires customer authentication before executing. Defaults to false.
Whether authentication is bypassed entirely (public endpoint). Defaults to false.
Whether to validate that all required data inputs have values before executing.
A sample JSON response from the external API. Auto-generates response_fields and sets configuration_response_type to mock_response_type.
{ "order": { "id": 12345, "status": "shipped" } }
- The production API serverhttps://api.intercom.io/data_connectors
- The european API serverhttps://api.eu.intercom.io/data_connectors
- The australian API serverhttps://api.au.intercom.io/data_connectors
- Data connector created
- Minimal - name only
- With mock response
curl -i -X POST \
https://api.intercom.io/data_connectors \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: 2.16' \
-d '{
"name": "Get Order Status",
"description": "Looks up order status from an external service",
"http_method": "get",
"url": "https://api.example.com/orders/{{order_id}}/status",
"direct_fin_usage": true,
"audiences": [
"leads",
"visitors"
],
"headers": [
{
"name": "Content-Type",
"value": "application/json"
}
],
"data_inputs": [
{
"name": "order_id",
"type": "string",
"description": "The order ID to look up",
"required": true,
"default_value": ""
}
],
"customer_authentication": true,
"bypass_authentication": false,
"validate_missing_attributes": true
}'Data connector created
A description of what this data connector does.
The URL of the external API endpoint. Supports template variables like {{order_id}}.
The request body template. Supports template variables.
HTTP headers for the request. Header values are always redacted as "****" in responses.
[ { "name": "Authorization", "value": "****" } ]
The HTTP method used by the data connector.
The audience types this connector targets.
[ "users", "leads" ]
How the connector executes.
The expected response format from the connector.
The type of data transformation applied to the response.
Timeout in milliseconds for the client function, if applicable.
Whether OTP authentication is enabled for this connector.
The time the data connector was last updated.
{ "type": "data_connector", "id": "125", "name": "Get Order Status", "description": "Looks up order status from an external service", "state": "draft", "http_method": "get", "direct_fin_usage": true, "audiences": [ "leads", "visitors" ], "execution_type": "server_side", "configuration_response_type": "test_response_type", "data_transformation_type": "full_access", "client_function_timeout_ms": 30000, "data_inputs": [ { … } ], "response_fields": [], "object_mappings": [], "token_ids": [], "customer_authentication": true, "bypass_authentication": false, "validate_missing_attributes": true, "created_by_admin_id": "128", "updated_by_admin_id": "128", "created_at": "2026-03-19T11:27:36Z", "updated_at": "2026-03-19T11:27:36Z", "execution_results_url": "/data_connectors/125/execution_results" }