The intercom API reference.
- Retrieve an execution result
Intercom API (Unstable)
AI Content
With the AI Content APIs, you can create and manage External Pages and Content Import Sources for your Fin Content Library.
External Pages are pages that you want Fin to be able to answer questions about. The API for External Pages is a great way to ingest into your Fin Content Library pages that are not publicly accessible and hence can't be crawled by Intercom.
Content Import Sources are the sources of those pages, and they are used to determine the default audience for the pages (configured via the UI). You should create a Content Import Source for each source of External Pages that you want to ingest into your Fin Content Library.
You can then iterate through the content from that source via its API and POST it to the External Pages endpoint. That endpoint has an external_id parameter which allows you to specify the identifier from the source. The endpoint will then either create a new External Page or update an existing one as appropriate.",
Custom Object Instances
Everything about your Custom Object instances.
From now on, to access this endpoint, you need additional permissions. Please head over to the Developer Hub app package authentication settings to configure the required permissions.
Data Connector
A data connector allows you to make HTTP requests to external APIs from Intercom workflows and AI agents.
A description of what this data connector does.
The HTTP method used by the data connector.
Where this data connector can be used.
The time the data connector was last updated.
{ "type": "data_connector", "id": "12345", "name": "Slack Notification Service", "description": "Posts conversation updates to Slack channel", "state": "live", "http_method": "post", "usage": "workflow_and_inbox", "created_at": "2025-11-15T09:30:00Z", "updated_at": "2026-01-20T14:22:15Z", "execution_results_url": "/data_connectors/12345/execution_results" }
Data Connector Execution Result
An execution result from a data connector HTTP request.
The type of object - data_connector.execution.
The unique identifier of the data connector that produced this result.
The HTTP method used for the request.
The type of error that occurred, if any.
A human-readable error message. Query parameters, userinfo, and fragments in URLs are redacted.
The type of source that triggered this execution.
The conversation associated with this execution, if any.
The request URL. Query parameters, userinfo, and fragments are redacted.
The request body sent to the external API.
{ "type": "data_connector.execution", "id": "99001", "data_connector_id": "12345", "success": true, "http_status": 200, "http_method": "post", "error_type": "3rd_party_error", "error_message": "Connection refused", "execution_time_ms": 245, "source_type": "workflow", "source_id": "5001", "conversation_id": "8001", "created_at": "2026-02-10T18:15:32Z", "request_url": "https://api.example.com/webhook", "request_body": "{\"message\": \"hello\"}", "response_body": "{\"status\": \"ok\"}", "raw_response_body": "{\"status\": \"ok\"}" }
Request
You can fetch a list of all data connectors for your workspace by making a GET request to https://api.intercom.io/data_connectors.
Data connectors allow you to make HTTP requests to external APIs from Intercom workflows and AI agents. Each connector in the response includes an execution_results_url for navigating to its execution logs.
- 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
- curl
- Node.js
- Ruby
- PHP
- Python
- Java
- Go
- C#
- R
curl -i -X GET \
https://api.intercom.io/data_connectors \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: Unstable'{ "type": "list", "data": [ { … } ] }
Request
Retrieve paginated execution logs for a specific data connector. Results from the last hour are returned by default. Use start_ts and end_ts to customize the time range.
Request/response bodies and request URL are excluded by default. Use include_bodies=true to include bodies. Use include_request_url=true to include the sanitised request URL.
Cursor for pagination. Use the value from pages.next.starting_after in a previous response.
Filter by error type.
Include request/response bodies in the response (default false).
- The production API serverhttps://api.intercom.io/data_connectors/{data_connector_id}/execution_results
- The european API serverhttps://api.eu.intercom.io/data_connectors/{data_connector_id}/execution_results
- The australian API serverhttps://api.au.intercom.io/data_connectors/{data_connector_id}/execution_results
- curl
- Node.js
- Ruby
- PHP
- Python
- Java
- Go
- C#
- R
curl -i -X GET \
'https://api.intercom.io/data_connectors/12345/execution_results?per_page=10&starting_after=string&success=true&error_type=request_configuration_error&start_ts=0&end_ts=0&include_bodies=true&include_request_url=true' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: Unstable'{ "type": "list", "data": [ { … }, { … } ], "pages": { "type": "pages", "per_page": 10, "next": { … } } }
- The production API serverhttps://api.intercom.io/data_connectors/{data_connector_id}/execution_results/{id}
- The european API serverhttps://api.eu.intercom.io/data_connectors/{data_connector_id}/execution_results/{id}
- The australian API serverhttps://api.au.intercom.io/data_connectors/{data_connector_id}/execution_results/{id}
- curl
- Node.js
- Ruby
- PHP
- Python
- Java
- Go
- C#
- R
curl -i -X GET \
https://api.intercom.io/data_connectors/12345/execution_results/99001 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: Unstable'successful
The type of object - data_connector.execution.
The unique identifier of the data connector that produced this result.
The HTTP method used for the request.
The type of error that occurred, if any.
A human-readable error message. Query parameters, userinfo, and fragments in URLs are redacted.
The type of source that triggered this execution.
The conversation associated with this execution, if any.
The request URL. Query parameters, userinfo, and fragments are redacted.
The request body sent to the external API.
{ "type": "data_connector.execution", "id": "99001", "data_connector_id": "12345", "success": true, "http_status": 200, "http_method": "post", "execution_time_ms": 150, "source_type": "workflow", "source_id": "5001", "conversation_id": "8001", "created_at": "2026-02-10T18:15:32Z", "request_url": "https://api.example.com/webhook", "request_body": "{\"channel\": \"#alerts\", \"text\": \"Conversation updated\"}", "response_body": "{\"ok\": true}", "raw_response_body": "{\"ok\": true}" }
Fin Agent
Access Fin programmatically via the Fin Agent API endpoints.
The Fin Agent API is currently under managed availability. Please reach out to your accounts team to discuss access and tailored, hands-on support.
Integration is centered around two endpoints (/fin/start and /fin/reply) and a set of webhook events that notify your application of Fin's status and responses.
Webhook Events
Configure a webhook endpoint in the Fin Agent API settings to receive events. See the setup guide for configuration details.
fin_status_updated- Fired when Fin's status changes (escalated, resolved, complete)fin_replied- Fired when Fin sends a reply to the user
All webhook requests include an X-Fin-Agent-API-Webhook-Signature header for request validation.
Reporting Data Export
Everything about Reporting Data Export. See this article for details on using the data to generate various metrics.