UNPKG

intercom-client

Version:

Official Node bindings to the Intercom API

3,438 lines (2,424 loc) 131 kB
# Reference ## Admins <details><summary><code>client.admins.<a href="/src/api/resources/admins/client/Client.ts">identify</a>() -> Intercom.AdminWithApp</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can view the currently authorised admin along with the embedded app object (a "workspace" in legacy terminology). > 🚧 Single Sign On > > If you are building a custom "Log in with Intercom" flow for your site, and you call the `/me` endpoint to identify the logged-in user, you should not accept any sign-ins from users with unverified email addresses as it poses a potential impersonation security risk. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.admins.identify(); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **requestOptions:** `Admins.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.admins.<a href="/src/api/resources/admins/client/Client.ts">away</a>({ ...params }) -> Intercom.Admin</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can set an Admin as away for the Inbox. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.admins.away({ admin_id: "admin_id", away_mode_enabled: true, away_mode_reassign: true, }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ConfigureAwayAdminRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Admins.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.admins.<a href="/src/api/resources/admins/client/Client.ts">listAllActivityLogs</a>({ ...params }) -> Intercom.ActivityLogList</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can get a log of activities by all admins in an app. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.admins.listAllActivityLogs({ created_at_after: "1677253093", created_at_before: "1677861493", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListAllActivityLogsRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Admins.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.admins.<a href="/src/api/resources/admins/client/Client.ts">list</a>() -> Intercom.AdminList</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of admins for a given workspace. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.admins.list(); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **requestOptions:** `Admins.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.admins.<a href="/src/api/resources/admins/client/Client.ts">find</a>({ ...params }) -> Intercom.Admin</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can retrieve the details of a single admin. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.admins.find({ admin_id: "123", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.FindAdminRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Admins.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> ## Articles <details><summary><code>client.articles.<a href="/src/api/resources/articles/client/Client.ts">list</a>({ ...params }) -> core.Page<Intercom.ArticleListItem></code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of all articles by making a GET request to `https://api.intercom.io/articles`. > 📘 How are the articles sorted and ordered? > > Articles will be returned in descending order on the `updated_at` attribute. This means if you need to iterate through results then we'll show the most recently updated articles first. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript const response = await client.articles.list(); for await (const item of response) { console.log(item); } // Or you can manually iterate page-by-page const page = await client.articles.list(); while (page.hasNextPage()) { page = page.getNextPage(); } ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListArticlesRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Articles.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.articles.<a href="/src/api/resources/articles/client/Client.ts">create</a>({ ...params }) -> Intercom.Article</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can create a new article by making a POST request to `https://api.intercom.io/articles`. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.articles.create({ title: "Thanks for everything", description: "Description of the Article", body: "Body of the Article", author_id: 991267407, state: "published", parent_id: 145, parent_type: "collection", translated_content: { fr: { type: "article_content", title: "Merci pour tout", description: "Description de l'article", body: "Corps de l'article", author_id: 991267407, state: "published", }, }, }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.CreateArticleRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Articles.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.articles.<a href="/src/api/resources/articles/client/Client.ts">find</a>({ ...params }) -> Intercom.Article</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch the details of a single article by making a GET request to `https://api.intercom.io/articles/<id>`. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.articles.find({ article_id: "123", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.FindArticleRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Articles.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.articles.<a href="/src/api/resources/articles/client/Client.ts">update</a>({ ...params }) -> Intercom.Article</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can update the details of a single article by making a PUT request to `https://api.intercom.io/articles/<id>`. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.articles.update({ article_id: "123", title: "Christmas is here!", body: "<p>New gifts in store for the jolly season</p>", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.UpdateArticleRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Articles.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.articles.<a href="/src/api/resources/articles/client/Client.ts">delete</a>({ ...params }) -> Intercom.DeletedArticleObject</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can delete a single article by making a DELETE request to `https://api.intercom.io/articles/<id>`. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.articles.delete({ article_id: "123", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.DeleteArticleRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Articles.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.articles.<a href="/src/api/resources/articles/client/Client.ts">search</a>({ ...params }) -> Intercom.SearchArticlesResponse</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can search for articles by making a GET request to `https://api.intercom.io/articles/search`. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.articles.search({ phrase: "Getting started", state: "published", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.SearchArticlesRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Articles.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> ## HelpCenters <details><summary><code>client.helpCenters.<a href="/src/api/resources/helpCenters/client/Client.ts">find</a>({ ...params }) -> Intercom.HelpCenter</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch the details of a single Help Center by making a GET request to `https://api.intercom.io/help_center/help_center/<id>`. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.helpCenters.find({ help_center_id: "123", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.FindHelpCenterRequest` </dd> </dl> <dl> <dd> **requestOptions:** `HelpCenters.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.helpCenters.<a href="/src/api/resources/helpCenters/client/Client.ts">list</a>({ ...params }) -> core.Page<Intercom.HelpCenter></code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can list all Help Centers by making a GET request to `https://api.intercom.io/help_center/help_centers`. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript const response = await client.helpCenters.list(); for await (const item of response) { console.log(item); } // Or you can manually iterate page-by-page const page = await client.helpCenters.list(); while (page.hasNextPage()) { page = page.getNextPage(); } ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListHelpCentersRequest` </dd> </dl> <dl> <dd> **requestOptions:** `HelpCenters.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> ## Companies <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">retrieve</a>({ ...params }) -> Intercom.CompaniesRetrieveResponse</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a single company by passing in `company_id` or `name`. `https://api.intercom.io/companies?name={name}` `https://api.intercom.io/companies?company_id={company_id}` You can fetch all companies and filter by `segment_id` or `tag_id` as a query parameter. `https://api.intercom.io/companies?tag_id={tag_id}` `https://api.intercom.io/companies?segment_id={segment_id}` </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.companies.retrieve({ name: "my company", company_id: "12345", tag_id: "678910", segment_id: "98765", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.RetrieveCompanyRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">createOrUpdate</a>({ ...params }) -> Intercom.Company</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can create or update a company. Companies will be only visible in Intercom when there is at least one associated user. Companies are looked up via `company_id` in a `POST` request, if not found via `company_id`, the new company will be created, if found, that company will be updated. {% admonition type="warning" name="Using `company_id`" %} You can set a unique `company_id` value when creating a company. However, it is not possible to update `company_id`. Be sure to set a unique value once upon creation of the company. {% /admonition %} </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.companies.createOrUpdate({ name: "my company", company_id: "company_remote_id", remote_created_at: 1374138000, }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.CreateOrUpdateCompanyRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">find</a>({ ...params }) -> Intercom.Company</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a single company. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.companies.find({ company_id: "5f4d3c1c-7b1b-4d7d-a97e-6095715c6632", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.FindCompanyRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">update</a>({ ...params }) -> Intercom.Company</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can update a single company using the Intercom provisioned `id`. {% admonition type="warning" name="Using `company_id`" %} When updating a company it is not possible to update `company_id`. This can only be set once upon creation of the company. {% /admonition %} </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.companies.update({ company_id: "5f4d3c1c-7b1b-4d7d-a97e-6095715c6632", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.UpdateCompanyRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">delete</a>({ ...params }) -> Intercom.DeletedCompanyObject</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can delete a single company. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.companies.delete({ company_id: "5f4d3c1c-7b1b-4d7d-a97e-6095715c6632", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.DeleteCompanyRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">listAttachedContacts</a>({ ...params }) -> Intercom.CompanyAttachedContacts</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of all contacts that belong to a company. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.companies.listAttachedContacts({ company_id: "5f4d3c1c-7b1b-4d7d-a97e-6095715c6632", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListAttachedContactsRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">listAttachedSegments</a>({ ...params }) -> Intercom.CompanyAttachedSegments</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of all segments that belong to a company. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.companies.listAttachedSegments({ company_id: "5f4d3c1c-7b1b-4d7d-a97e-6095715c6632", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListSegmentsAttachedToCompanyRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">list</a>({ ...params }) -> core.Page<Intercom.Company></code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can list companies. The company list is sorted by the `last_request_at` field and by default is ordered descending, most recently requested first. Note that the API does not include companies who have no associated users in list responses. When using the Companies endpoint and the pages object to iterate through the returned companies, there is a limit of 10,000 Companies that can be returned. If you need to list or iterate on more than 10,000 Companies, please use the [Scroll API](https://developers.intercom.com/reference#iterating-over-all-companies). {% admonition type="warning" name="Pagination" %} You can use pagination to limit the number of results returned. The default is `20` results per page. See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. {% /admonition %} </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript const response = await client.companies.list({ order: "desc", }); for await (const item of response) { console.log(item); } // Or you can manually iterate page-by-page const page = await client.companies.list({ order: "desc", }); while (page.hasNextPage()) { page = page.getNextPage(); } ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListCompaniesRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">scroll</a>({ ...params }) -> core.Page<Intercom.Company></code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> The `list all companies` functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. The Scroll API provides an efficient mechanism for iterating over all companies in a dataset. - Each app can only have 1 scroll open at a time. You'll get an error message if you try to have more than one open per app. - If the scroll isn't used for 1 minute, it expires and calls with that scroll param will fail - If the end of the scroll is reached, "companies" will be empty and the scroll parameter will expire {% admonition type="info" name="Scroll Parameter" %} You can get the first page of companies by simply sending a GET request to the scroll endpoint. For subsequent requests you will need to use the scroll parameter from the response. {% /admonition %} {% admonition type="danger" name="Scroll network timeouts" %} Since scroll is often used on large datasets network errors such as timeouts can be encountered. When this occurs you will see a HTTP 500 error with the following message: "Request failed due to an internal network error. Please restart the scroll operation." If this happens, you will need to restart your scroll query: It is not possible to continue from a specific point when using scroll. {% /admonition %} </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript const response = await client.companies.scroll(); for await (const item of response) { console.log(item); } // Or you can manually iterate page-by-page const page = await client.companies.scroll(); while (page.hasNextPage()) { page = page.getNextPage(); } ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ScrollCompaniesRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">attachContact</a>({ ...params }) -> Intercom.Company</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can attach a company to a single contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.companies.attachContact({ contact_id: "contact_id", id: "667d608d8a68186f43bafd70", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.AttachContactToCompanyRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.companies.<a href="/src/api/resources/companies/client/Client.ts">detachContact</a>({ ...params }) -> Intercom.Company</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can detach a company from a single contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.companies.detachContact({ contact_id: "58a430d35458202d41b1e65b", company_id: "58a430d35458202d41b1e65b", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.DetachContactFromCompanyRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Companies.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> ## Contacts <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">listAttachedCompanies</a>({ ...params }) -> core.Page<Intercom.Company></code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of companies that are associated to a contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript const response = await client.contacts.listAttachedCompanies({ contact_id: "63a07ddf05a32042dffac965", }); for await (const item of response) { console.log(item); } // Or you can manually iterate page-by-page const page = await client.contacts.listAttachedCompanies({ contact_id: "63a07ddf05a32042dffac965", }); while (page.hasNextPage()) { page = page.getNextPage(); } ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListAttachedCompaniesRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">listAttachedSegments</a>({ ...params }) -> Intercom.ContactSegments</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of segments that are associated to a contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.listAttachedSegments({ contact_id: "63a07ddf05a32042dffac965", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListSegmentsAttachedToContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">listAttachedSubscriptions</a>({ ...params }) -> Intercom.SubscriptionTypeList</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of subscription types that are attached to a contact. These can be subscriptions that a user has 'opted-in' to or has 'opted-out' from, depending on the subscription type. This will return a list of Subscription Type objects that the contact is associated with. The data property will show a combined list of: 1.Opt-out subscription types that the user has opted-out from. 2.Opt-in subscription types that the user has opted-in to receiving. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.listAttachedSubscriptions({ contact_id: "63a07ddf05a32042dffac965", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListAttachedSubscriptionsRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">attachSubscription</a>({ ...params }) -> Intercom.SubscriptionType</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can add a specific subscription to a contact. In Intercom, we have two different subscription types based on user consent - opt-out and opt-in: 1.Attaching a contact to an opt-out subscription type will opt that user out from receiving messages related to that subscription type. 2.Attaching a contact to an opt-in subscription type will opt that user in to receiving messages related to that subscription type. This will return a subscription type model for the subscription type that was added to the contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.attachSubscription({ contact_id: "63a07ddf05a32042dffac965", id: "37846", consent_type: "opt_in", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.AttachSubscriptionToContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">detachSubscription</a>({ ...params }) -> Intercom.SubscriptionType</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can remove a specific subscription from a contact. This will return a subscription type model for the subscription type that was removed from the contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.detachSubscription({ contact_id: "63a07ddf05a32042dffac965", subscription_id: "37846", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.DetachSubscriptionFromContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">listAttachedTags</a>({ ...params }) -> Intercom.TagList</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of all tags that are attached to a specific contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.listAttachedTags({ contact_id: "63a07ddf05a32042dffac965", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListTagsAttachedToContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">find</a>({ ...params }) -> Intercom.Contact</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch the details of a single contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.find({ contact_id: "63a07ddf05a32042dffac965", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.FindContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">update</a>({ ...params }) -> Intercom.Contact</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can update an existing contact (ie. user or lead). </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.update({ contact_id: "63a07ddf05a32042dffac965", email: "joebloggs@intercom.io", name: "joe bloggs", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.UpdateContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">delete</a>({ ...params }) -> Intercom.ContactDeleted</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can delete a single contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.delete({ contact_id: "contact_id", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.DeleteContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">mergeLeadInUser</a>({ ...params }) -> Intercom.Contact</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can merge a contact with a `role` of `lead` into a contact with a `role` of `user`. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.mergeLeadInUser({ from: "667d60ac8a68186f43bafdbb", into: "667d60ac8a68186f43bafdbc", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.MergeContactsRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">search</a>({ ...params }) -> core.Page<Intercom.Contact></code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can search for multiple contacts by the value of their attributes in order to fetch exactly who you want. To search for contacts, you need to send a `POST` request to `https://api.intercom.io/contacts/search`. This will accept a query object in the body which will define your filters in order to search for contacts. {% admonition type="warning" name="Optimizing search queries" %} Search queries can be complex, so optimizing them can help the performance of your search. Use the `AND` and `OR` operators to combine multiple filters to get the exact results you need and utilize pagination to limit the number of results returned. The default is `50` results per page. See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#example-search-conversations-request) for more details on how to use the `starting_after` param. {% /admonition %} ### Contact Creation Delay If a contact has recently been created, there is a possibility that it will not yet be available when searching. This means that it may not appear in the response. This delay can take a few minutes. If you need to be instantly notified it is recommended to use webhooks and iterate to see if they match your search filters. ### Nesting & Limitations You can nest these filters in order to get even more granular insights that pinpoint exactly what you need. Example: (1 OR 2) AND (3 OR 4). There are some limitations to the amount of multiple's there can be: - There's a limit of max 2 nested filters - There's a limit of max 15 filters for each AND or OR group ### Searching for Timestamp Fields All timestamp fields (created_at, updated_at etc.) are indexed as Dates for Contact Search queries; Datetime queries are not currently supported. This means you can only query for timestamp fields by day - not hour, minute or second. For example, if you search for all Contacts with a created_at value greater (>) than 1577869200 (the UNIX timestamp for January 1st, 2020 9:00 AM), that will be interpreted as 1577836800 (January 1st, 2020 12:00 AM). The search results will then include Contacts created from January 2nd, 2020 12:00 AM onwards. If you'd like to get contacts created on January 1st, 2020 you should search with a created_at value equal (=) to 1577836800 (January 1st, 2020 12:00 AM). This behaviour applies only to timestamps used in search queries. The search results will still contain the full UNIX timestamp and be sorted accordingly. ### Accepted Fields Most key listed as part of the Contacts Model are searchable, whether writeable or not. The value you search for has to match the accepted type, otherwise the query will fail (ie. as `created_at` accepts a date, the `value` cannot be a string such as `"foorbar"`). | Field | Type | | ---------------------------------- | ------------------------------ | | id | String | | role | String<br>Accepts user or lead | | name | String | | avatar | String | | owner_id | Integer | | email | String | | email_domain | String | | phone | String | | external_id | String | | created_at | Date (UNIX Timestamp) | | signed_up_at | Date (UNIX Timestamp) | | updated_at | Date (UNIX Timestamp) | | last_seen_at | Date (UNIX Timestamp) | | last_contacted_at | Date (UNIX Timestamp) | | last_replied_at | Date (UNIX Timestamp) | | last_email_opened_at | Date (UNIX Timestamp) | | last_email_clicked_at | Date (UNIX Timestamp) | | language_override | String | | browser | String | | browser_language | String | | os | String | | location.country | String | | location.region | String | | location.city | String | | unsubscribed_from_emails | Boolean | | marked_email_as_spam | Boolean | | has_hard_bounced | Boolean | | ios_last_seen_at | Date (UNIX Timestamp) | | ios_app_version | String | | ios_device | String | | ios_app_device | String | | ios_os_version | String | | ios_app_name | String | | ios_sdk_version | String | | android_last_seen_at | Date (UNIX Timestamp) | | android_app_version | String | | android_device | String | | android_app_name | String | | andoid_sdk_version | String | | segment_id | String | | tag_id | String | | custom_attributes.{attribute_name} | String | ### Accepted Operators {% admonition type="warning" name="Searching based on `created_at`" %} You cannot use the `<=` or `>=` operators to search by `created_at`. {% /admonition %} The table below shows the operators you can use to define how you want to search for the value. The operator should be put in as a string (`"="`). The operator has to be compatible with the field's type (eg. you cannot search with `>` for a given string value as it's only compatible for integer's and dates). | Operator | Valid Types | Description | | :------- | :------------------------------- | :--------------------------------------------------------------- | | = | All | Equals | | != | All | Doesn't Equal | | IN | All | In<br>Shortcut for `OR` queries<br>Values must be in Array | | NIN | All | Not In<br>Shortcut for `OR !` queries<br>Values must be in Array | | > | Integer<br>Date (UNIX Timestamp) | Greater than | | < | Integer<br>Date (UNIX Timestamp) | Lower than | | ~ | String | Contains | | !~ | String | Doesn't Contain | | ^ | String | Starts With | | $ | String | Ends With | </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript const response = await client.contacts.search({ query: { operator: "AND", value: [ { field: "created_at", operator: ">", value: "1306054154", }, ], }, pagination: { per_page: 5, }, }); for await (const item of response) { console.log(item); } // Or you can manually iterate page-by-page const page = await client.contacts.search({ query: { operator: "AND", value: [ { field: "created_at", operator: ">", value: "1306054154", }, ], }, pagination: { per_page: 5, }, }); while (page.hasNextPage()) { page = page.getNextPage(); } ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.SearchRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">list</a>({ ...params }) -> core.Page<Intercom.Contact></code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of all contacts (ie. users or leads) in your workspace. {% admonition type="warning" name="Pagination" %} You can use pagination to limit the number of results returned. The default is `50` results per page. See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. {% /admonition %} </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript const response = await client.contacts.list(); for await (const item of response) { console.log(item); } // Or you can manually iterate page-by-page const page = await client.contacts.list(); while (page.hasNextPage()) { page = page.getNextPage(); } ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListContactsRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">create</a>({ ...params }) -> Intercom.Contact</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can create a new contact (ie. user or lead). </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.create({ email: "joebloggs@intercom.io", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.CreateContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">archive</a>({ ...params }) -> Intercom.ContactArchived</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can archive a single contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.archive({ contact_id: "63a07ddf05a32042dffac965", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ArchiveContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.contacts.<a href="/src/api/resources/contacts/client/Client.ts">unarchive</a>({ ...params }) -> Intercom.ContactUnarchived</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can unarchive a single contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.contacts.unarchive({ contact_id: "63a07ddf05a32042dffac965", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.UnarchiveContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Contacts.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> ## Notes <details><summary><code>client.notes.<a href="/src/api/resources/notes/client/Client.ts">list</a>({ ...params }) -> core.Page<Intercom.Note></code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of notes that are associated to a contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript const response = await client.notes.list({ contact_id: "contact_id", }); for await (const item of response) { console.log(item); } // Or you can manually iterate page-by-page const page = await client.notes.list({ contact_id: "contact_id", }); while (page.hasNextPage()) { page = page.getNextPage(); } ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.ListContactNotesRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Notes.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.notes.<a href="/src/api/resources/notes/client/Client.ts">create</a>({ ...params }) -> Intercom.Note</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can add a note to a single contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.notes.create({ contact_id: "123", body: "Hello", admin_id: "123", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.CreateContactNoteRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Notes.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.notes.<a href="/src/api/resources/notes/client/Client.ts">find</a>({ ...params }) -> Intercom.Note</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch the details of a single note. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.notes.find({ note_id: "1", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.FindNoteRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Notes.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> ## Tags <details><summary><code>client.tags.<a href="/src/api/resources/tags/client/Client.ts">tagContact</a>({ ...params }) -> Intercom.Tag</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can tag a specific contact. This will return a tag object for the tag that was added to the contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.tags.tagContact({ contact_id: "63a07ddf05a32042dffac965", id: "7522907", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.TagContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Tags.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.tags.<a href="/src/api/resources/tags/client/Client.ts">untagContact</a>({ ...params }) -> Intercom.Tag</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can remove tag from a specific contact. This will return a tag object for the tag that was removed from the contact. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.tags.untagContact({ contact_id: "63a07ddf05a32042dffac965", tag_id: "7522907", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.UntagContactRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Tags.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.tags.<a href="/src/api/resources/tags/client/Client.ts">tagConversation</a>({ ...params }) -> Intercom.Tag</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can tag a specific conversation. This will return a tag object for the tag that was added to the conversation. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.tags.tagConversation({ conversation_id: "64619700005694", id: "7522907", admin_id: "780", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.TagConversationRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Tags.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.tags.<a href="/src/api/resources/tags/client/Client.ts">untagConversation</a>({ ...params }) -> Intercom.Tag</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can remove tag from a specific conversation. This will return a tag object for the tag that was removed from the conversation. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.tags.untagConversation({ conversation_id: "64619700005694", tag_id: "7522907", admin_id: "123", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.UntagConversationRequest` </dd> </dl> <dl> <dd> **requestOptions:** `Tags.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.tags.<a href="/src/api/resources/tags/client/Client.ts">list</a>() -> Intercom.TagList</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetch a list of all tags for a given workspace. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.tags.list(); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **requestOptions:** `Tags.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.tags.<a href="/src/api/resources/tags/client/Client.ts">create</a>({ ...params }) -> Intercom.Tag</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can use this endpoint to perform the following operations: **1. Create a new tag:** You can create a new tag by passing in the tag name as specified in "Create or Update Tag Request Payload" described below. **2. Update an existing tag:** You can update an existing tag by passing the id of the tag as specified in "Create or Update Tag Request Payload" described below. **3. Tag Companies:** You can tag single company or a list of companies. You can tag a company by passing in the tag name and the company details as specified in "Tag Company Request Payload" described below. Also, if the tag doesn't exist then a new one will be created automatically. **4. Untag Companies:** You can untag a single company or a list of companies. You can untag a company by passing in the tag id and the company details as specified in "Untag Company Request Payload" described below. **5. Tag Multiple Users:** You can tag a list of users. You can tag the users by passing in the tag name and the user details as specified in "Tag Users Request Payload" described below. Each operation will return a tag object. </dd> </dl> </dd> </dl> #### 🔌 Usage <dl> <dd> <dl> <dd> ```typescript await client.tags.create({ name: "test", }); ``` </dd> </dl> </dd> </dl> #### ⚙️ Parameters <dl> <dd> <dl> <dd> **request:** `Intercom.TagsCreateRequestBody` </dd> </dl> <dl> <dd> **requestOptions:** `Tags.RequestOptions` </dd> </dl> </dd> </dl> </dd> </dl> </details> <details><summary><code>client.tags.<a href="/src/api/resources/tags/client/Client.ts">find</a>({ ...params }) -> Intercom.Tag</code></summary> <dl> <dd> #### 📝 Description <dl> <dd> <dl> <dd> You can fetc