Skip to main content
Every intercom.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Admins

get

admins.get Retrieve a single admin Risk: read
await corsair.intercom.api.admins.get({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
namestringNo
emailstringNo
away_mode_enabledbooleanNo
away_mode_reassignbooleanNo
has_inbox_seatbooleanNo
team_idsnumber[]No
avatarstringNo

identify

admins.identify Identify the currently authorised admin Risk: read
await corsair.intercom.api.admins.identify({});
Input: empty object Output
NameTypeRequiredDescription
typestringNo
idstringYes
namestringNo
emailstringNo
away_mode_enabledbooleanNo
away_mode_reassignbooleanNo
has_inbox_seatbooleanNo
team_idsnumber[]No
avatarstringNo

list

admins.list List all admins in the workspace Risk: read
await corsair.intercom.api.admins.list({});
Input: empty object Output
NameTypeRequiredDescription
typestringNo
adminsobject[]Yes
{
  type?: string,
  id: string,
  name?: string,
  email?: string,
  away_mode_enabled?: boolean,
  away_mode_reassign?: boolean,
  has_inbox_seat?: boolean,
  team_ids?: number[],
  avatar?: string
}[]

listActivityLogs

admins.listActivityLogs List all admin activity logs Risk: read
await corsair.intercom.api.admins.listActivityLogs({});
Input
NameTypeRequiredDescription
created_at_afterstringYes
created_at_beforestringNo
pagenumberNo
per_pagenumberNo
Output
NameTypeRequiredDescription
typestringNo
pagesobjectNo
activity_logsobject[]Yes
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}
{
  id: string,
  performed_by?: {
    type?: string,
    id?: string,
    email?: string
  },
  metadata?: {
  },
  created_at?: number,
  activity_type?: string,
  activity_description?: string
}[]

setAway

admins.setAway Set an admin as away Risk: write
await corsair.intercom.api.admins.setAway({});
Input
NameTypeRequiredDescription
idstringYes
away_mode_enabledbooleanYes
away_mode_reassignbooleanNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
namestringNo
emailstringNo
away_mode_enabledbooleanNo
away_mode_reassignbooleanNo
has_inbox_seatbooleanNo
team_idsnumber[]No
avatarstringNo

Articles

create

articles.create Create a new article Risk: write
await corsair.intercom.api.articles.create({});
Input
NameTypeRequiredDescription
titlestringYes
author_idnumberYes
bodystringNo
descriptionstringNo
statedraft | publishedNo
parent_idnumberNo
parent_typestringNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
titlestringNo
descriptionstringNo
bodystringNo
author_idnumberNo
statestringNo
created_atnumberNo
updated_atnumberNo
urlstringNo

delete

articles.delete Delete an article [DESTRUCTIVE] Risk: destructive
await corsair.intercom.api.articles.delete({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
idstringYes
objectstringNo
deletedbooleanNo

get

articles.get Retrieve a single article Risk: read
await corsair.intercom.api.articles.get({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
titlestringNo
descriptionstringNo
bodystringNo
author_idnumberNo
statestringNo
created_atnumberNo
updated_atnumberNo
urlstringNo

list

articles.list List all articles Risk: read
await corsair.intercom.api.articles.list({});
Input
NameTypeRequiredDescription
pagenumberNo
per_pagenumberNo
statedraft | publishedNo
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
pagesobjectNo
total_countnumberNo
{
  type?: string,
  id: string,
  title?: string,
  description?: string | null,
  body?: string | null,
  author_id?: number,
  state?: string,
  created_at?: number,
  updated_at?: number,
  url?: string | null
}[]
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}

articles.search Search for articles Risk: read
await corsair.intercom.api.articles.search({});
Input
NameTypeRequiredDescription
phrasestringYes
help_center_idnumberNo
statedraft | publishedNo
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
pagesobjectNo
total_countnumberNo
{
  type?: string,
  id: string,
  title?: string,
  description?: string | null,
  body?: string | null,
  author_id?: number,
  state?: string,
  created_at?: number,
  updated_at?: number,
  url?: string | null
}[]
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}

update

articles.update Update an existing article Risk: write
await corsair.intercom.api.articles.update({});
Input
NameTypeRequiredDescription
idstringYes
titlestringNo
author_idnumberNo
bodystringNo
descriptionstringNo
statedraft | publishedNo
parent_idnumberNo
parent_typestringNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
titlestringNo
descriptionstringNo
bodystringNo
author_idnumberNo
statestringNo
created_atnumberNo
updated_atnumberNo
urlstringNo

Collections

create

collections.create Create a new collection Risk: write
await corsair.intercom.api.collections.create({});
Input
NameTypeRequiredDescription
namestringYes
descriptionstringNo
help_center_idnumberNo
parent_idstringNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
namestringNo
descriptionstringNo
created_atnumberNo
updated_atnumberNo
urlstringNo
iconstringNo
ordernumberNo
help_center_idnumberNo

delete

collections.delete Delete a collection [DESTRUCTIVE] Risk: destructive
await corsair.intercom.api.collections.delete({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
idstringYes
objectstringNo
deletedbooleanNo

get

collections.get Retrieve a single collection Risk: read
await corsair.intercom.api.collections.get({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
namestringNo
descriptionstringNo
created_atnumberNo
updated_atnumberNo
urlstringNo
iconstringNo
ordernumberNo
help_center_idnumberNo

list

collections.list List all collections Risk: read
await corsair.intercom.api.collections.list({});
Input
NameTypeRequiredDescription
pagenumberNo
per_pagenumberNo
help_center_idnumberNo
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
pagesobjectNo
total_countnumberNo
{
  type?: string,
  id: string,
  name?: string,
  description?: string | null,
  created_at?: number,
  updated_at?: number,
  url?: string | null,
  icon?: string | null,
  order?: number,
  help_center_id?: number | null
}[]
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}

update

collections.update Update a collection Risk: write
await corsair.intercom.api.collections.update({});
Input
NameTypeRequiredDescription
idstringYes
namestringNo
descriptionstringNo
ordernumberNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
namestringNo
descriptionstringNo
created_atnumberNo
updated_atnumberNo
urlstringNo
iconstringNo
ordernumberNo
help_center_idnumberNo

Companies

createOrUpdate

companies.createOrUpdate Create or update a company Risk: write
await corsair.intercom.api.companies.createOrUpdate({});
Input
NameTypeRequiredDescription
company_idstringNo
namestringNo
remote_created_atnumberNo
planstringNo
sizenumberNo
websitestringNo
industrystringNo
monthly_spendnumberNo
custom_attributesobjectNo
{
}
Output
NameTypeRequiredDescription
typestringNo
idstringYes
company_idstringNo
namestringNo
created_atnumberNo
updated_atnumberNo
monthly_spendnumberNo
session_countnumberNo
user_countnumberNo
sizenumberNo
websitestringNo
industrystringNo

delete

companies.delete Delete a company [DESTRUCTIVE] Risk: destructive
await corsair.intercom.api.companies.delete({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
idstringYes
objectstringNo
deletedbooleanNo

get

companies.get Retrieve a company by Intercom ID Risk: read
await corsair.intercom.api.companies.get({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
company_idstringNo
namestringNo
created_atnumberNo
updated_atnumberNo
monthly_spendnumberNo
session_countnumberNo
user_countnumberNo
sizenumberNo
websitestringNo
industrystringNo

list

companies.list List all companies Risk: read
await corsair.intercom.api.companies.list({});
Input
NameTypeRequiredDescription
pagenumberNo
per_pagenumberNo
orderstringNo
tag_idstringNo
segment_idstringNo
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
pagesobjectNo
total_countnumberNo
{
  type?: string,
  id: string,
  company_id?: string,
  name?: string,
  created_at?: number,
  updated_at?: number,
  monthly_spend?: number,
  session_count?: number,
  user_count?: number,
  size?: number | null,
  website?: string | null,
  industry?: string | null
}[]
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}

listAttachedContacts

companies.listAttachedContacts List contacts attached to a company Risk: read
await corsair.intercom.api.companies.listAttachedContacts({});
Input
NameTypeRequiredDescription
idstringYes
pagenumberNo
per_pagenumberNo
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
pagesobjectNo
total_countnumberNo
{
  type?: string,
  id: string,
  external_id?: string | null,
  user_id?: string | null,
  email?: string,
  name?: string | null,
  phone?: string | null,
  role?: string,
  created_at?: number,
  updated_at?: number,
  last_seen_at?: number | null,
  unsubscribed_from_emails?: boolean
}[]
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}

listAttachedSegments

companies.listAttachedSegments List segments attached to a company Risk: read
await corsair.intercom.api.companies.listAttachedSegments({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
{
  type?: string,
  id: string,
  name?: string,
  created_at?: number,
  updated_at?: number,
  person_type?: string
}[]

retrieve

companies.retrieve Retrieve a company by company_id or name Risk: read
await corsair.intercom.api.companies.retrieve({});
Input
NameTypeRequiredDescription
company_idstringNo
namestringNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
company_idstringNo
namestringNo
created_atnumberNo
updated_atnumberNo
monthly_spendnumberNo
session_countnumberNo
user_countnumberNo
sizenumberNo
websitestringNo
industrystringNo

scroll

companies.scroll Scroll over all companies for large datasets Risk: read
await corsair.intercom.api.companies.scroll({});
Input
NameTypeRequiredDescription
scroll_paramstringNo
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
scroll_paramstringNo
pagesobjectNo
{
  type?: string,
  id: string,
  company_id?: string,
  name?: string,
  created_at?: number,
  updated_at?: number,
  monthly_spend?: number,
  session_count?: number,
  user_count?: number,
  size?: number | null,
  website?: string | null,
  industry?: string | null
}[]
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}

Contacts

addSubscription

contacts.addSubscription Add a subscription to a contact Risk: write
await corsair.intercom.api.contacts.addSubscription({});
Input
NameTypeRequiredDescription
contact_idstringYes
idstringYes
consent_typeopt_in | opt_outYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
statestringNo
consent_typestringNo
default_translationobjectNo
{
  name?: string,
  description?: string,
  locale?: string
}

addTag

contacts.addTag Add a tag to a contact Risk: write
await corsair.intercom.api.contacts.addTag({});
Input
NameTypeRequiredDescription
contact_idstringYes
tag_idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
namestringNo

attachToCompany

contacts.attachToCompany Attach a contact to a company Risk: write
await corsair.intercom.api.contacts.attachToCompany({});
Input
NameTypeRequiredDescription
contact_idstringYes
company_idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
company_idstringNo
namestringNo
created_atnumberNo
updated_atnumberNo
monthly_spendnumberNo
session_countnumberNo
user_countnumberNo
sizenumberNo
websitestringNo
industrystringNo

createNote

contacts.createNote Create a note for a contact Risk: write
await corsair.intercom.api.contacts.createNote({});
Input
NameTypeRequiredDescription
contact_idstringYes
bodystringYes
admin_idstringNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
bodystringNo
authorobjectNo
contactobjectNo
created_atnumberNo
{
  type?: string,
  id?: string,
  name?: string
}
{
  type?: string,
  id?: string
}

delete

contacts.delete Delete a contact [DESTRUCTIVE] Risk: destructive
await corsair.intercom.api.contacts.delete({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
idstringYes
objectstringNo
deletedbooleanNo

detachFromCompany

contacts.detachFromCompany Detach a contact from a company Risk: write
await corsair.intercom.api.contacts.detachFromCompany({});
Input
NameTypeRequiredDescription
contact_idstringYes
company_idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
company_idstringNo
namestringNo
created_atnumberNo
updated_atnumberNo
monthly_spendnumberNo
session_countnumberNo
user_countnumberNo
sizenumberNo
websitestringNo
industrystringNo

get

contacts.get Get a single contact by ID Risk: read
await corsair.intercom.api.contacts.get({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
external_idstringNo
user_idstringNo
emailstringNo
namestringNo
phonestringNo
rolestringNo
created_atnumberNo
updated_atnumberNo
last_seen_atnumberNo
unsubscribed_from_emailsbooleanNo

list

contacts.list List all contacts Risk: read
await corsair.intercom.api.contacts.list({});
Input
NameTypeRequiredDescription
pagenumberNo
per_pagenumberNo
starting_afterstringNo
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
pagesobjectNo
total_countnumberNo
{
  type?: string,
  id: string,
  external_id?: string | null,
  user_id?: string | null,
  email?: string,
  name?: string | null,
  phone?: string | null,
  role?: string,
  created_at?: number,
  updated_at?: number,
  last_seen_at?: number | null,
  unsubscribed_from_emails?: boolean
}[]
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}

listAttachedCompanies

contacts.listAttachedCompanies List companies attached to a contact Risk: read
await corsair.intercom.api.contacts.listAttachedCompanies({});
Input
NameTypeRequiredDescription
contact_idstringYes
pagenumberNo
per_pagenumberNo
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
pagesobjectNo
total_countnumberNo
{
  type?: string,
  id: string,
  company_id?: string,
  name?: string,
  created_at?: number,
  updated_at?: number,
  monthly_spend?: number,
  session_count?: number,
  user_count?: number,
  size?: number | null,
  website?: string | null,
  industry?: string | null
}[]
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}

listAttachedSegments

contacts.listAttachedSegments List segments attached to a contact Risk: read
await corsair.intercom.api.contacts.listAttachedSegments({});
Input
NameTypeRequiredDescription
contact_idstringYes
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
{
  type?: string,
  id: string,
  name?: string,
  created_at?: number,
  updated_at?: number,
  person_type?: string
}[]

listNotes

contacts.listNotes List all notes for a contact Risk: read
await corsair.intercom.api.contacts.listNotes({});
Input
NameTypeRequiredDescription
contact_idstringYes
pagenumberNo
per_pagenumberNo
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
pagesobjectNo
total_countnumberNo
{
  type?: string,
  id: string,
  body?: string,
  author?: {
    type?: string,
    id?: string,
    name?: string
  },
  contact?: {
    type?: string,
    id?: string
  },
  created_at?: number
}[]
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}

listSubscriptions

contacts.listSubscriptions List subscription types for a contact Risk: read
await corsair.intercom.api.contacts.listSubscriptions({});
Input
NameTypeRequiredDescription
contact_idstringYes
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
{
  type?: string,
  id: string,
  state?: string,
  consent_type?: string,
  default_translation?: {
    name?: string,
    description?: string,
    locale?: string
  }
}[]

listTags

contacts.listTags List all tags attached to a contact Risk: read
await corsair.intercom.api.contacts.listTags({});
Input
NameTypeRequiredDescription
contact_idstringYes
Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
{
  type?: string,
  id: string,
  name?: string
}[]

merge

contacts.merge Merge a lead into a user contact Risk: write
await corsair.intercom.api.contacts.merge({});
Input
NameTypeRequiredDescription
lead_idstringYes
user_idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
external_idstringNo
user_idstringNo
emailstringNo
namestringNo
phonestringNo
rolestringNo
created_atnumberNo
updated_atnumberNo
last_seen_atnumberNo
unsubscribed_from_emailsbooleanNo

removeSubscription

contacts.removeSubscription Remove a subscription from a contact Risk: write
await corsair.intercom.api.contacts.removeSubscription({});
Input
NameTypeRequiredDescription
contact_idstringYes
subscription_idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
statestringNo
consent_typestringNo
default_translationobjectNo
{
  name?: string,
  description?: string,
  locale?: string
}

removeTag

contacts.removeTag Remove a tag from a contact Risk: write
await corsair.intercom.api.contacts.removeTag({});
Input
NameTypeRequiredDescription
contact_idstringYes
tag_idstringYes
Output
NameTypeRequiredDescription
typestringNo
idstringYes
namestringNo

update

contacts.update Update an existing contact Risk: write
await corsair.intercom.api.contacts.update({});
Input
NameTypeRequiredDescription
idstringYes
emailstringNo
namestringNo
phonestringNo
roleuser | leadNo
external_idstringNo
unsubscribed_from_emailsbooleanNo
custom_attributesobjectNo
{
}
Output
NameTypeRequiredDescription
typestringNo
idstringYes
external_idstringNo
user_idstringNo
emailstringNo
namestringNo
phonestringNo
rolestringNo
created_atnumberNo
updated_atnumberNo
last_seen_atnumberNo
unsubscribed_from_emailsbooleanNo

Conversations

assign

conversations.assign Assign a conversation to an admin or team Risk: write
await corsair.intercom.api.conversations.assign({});
Input
NameTypeRequiredDescription
idstringYes
admin_idstringYes
assignee_idstringYes
typeadmin | teamNo
message_typeassignmentNo
bodystringNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
created_atnumberNo
updated_atnumberNo
waiting_sincenumberNo
snoozed_untilnumberNo
statestringNo
readbooleanNo
prioritystringNo
assigneeobjectNo
sourceobjectNo
conversation_partsobjectNo
{
  type?: string,
  id?: number | null
}
{
  type?: string,
  id?: string,
  subject?: string | null,
  body?: string | null,
  author?: {
    type?: string,
    id?: string
  }
}
{
  type?: string,
  conversation_parts?: {
    type?: string,
    id?: string,
    part_type?: string,
    body?: string | null,
    created_at?: number,
    updated_at?: number,
    author?: {
      type?: string,
      id?: string,
      name?: string | null
    }
  }[],
  total_count?: number
}

close

conversations.close Close a conversation Risk: write
await corsair.intercom.api.conversations.close({});
Input
NameTypeRequiredDescription
idstringYes
admin_idstringYes
message_typecloseNo
bodystringNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
created_atnumberNo
updated_atnumberNo
waiting_sincenumberNo
snoozed_untilnumberNo
statestringNo
readbooleanNo
prioritystringNo
assigneeobjectNo
sourceobjectNo
conversation_partsobjectNo
{
  type?: string,
  id?: number | null
}
{
  type?: string,
  id?: string,
  subject?: string | null,
  body?: string | null,
  author?: {
    type?: string,
    id?: string
  }
}
{
  type?: string,
  conversation_parts?: {
    type?: string,
    id?: string,
    part_type?: string,
    body?: string | null,
    created_at?: number,
    updated_at?: number,
    author?: {
      type?: string,
      id?: string,
      name?: string | null
    }
  }[],
  total_count?: number
}

create

conversations.create Create a new conversation Risk: write
await corsair.intercom.api.conversations.create({});
Input
NameTypeRequiredDescription
fromobjectYes
bodystringYes
{
  type: user | lead | contact,
  id: string
}
Output
NameTypeRequiredDescription
typestringNo
idstringYes
created_atnumberNo
updated_atnumberNo
waiting_sincenumberNo
snoozed_untilnumberNo
statestringNo
readbooleanNo
prioritystringNo
assigneeobjectNo
sourceobjectNo
conversation_partsobjectNo
{
  type?: string,
  id?: number | null
}
{
  type?: string,
  id?: string,
  subject?: string | null,
  body?: string | null,
  author?: {
    type?: string,
    id?: string
  }
}
{
  type?: string,
  conversation_parts?: {
    type?: string,
    id?: string,
    part_type?: string,
    body?: string | null,
    created_at?: number,
    updated_at?: number,
    author?: {
      type?: string,
      id?: string,
      name?: string | null
    }
  }[],
  total_count?: number
}

get

conversations.get Get a conversation by ID with all messages and details Risk: read
await corsair.intercom.api.conversations.get({});
Input
NameTypeRequiredDescription
idstringYes
display_asplaintext | htmlNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
created_atnumberNo
updated_atnumberNo
waiting_sincenumberNo
snoozed_untilnumberNo
statestringNo
readbooleanNo
prioritystringNo
assigneeobjectNo
sourceobjectNo
conversation_partsobjectNo
{
  type?: string,
  id?: number | null
}
{
  type?: string,
  id?: string,
  subject?: string | null,
  body?: string | null,
  author?: {
    type?: string,
    id?: string
  }
}
{
  type?: string,
  conversation_parts?: {
    type?: string,
    id?: string,
    part_type?: string,
    body?: string | null,
    created_at?: number,
    updated_at?: number,
    author?: {
      type?: string,
      id?: string,
      name?: string | null
    }
  }[],
  total_count?: number
}

list

conversations.list List conversations with filtering and pagination Risk: read
await corsair.intercom.api.conversations.list({});
Input
NameTypeRequiredDescription
pagenumberNo
per_pagenumberNo
sortstringNo
orderasc | descNo
starting_afterstringNo
Output
NameTypeRequiredDescription
typestringNo
pagesobjectNo
total_countnumberNo
conversationsobject[]Yes
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}
{
  type?: string,
  id: string,
  created_at?: number,
  updated_at?: number,
  waiting_since?: number | null,
  snoozed_until?: number | null,
  state?: string,
  read?: boolean,
  priority?: string,
  assignee?: {
    type?: string,
    id?: number | null
  },
  source?: {
    type?: string,
    id?: string,
    subject?: string | null,
    body?: string | null,
    author?: {
      type?: string,
      id?: string
    }
  },
  conversation_parts?: {
    type?: string,
    conversation_parts?: {
      type?: string,
      id?: string,
      part_type?: string,
      body?: string | null,
      created_at?: number,
      updated_at?: number,
      author?: {
        type?: string,
        id?: string,
        name?: string | null
      }
    }[],
    total_count?: number
  }
}[]

reopen

conversations.reopen Reopen a closed conversation Risk: write
await corsair.intercom.api.conversations.reopen({});
Input
NameTypeRequiredDescription
idstringYes
admin_idstringYes
message_typeopenNo
bodystringNo
Output
NameTypeRequiredDescription
typestringNo
idstringYes
created_atnumberNo
updated_atnumberNo
waiting_sincenumberNo
snoozed_untilnumberNo
statestringNo
readbooleanNo
prioritystringNo
assigneeobjectNo
sourceobjectNo
conversation_partsobjectNo
{
  type?: string,
  id?: number | null
}
{
  type?: string,
  id?: string,
  subject?: string | null,
  body?: string | null,
  author?: {
    type?: string,
    id?: string
  }
}
{
  type?: string,
  conversation_parts?: {
    type?: string,
    id?: string,
    part_type?: string,
    body?: string | null,
    created_at?: number,
    updated_at?: number,
    author?: {
      type?: string,
      id?: string,
      name?: string | null
    }
  }[],
  total_count?: number
}

reply

conversations.reply Send a reply to a conversation Risk: write
await corsair.intercom.api.conversations.reply({});
Input
NameTypeRequiredDescription
idstringYes
admin_idstringNo
intercom_user_idstringNo
message_typecomment | noteNo
typeadmin | userYes
bodystringYes
attachment_urlsstring[]No
Output
NameTypeRequiredDescription
typestringNo
idstringYes
created_atnumberNo
updated_atnumberNo
waiting_sincenumberNo
snoozed_untilnumberNo
statestringNo
readbooleanNo
prioritystringNo
assigneeobjectNo
sourceobjectNo
conversation_partsobjectNo
{
  type?: string,
  id?: number | null
}
{
  type?: string,
  id?: string,
  subject?: string | null,
  body?: string | null,
  author?: {
    type?: string,
    id?: string
  }
}
{
  type?: string,
  conversation_parts?: {
    type?: string,
    id?: string,
    part_type?: string,
    body?: string | null,
    created_at?: number,
    updated_at?: number,
    author?: {
      type?: string,
      id?: string,
      name?: string | null
    }
  }[],
  total_count?: number
}

search

conversations.search Search conversations using query string Risk: read
await corsair.intercom.api.conversations.search({});
Input
NameTypeRequiredDescription
queryobjectNo
sortobjectNo
paginationobjectNo
{
  field?: string,
  operator?: string,
  value?: string
}
{
  field?: string,
  order?: ascending | descending
}
{
  per_page?: number,
  starting_after?: string
}
Output
NameTypeRequiredDescription
typestringNo
pagesobjectNo
total_countnumberNo
conversationsobject[]Yes
{
  type?: string,
  page?: number,
  per_page?: number,
  total_pages?: number,
  next?: string | null
}
{
  type?: string,
  id: string,
  created_at?: number,
  updated_at?: number,
  waiting_since?: number | null,
  snoozed_until?: number | null,
  state?: string,
  read?: boolean,
  priority?: string,
  assignee?: {
    type?: string,
    id?: number | null
  },
  source?: {
    type?: string,
    id?: string,
    subject?: string | null,
    body?: string | null,
    author?: {
      type?: string,
      id?: string
    }
  },
  conversation_parts?: {
    type?: string,
    conversation_parts?: {
      type?: string,
      id?: string,
      part_type?: string,
      body?: string | null,
      created_at?: number,
      updated_at?: number,
      author?: {
        type?: string,
        id?: string,
        name?: string | null
      }
    }[],
    total_count?: number
  }
}[]

Help Centers

get

helpCenters.get Retrieve a single help center Risk: read
await corsair.intercom.api.helpCenters.get({});
Input
NameTypeRequiredDescription
idnumberYes
Output
NameTypeRequiredDescription
typestringNo
idnumberYes
workspace_idstringNo
identifierstringNo
website_turned_onbooleanNo
display_namestringNo

list

helpCenters.list List all help centers Risk: read
await corsair.intercom.api.helpCenters.list({});
Input: empty object Output
NameTypeRequiredDescription
typestringNo
dataobject[]Yes
{
  type?: string,
  id: number,
  workspace_id?: string,
  identifier?: string,
  website_turned_on?: boolean,
  display_name?: string
}[]