Intercom API (Unstable)

The intercom API reference.

Download OpenAPI description
Languages
Servers
The production API server
https://api.intercom.io/
The european API server
https://api.eu.intercom.io/
The australian API server
https://api.au.intercom.io/

Admins

Everything about your Admins

Operations

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.",

Operations

Content Import Source

An external source for External Pages that you add to your Fin Content Library.

typestringrequired

Always external_page

Default "content_import_source"
Value"content_import_source"
Example: "content_import_source"
idintegerrequired

The unique identifier for the content import source which is given by Intercom.

Example: 1234
last_synced_atinteger(date-time)required

The time when the content import source was last synced.

Example: 1672928610
sync_behaviorstringrequired

If you intend to create or update External Pages via the API, this should be set to api.

Enum"api""automatic""manual"
Example: "api"
statusstringrequired

The status of the content import source.

Default "active"
Enum"active""deactivated"
Example: "active"
urlstringrequired

The URL of the root of the external source.

Example: "https://help.example.com/"
created_atinteger(date-time)required

The time when the content import source was created.

Example: 1672928359
updated_atinteger(date-time)required

The time when the content import source was last updated.

Example: 1672928610
{ "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 }

Content Import Sources

This will return a list of the content import sources for the App.

typestring

The type of the object - list.

Value"list"
Example: "list"
pagesobject(Pagination Object)

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.

total_countinteger

A count of the total number of content import sources.

Example: 1
dataArray of objects(Content Import Source)

An array of Content Import Source objects

{ "type": "list", "pages": { "type": "pages", "page": 1, "next": "http://example.com", "per_page": 50, "total_pages": 1 }, "total_count": 1, "data": [ { … } ] }

External Page

External pages that you have added to your Fin Content Library.

typestringrequired

Always external_page

Default "external_page"
Value"external_page"
Example: "external_page"
idstringrequired

The unique identifier for the external page which is given by Intercom.

Example: "1234"
titlestringrequired

The title of the external page.

Example: "Getting started with..."
htmlstringrequired

The body of the external page in HTML.

Example: "<p>Hello world!</p>"
urlstring

The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.

Example: "https://help.example.com/en/articles/1234-getting-started"
ai_agent_availabilitybooleanrequired

Whether the external page should be used to answer questions by AI Agent.

Example: true
ai_copilot_availabilitybooleanrequired

Whether the external page should be used to answer questions by AI Copilot.

Example: true
fin_availabilityboolean

Deprecated. Use ai_agent_availability and ai_copilot_availability instead.

Example: true
localestringrequired

Always en

Default "en"
Value"en"
Example: "en"
source_idintegerrequired

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.

Example: 1234
external_idstringrequired

The identifier for the external page which was given by the source. Must be unique for the source.

Example: "5678"
created_atinteger(date-time)required

The time when the external page was created.

Example: 1672928359
updated_atinteger(date-time)required

The time when the external page was last updated.

Example: 1672928610
last_ingested_atinteger(date-time)required

The time when the external page was last ingested.

Example: 1672928610
{ "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 }

External Pages

This will return a list of external pages for the App.

typestring

The type of the object - list.

Value"list"
Example: "list"
pagesobject(Pagination Object)

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.

total_countinteger

A count of the total number of external pages.

Example: 1
dataArray of objects(External Page)

An array of External Page objects

{ "type": "list", "pages": { "type": "pages", "page": 1, "next": "http://example.com", "per_page": 50, "total_pages": 1 }, "total_count": 1, "data": [ { … } ] }

List content import sources

Request

You can retrieve a list of all content import sources for a workspace.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
curl -i -X GET \
  https://api.intercom.io/ai/content_import_sources \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestring

The type of the object - list.

Value"list"
Example: "list"
pagesobject(Pagination Object)

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.

total_countinteger

A count of the total number of content import sources.

Example: 1
dataArray of objects(Content Import Source)

An array of Content Import Source objects

Response
application/json
{ "data": [ { … }, { … }, { … } ], "pages": { "type": "pages", "page": 1, "per_page": 50, "total_pages": 1 }, "total_count": 3, "type": "list" }

Create a content import source

Request

You can create a new content import source by sending a POST request to this endpoint.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
Bodyapplication/json
sync_behaviorstringrequired

If you intend to create or update External Pages via the API, this should be set to api.

Value"api"
Example: "api"
statusstring

The status of the content import source.

Default "active"
Enum"active""deactivated"
Example: "active"
urlstringrequired

The URL of the content import source.

Example: "https://help.example.com"
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"
  }'

Responses

successful

Bodyapplication/json
typestringrequired

Always external_page

Default "content_import_source"
Value"content_import_source"
Example: "content_import_source"
idintegerrequired

The unique identifier for the content import source which is given by Intercom.

Example: 1234
last_synced_atinteger(date-time)required

The time when the content import source was last synced.

Example: 1672928610
sync_behaviorstringrequired

If you intend to create or update External Pages via the API, this should be set to api.

Enum"api""automatic""manual"
Example: "api"
statusstringrequired

The status of the content import source.

Default "active"
Enum"active""deactivated"
Example: "active"
urlstringrequired

The URL of the root of the external source.

Example: "https://help.example.com/"
created_atinteger(date-time)required

The time when the content import source was created.

Example: 1672928359
updated_atinteger(date-time)required

The time when the content import source was last updated.

Example: 1672928610
Response
application/json
{ "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 }

Delete a content import source

Request

You can delete a content import source by making a DELETE request this endpoint. This will also delete all external pages that were imported from this source.

Path
idstringrequired

The unique identifier for the content import source which is given by Intercom.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
curl -i -X DELETE \
  'https://api.intercom.io/ai/content_import_sources/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Response
application/json
{ "type": "error.list", "request_id": "3888806c-45c3-4588-8d1e-ca417ba7bf01", "errors": [ { … } ] }

Retrieve a content import source

Request

Path
idstringrequired

The unique identifier for the content import source which is given by Intercom.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
curl -i -X GET \
  'https://api.intercom.io/ai/content_import_sources/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestringrequired

Always external_page

Default "content_import_source"
Value"content_import_source"
Example: "content_import_source"
idintegerrequired

The unique identifier for the content import source which is given by Intercom.

Example: 1234
last_synced_atinteger(date-time)required

The time when the content import source was last synced.

Example: 1672928610
sync_behaviorstringrequired

If you intend to create or update External Pages via the API, this should be set to api.

Enum"api""automatic""manual"
Example: "api"
statusstringrequired

The status of the content import source.

Default "active"
Enum"active""deactivated"
Example: "active"
urlstringrequired

The URL of the root of the external source.

Example: "https://help.example.com/"
created_atinteger(date-time)required

The time when the content import source was created.

Example: 1672928359
updated_atinteger(date-time)required

The time when the content import source was last updated.

Example: 1672928610
Response
application/json
{ "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 }

Update a content import source

Request

You can update an existing content import source.

Path
idstringrequired

The unique identifier for the content import source which is given by Intercom.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
Bodyapplication/json
sync_behaviorstringrequired

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.

Enum"api""automated""manual"
Example: "api"
statusstring

The status of the content import source.

Default "active"
Enum"active""deactivated"
Example: "active"
urlstringrequired

The URL of the content import source. This may only be different from the existing value if the sync behavior is API.

Example: "https://help.example.com"
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"
  }'

Responses

successful

Bodyapplication/json
typestringrequired

Always external_page

Default "content_import_source"
Value"content_import_source"
Example: "content_import_source"
idintegerrequired

The unique identifier for the content import source which is given by Intercom.

Example: 1234
last_synced_atinteger(date-time)required

The time when the content import source was last synced.

Example: 1672928610
sync_behaviorstringrequired

If you intend to create or update External Pages via the API, this should be set to api.

Enum"api""automatic""manual"
Example: "api"
statusstringrequired

The status of the content import source.

Default "active"
Enum"active""deactivated"
Example: "active"
urlstringrequired

The URL of the root of the external source.

Example: "https://help.example.com/"
created_atinteger(date-time)required

The time when the content import source was created.

Example: 1672928359
updated_atinteger(date-time)required

The time when the content import source was last updated.

Example: 1672928610
Response
application/json
{ "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 }

List external pages

Request

You can retrieve a list of all external pages for a workspace.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
curl -i -X GET \
  https://api.intercom.io/ai/external_pages \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestring

The type of the object - list.

Value"list"
Example: "list"
pagesobject(Pagination Object)

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.

total_countinteger

A count of the total number of external pages.

Example: 1
dataArray of objects(External Page)

An array of External Page objects

Response
application/json
{ "data": [ { … }, { … }, { … } ], "pages": { "type": "pages", "page": 1, "per_page": 50, "total_pages": 1 }, "total_count": 3, "type": "list" }

Create an external page (or update an external page by external ID)

Request

You can create a new external page by sending a POST request to this endpoint. If an external page already exists with the specified source_id and external_id, it will be updated instead.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
Bodyapplication/json
titlestringrequired

The title of the external page.

Example: "Getting started with..."
htmlstringrequired

The body of the external page in HTML.

Example: "<p>Hello world!</p>"
urlstring

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.

Example: "https://help.example.com/en/articles/1234-getting-started"
ai_agent_availabilityboolean

Whether the external page should be used to answer questions by AI Agent. Will not default when updating an existing external page.

Default false
Example: true
ai_copilot_availabilityboolean

Whether the external page should be used to answer questions by AI Copilot. Will not default when updating an existing external page.

Default false
Example: true
localestringrequired

Always en

Default "en"
Value"en"
Example: "en"
source_idintegerrequired

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.

Example: 1234
external_idstringrequired

The identifier for the external page which was given by the source. Must be unique for the source.

Example: "5678"
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"
  }'

Responses

successful

Bodyapplication/json
typestringrequired

Always external_page

Default "external_page"
Value"external_page"
Example: "external_page"
idstringrequired

The unique identifier for the external page which is given by Intercom.

Example: "1234"
titlestringrequired

The title of the external page.

Example: "Getting started with..."
htmlstringrequired

The body of the external page in HTML.

Example: "<p>Hello world!</p>"
urlstring

The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.

Example: "https://help.example.com/en/articles/1234-getting-started"
ai_agent_availabilitybooleanrequired

Whether the external page should be used to answer questions by AI Agent.

Example: true
ai_copilot_availabilitybooleanrequired

Whether the external page should be used to answer questions by AI Copilot.

Example: true
fin_availabilityboolean

Deprecated. Use ai_agent_availability and ai_copilot_availability instead.

Example: true
localestringrequired

Always en

Default "en"
Value"en"
Example: "en"
source_idintegerrequired

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.

Example: 1234
external_idstringrequired

The identifier for the external page which was given by the source. Must be unique for the source.

Example: "5678"
created_atinteger(date-time)required

The time when the external page was created.

Example: 1672928359
updated_atinteger(date-time)required

The time when the external page was last updated.

Example: 1672928610
last_ingested_atinteger(date-time)required

The time when the external page was last ingested.

Example: 1672928610
Response
application/json
{ "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 }

Delete an external page

Request

Sending a DELETE request for an external page will remove it from the content library UI and from being used for AI answers.

Path
idstringrequired

The unique identifier for the external page which is given by Intercom.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
curl -i -X DELETE \
  'https://api.intercom.io/ai/external_pages/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestringrequired

Always external_page

Default "external_page"
Value"external_page"
Example: "external_page"
idstringrequired

The unique identifier for the external page which is given by Intercom.

Example: "1234"
titlestringrequired

The title of the external page.

Example: "Getting started with..."
htmlstringrequired

The body of the external page in HTML.

Example: "<p>Hello world!</p>"
urlstring

The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.

Example: "https://help.example.com/en/articles/1234-getting-started"
ai_agent_availabilitybooleanrequired

Whether the external page should be used to answer questions by AI Agent.

Example: true
ai_copilot_availabilitybooleanrequired

Whether the external page should be used to answer questions by AI Copilot.

Example: true
fin_availabilityboolean

Deprecated. Use ai_agent_availability and ai_copilot_availability instead.

Example: true
localestringrequired

Always en

Default "en"
Value"en"
Example: "en"
source_idintegerrequired

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.

Example: 1234
external_idstringrequired

The identifier for the external page which was given by the source. Must be unique for the source.

Example: "5678"
created_atinteger(date-time)required

The time when the external page was created.

Example: 1672928359
updated_atinteger(date-time)required

The time when the external page was last updated.

Example: 1672928610
last_ingested_atinteger(date-time)required

The time when the external page was last ingested.

Example: 1672928610
Response
application/json
{ "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 }

Retrieve an external page

Request

You can retrieve an external page.

Path
idstringrequired

The unique identifier for the external page which is given by Intercom.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
curl -i -X GET \
  'https://api.intercom.io/ai/external_pages/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestringrequired

Always external_page

Default "external_page"
Value"external_page"
Example: "external_page"
idstringrequired

The unique identifier for the external page which is given by Intercom.

Example: "1234"
titlestringrequired

The title of the external page.

Example: "Getting started with..."
htmlstringrequired

The body of the external page in HTML.

Example: "<p>Hello world!</p>"
urlstring

The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.

Example: "https://help.example.com/en/articles/1234-getting-started"
ai_agent_availabilitybooleanrequired

Whether the external page should be used to answer questions by AI Agent.

Example: true
ai_copilot_availabilitybooleanrequired

Whether the external page should be used to answer questions by AI Copilot.

Example: true
fin_availabilityboolean

Deprecated. Use ai_agent_availability and ai_copilot_availability instead.

Example: true
localestringrequired

Always en

Default "en"
Value"en"
Example: "en"
source_idintegerrequired

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.

Example: 1234
external_idstringrequired

The identifier for the external page which was given by the source. Must be unique for the source.

Example: "5678"
created_atinteger(date-time)required

The time when the external page was created.

Example: 1672928359
updated_atinteger(date-time)required

The time when the external page was last updated.

Example: 1672928610
last_ingested_atinteger(date-time)required

The time when the external page was last ingested.

Example: 1672928610
Response
application/json
{ "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 }

Update an external page

Request

You can update an existing external page (if it was created via the API).

Path
idstringrequired

The unique identifier for the external page which is given by Intercom.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
Bodyapplication/json
titlestringrequired

The title of the external page.

Example: "Getting started with..."
htmlstringrequired

The body of the external page in HTML.

Example: "<p>Hello world!</p>"
urlstringrequired

The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.

Example: "https://help.example.com/en/articles/1234-getting-started"
fin_availabilityboolean

Whether the external page should be used to answer questions by Fin.

Default true
Example: true
localestringrequired

Always en

Default "en"
Value"en"
Example: "en"
source_idintegerrequired

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.

Example: 1234
external_idstring

The identifier for the external page which was given by the source. Must be unique for the source.

Example: "5678"
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"
  }'

Responses

successful

Bodyapplication/json
typestringrequired

Always external_page

Default "external_page"
Value"external_page"
Example: "external_page"
idstringrequired

The unique identifier for the external page which is given by Intercom.

Example: "1234"
titlestringrequired

The title of the external page.

Example: "Getting started with..."
htmlstringrequired

The body of the external page in HTML.

Example: "<p>Hello world!</p>"
urlstring

The URL of the external page. This will be used by Fin to link end users to the page it based its answer on.

Example: "https://help.example.com/en/articles/1234-getting-started"
ai_agent_availabilitybooleanrequired

Whether the external page should be used to answer questions by AI Agent.

Example: true
ai_copilot_availabilitybooleanrequired

Whether the external page should be used to answer questions by AI Copilot.

Example: true
fin_availabilityboolean

Deprecated. Use ai_agent_availability and ai_copilot_availability instead.

Example: true
localestringrequired

Always en

Default "en"
Value"en"
Example: "en"
source_idintegerrequired

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.

Example: 1234
external_idstringrequired

The identifier for the external page which was given by the source. Must be unique for the source.

Example: "5678"
created_atinteger(date-time)required

The time when the external page was created.

Example: 1672928359
updated_atinteger(date-time)required

The time when the external page was last updated.

Example: 1672928610
last_ingested_atinteger(date-time)required

The time when the external page was last ingested.

Example: 1672928610
Response
application/json
{ "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 }

Articles

Everything about your Articles

Operations

Companies

Everything about your Companies

Operations

Contacts

Everything about your contacts

Operations

Conversations

Everything about your Conversations

Operations

Custom Object Instances

Everything about your Custom Object instances.

Operations

Data Attributes

Everything about your Data Attributes

Operations

Data Events

Everything about your Data Events

Operations

Data Export

Everything about your Data Exports

Operations

Help Center

Everything about your Help Center

Operations

Messages

Everything about your messages

Operations

News

Everything about your News

Operations

Notes

Everything about your Notes

Operations

Segments

Everything about your Segments

Operations

Subscription Types

Everything about subscription types

Operations

Switch

Everything about Switch

Operations

Tags

Everything about tags

Operations

Teams

Everything about your Teams

Operations

Ticket States

Everything about your ticket states

Operations

Ticket Type Attributes

Everything about your ticket type attributes

Operations

Ticket Types

Everything about your ticket types

Operations

Tickets

Everything about your tickets

Operations

Visitors

Everything about your Visitors

Operations

Models