- Update a data connector
Update an existing data connector. Only provided fields are changed. Set state to live or draft to change the connector's state.
OAuth tokens must have the read_write_data_connectors scope.
Intercom API version.
If you omit the header, the API uses the version set in your app package, and 1.0 if none is set.
The internal description of the data connector. If omitted, it keeps its current value, unless the connector has no internal description yet, in which case it is set to the connector's description.
The HTTP method used by the data connector.
The URL of the external API endpoint. Supports template variables like {{order_id}}.
The audience types this connector targets.
[ "leads", "users" ]
The input parameters accepted by this data connector. Replaces all existing inputs.
Whether OTP authentication is enabled for this connector.
Whether authentication is enforced. On workspaces where this is supported, it takes precedence over customer_authentication and bypass_authentication when sent together, and setting it to false disables OTP.
Whether to validate missing attributes before execution.
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/{id}
- The european API serverhttps://api.eu.intercom.io/data_connectors/{id}
- The australian API serverhttps://api.au.intercom.io/data_connectors/{id}
- Update basic fields
- Set a connector to live
- Set a connector to draft
- Update with mock response
curl -i -X PATCH \
https://api.intercom.io/data_connectors/12345 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: 2.17' \
-d '{
"name": "Updated Connector Name",
"description": "Updated description"
}'Data connector updated
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" ]
The expected response format from the connector.
The type of data transformation applied to the response.
The code block used to transform the connector's response. Present only when data_transformation_type is code_block_transformation and a code block exists; otherwise omitted.
{ "code": "def transform(response):\n return {\"status\": response[\"order_status\"]}\n\nreturn transform(inputs['data'])\n", "language": "python" }
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": "12345", "name": "Updated Connector Name", "description": "Updated description", "state": "draft", "headers": [], "http_method": "post", "direct_fin_usage": false, "audiences": [ "users", "leads" ], "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": false, "bypass_authentication": false, "enforce_auth": true, "validate_missing_attributes": false, "created_by_admin_id": "456", "updated_by_admin_id": "456", "created_at": "2025-11-15T09:30:00Z", "updated_at": "2026-03-24T14:22:15Z", "execution_results_url": "/data_connectors/12345/execution_results" }