The intercom API reference.
The intercom API reference.
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.",
An external source for External Pages that you add to your Fin Content Library.
Always external_page
The unique identifier for the content import source which is given by Intercom.
The time when the content import source was last synced.
If you intend to create or update External Pages via the API, this should be set to api
.
The status of the content import source.
The time when the content import source was created.
{ "type": "content_import_source", "id": 1234, "last_synced_at": 1672928610, "sync_behavior": "api", "status": "active", "url": "https://help.example.com/", "created_at": 1672928359, "updated_at": 1672928610 }
This will return a list of the content import sources for the App.
The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests.
Their responses are likely to contain a pages object that hosts pagination links which a client can use to paginate through the data without having to construct a query. The link relations for the pages field are as follows.
{ "type": "list", "pages": { "type": "pages", "page": 1, "next": "http://example.com", "per_page": 50, "total_pages": 1 }, "total_count": 1, "data": [ { … } ] }
External pages that you have added to your Fin Content Library.
Always external_page
The unique identifier for the external page which is given by Intercom.
The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.
Whether the external page should be used to answer questions by AI Agent.
Whether the external page should be used to answer questions by AI Copilot.
Deprecated. Use ai_agent_availability and ai_copilot_availability instead.
The unique identifier for the source of the external page which was given by Intercom. Every external page must be associated with a Content Import Source which represents the place it comes from and from which it inherits a default audience (configured in the UI). For a new source, make a POST request to the Content Import Source endpoint and an ID for the source will be returned in the response.
The identifier for the external page which was given by the source. Must be unique for the source.
The time when the external page was created.
The time when the external page was last updated.
{ "type": "external_page", "id": "1234", "title": "Getting started with...", "html": "<p>Hello world!</p>", "url": "https://help.example.com/en/articles/1234-getting-started", "ai_agent_availability": true, "ai_copilot_availability": true, "fin_availability": true, "locale": "en", "source_id": 1234, "external_id": "5678", "created_at": 1672928359, "updated_at": 1672928610, "last_ingested_at": 1672928610 }
This will return a list of external pages for the App.
The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests.
Their responses are likely to contain a pages object that hosts pagination links which a client can use to paginate through the data without having to construct a query. The link relations for the pages field are as follows.
{ "type": "list", "pages": { "type": "pages", "page": 1, "next": "http://example.com", "per_page": 50, "total_pages": 1 }, "total_count": 1, "data": [ { … } ] }
curl -i -X GET \
https://api.intercom.io/ai/content_import_sources \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: Unstable'
successful
The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests.
Their responses are likely to contain a pages object that hosts pagination links which a client can use to paginate through the data without having to construct a query. The link relations for the pages field are as follows.
{ "data": [ { … }, { … }, { … } ], "pages": { "type": "pages", "page": 1, "per_page": 50, "total_pages": 1 }, "total_count": 3, "type": "list" }
If you intend to create or update External Pages via the API, this should be set to api
.
The status of the content import source.
curl -i -X POST \
https://api.intercom.io/ai/content_import_sources \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: Unstable' \
-d '{
"sync_behavior": "api",
"url": "https://www.example.com"
}'
successful
Always external_page
The unique identifier for the content import source which is given by Intercom.
The time when the content import source was last synced.
If you intend to create or update External Pages via the API, this should be set to api
.
The status of the content import source.
The time when the content import source was created.
{ "id": 36, "type": "content_import_source", "last_synced_at": 1733320905, "status": "active", "url": "https://www.example.com", "sync_behavior": "api", "created_at": 1733320905, "updated_at": 1733320905 }
curl -i -X DELETE \
'https://api.intercom.io/ai/content_import_sources/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: Unstable'
{ "type": "error.list", "request_id": "3888806c-45c3-4588-8d1e-ca417ba7bf01", "errors": [ { … } ] }
curl -i -X GET \
'https://api.intercom.io/ai/content_import_sources/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: Unstable'
successful
Always external_page
The unique identifier for the content import source which is given by Intercom.
The time when the content import source was last synced.
If you intend to create or update External Pages via the API, this should be set to api
.
The status of the content import source.
The time when the content import source was created.
{ "id": 38, "type": "content_import_source", "last_synced_at": 1733320909, "status": "active", "url": "https://support.example.com/us/5", "sync_behavior": "api", "created_at": 1733320909, "updated_at": 1733320909 }
If you intend to create or update External Pages via the API, this should be set to api
. You can not change the value to or from api.
The status of the content import source.
curl -i -X PUT \
'https://api.intercom.io/ai/content_import_sources/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: Unstable' \
-d '{
"sync_behavior": "api",
"url": "https://www.example.com"
}'
successful
Always external_page
The unique identifier for the content import source which is given by Intercom.
The time when the content import source was last synced.
If you intend to create or update External Pages via the API, this should be set to api
.
The status of the content import source.
The time when the content import source was created.
{ "id": 39, "type": "content_import_source", "last_synced_at": 1733320910, "status": "active", "url": "https://www.example.com", "sync_behavior": "api", "created_at": 1733320910, "updated_at": 1733320910 }
curl -i -X GET \
https://api.intercom.io/ai/external_pages \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: Unstable'
successful
The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests.
Their responses are likely to contain a pages object that hosts pagination links which a client can use to paginate through the data without having to construct a query. The link relations for the pages field are as follows.
{ "data": [ { … }, { … }, { … } ], "pages": { "type": "pages", "page": 1, "per_page": 50, "total_pages": 1 }, "total_count": 3, "type": "list" }
The URL of the external page. This will be used by Fin to link end users to the page it based its answer on. When a URL is not present, Fin will not reference the source.
Whether the external page should be used to answer questions by AI Agent. Will not default when updating an existing external page.
Whether the external page should be used to answer questions by AI Copilot. Will not default when updating an existing external page.
The unique identifier for the source of the external page which was given by Intercom. Every external page must be associated with a Content Import Source which represents the place it comes from and from which it inherits a default audience (configured in the UI). For a new source, make a POST request to the Content Import Source endpoint and an ID for the source will be returned in the response.
curl -i -X POST \
https://api.intercom.io/ai/external_pages \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: Unstable' \
-d '{
"external_id": "abc1234",
"html": "<html><body><h1>Test</h1></body></html>",
"locale": "en",
"source_id": 44,
"title": "Test",
"url": "https://www.example.com"
}'
successful
Always external_page
The unique identifier for the external page which is given by Intercom.
The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.
Whether the external page should be used to answer questions by AI Agent.
Whether the external page should be used to answer questions by AI Copilot.
Deprecated. Use ai_agent_availability and ai_copilot_availability instead.
The unique identifier for the source of the external page which was given by Intercom. Every external page must be associated with a Content Import Source which represents the place it comes from and from which it inherits a default audience (configured in the UI). For a new source, make a POST request to the Content Import Source endpoint and an ID for the source will be returned in the response.
The identifier for the external page which was given by the source. Must be unique for the source.
The time when the external page was created.
The time when the external page was last updated.
{ "id": "21", "type": "external_page", "title": "Test", "html": "<html><body><h1>Test</h1></body></html>", "url": "https://www.example.com", "ai_agent_availability": true, "ai_copilot_availability": true, "fin_availability": true, "locale": "en", "source_id": 44, "external_id": "abc1234", "created_at": 1733320915, "updated_at": 1733320915, "last_ingested_at": 1733320915 }
curl -i -X DELETE \
'https://api.intercom.io/ai/external_pages/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: Unstable'
successful
Always external_page
The unique identifier for the external page which is given by Intercom.
The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.
Whether the external page should be used to answer questions by AI Agent.
Whether the external page should be used to answer questions by AI Copilot.
Deprecated. Use ai_agent_availability and ai_copilot_availability instead.
The unique identifier for the source of the external page which was given by Intercom. Every external page must be associated with a Content Import Source which represents the place it comes from and from which it inherits a default audience (configured in the UI). For a new source, make a POST request to the Content Import Source endpoint and an ID for the source will be returned in the response.
The identifier for the external page which was given by the source. Must be unique for the source.
The time when the external page was created.
The time when the external page was last updated.
{ "id": "22", "type": "external_page", "title": "My External Content", "html": "", "url": "https://support.example.com/us/5", "ai_agent_availability": true, "ai_copilot_availability": true, "fin_availability": true, "locale": "en", "source_id": 45, "external_id": "4", "created_at": 1733320917, "updated_at": 1733320917, "last_ingested_at": 1733320917 }
curl -i -X GET \
'https://api.intercom.io/ai/external_pages/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: Unstable'
successful
Always external_page
The unique identifier for the external page which is given by Intercom.
The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.
Whether the external page should be used to answer questions by AI Agent.
Whether the external page should be used to answer questions by AI Copilot.
Deprecated. Use ai_agent_availability and ai_copilot_availability instead.
The unique identifier for the source of the external page which was given by Intercom. Every external page must be associated with a Content Import Source which represents the place it comes from and from which it inherits a default audience (configured in the UI). For a new source, make a POST request to the Content Import Source endpoint and an ID for the source will be returned in the response.
The identifier for the external page which was given by the source. Must be unique for the source.
The time when the external page was created.
The time when the external page was last updated.
{ "id": "23", "type": "external_page", "title": "My External Content", "html": "<h1>Hello world</h1><p>This is external content</p>", "url": "https://support.example.com/us/6", "ai_agent_availability": true, "ai_copilot_availability": true, "fin_availability": true, "locale": "en", "source_id": 46, "external_id": "5", "created_at": 1733320918, "updated_at": 1733320918, "last_ingested_at": 1733320918 }
The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.
Whether the external page should be used to answer questions by Fin.
The unique identifier for the source of the external page which was given by Intercom. Every external page must be associated with a Content Import Source which represents the place it comes from and from which it inherits a default audience (configured in the UI). For a new source, make a POST request to the Content Import Source endpoint and an ID for the source will be returned in the response.
curl -i -X PUT \
'https://api.intercom.io/ai/external_pages/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: Unstable' \
-d '{
"external_id": "5678",
"html": "<html><body><h1>Test</h1></body></html>",
"locale": "en",
"source_id": 47,
"title": "Test",
"url": "https://www.example.com"
}'
successful
Always external_page
The unique identifier for the external page which is given by Intercom.
The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.
Whether the external page should be used to answer questions by AI Agent.
Whether the external page should be used to answer questions by AI Copilot.
Deprecated. Use ai_agent_availability and ai_copilot_availability instead.
The unique identifier for the source of the external page which was given by Intercom. Every external page must be associated with a Content Import Source which represents the place it comes from and from which it inherits a default audience (configured in the UI). For a new source, make a POST request to the Content Import Source endpoint and an ID for the source will be returned in the response.
The identifier for the external page which was given by the source. Must be unique for the source.
The time when the external page was created.
The time when the external page was last updated.
{ "id": "24", "type": "external_page", "title": "Test", "html": "<html><body><h1>Test</h1></body></html>", "url": "https://www.example.com", "ai_agent_availability": true, "ai_copilot_availability": true, "fin_availability": true, "locale": "en", "source_id": 47, "external_id": "5678", "created_at": 1733320920, "updated_at": 1733320920, "last_ingested_at": 1733320920 }