Customer SupportIntercom Integration
Customer Support

intercom Integration

intercom

Category: Customer Support
Provider Key: intercom


Configuration

To use intercom in your project, add it to your project integrations and provide the following configuration:

This integration requires no configuration parameters.


Available Methods

Quick reference:

  • Contacts: listContacts, getContact, createContact, updateContact, deleteContact, searchContacts, archiveContact, unarchiveContact, mergeContacts
  • Conversations: listConversations, getConversation, createConversation, replyToConversation, closeConversation, openConversation, assignConversation, snoozeConversation, searchConversations, tagConversation, untagConversation
  • Companies: listCompanies, getCompany, createOrUpdateCompany, deleteCompany, listCompanyContacts, attachContactToCompany, detachContactFromCompany
  • Articles: listArticles, getArticle, createArticle, updateArticle, deleteArticle, searchArticles
  • Help: listHelpCenters, getHelpCenter
  • Collections: listCollections, getCollection, createCollection, updateCollection, deleteCollection
  • Tags: listTags, getTag, createTag, updateTag, deleteTag, tagContact, untagContact, tagCompany, untagCompany
  • Admins: listAdmins, getAdmin, setAdminAway
  • Teams: listTeams, getTeam
  • Segments: listSegments, getSegment
  • Notes: listContactNotes, getNote, createNote
  • Events: createDataEvent, listUserEvents
  • Messages: sendInAppMessage, sendEmailMessage
  • Data: listDataAttributes, createDataAttribute, updateDataAttribute
  • Subscriptions: listSubscriptionTypes
  • Phone: createPhoneCallRedirect
  • Tickets: createTicket, getTicket, updateTicket, replyToTicket, searchTickets, listTicketTypes, getTicketType

Contacts

listContacts

List Contacts

Lists all contacts with pagination support

Parameters:

ParameterTypeRequiredDescription
perPagenumberNoNumber of results per page

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "listContactsAction",
  "provider": "intercom",
  "action": "listContacts",
  "parameters": [
    { "parameterName": "perPage", "parameterValue": "0" }
  ],
  "contextPropertyName": "listContactsResult"
}

MScript example:

await _intercom.listContacts({
  perPage: /* number */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listContacts({
  perPage: /* number */,
});

getContact

Get Contact

Gets a specific contact by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesContact ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getContactAction",
  "provider": "intercom",
  "action": "getContact",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getContactResult"
}

MScript example:

await _intercom.getContact({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getContact({
  id: /* string */,
});

createContact

Create Contact

Creates a new contact (user or lead)

Parameters:

ParameterTypeRequiredDescription
rolestringYesContact role ('user' or 'lead')
externalIdstringNoExternal ID for the contact
emailstringNoContact email address
phonestringNoContact phone number
namestringNoContact name
customAttributesObjectNoCustom attributes object

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createContactAction",
  "provider": "intercom",
  "action": "createContact",
  "parameters": [
    { "parameterName": "role", "parameterValue": "'your-role'" },
    { "parameterName": "externalId", "parameterValue": "'your-externalId'" },
    { "parameterName": "email", "parameterValue": "'your-email'" },
    { "parameterName": "phone", "parameterValue": "'your-phone'" },
    { "parameterName": "name", "parameterValue": "'your-name'" },
    { "parameterName": "customAttributes", "parameterValue": "{}" }
  ],
  "contextPropertyName": "createContactResult"
}

MScript example:

await _intercom.createContact({
  role: /* string */,
  externalId: /* string */,
  email: /* string */,
  phone: /* string */,
  name: /* string */,
  customAttributes: /* Object */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createContact({
  role: /* string */,
  externalId: /* string */,
  email: /* string */,
  phone: /* string */,
  name: /* string */,
  customAttributes: /* Object */,
});

updateContact

Update Contact

Updates an existing contact

Parameters:

ParameterTypeRequiredDescription
idstringYesContact ID to update
emailstringNoUpdated email address
phonestringNoUpdated phone number
namestringNoUpdated name
customAttributesObjectNoUpdated custom attributes

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "updateContactAction",
  "provider": "intercom",
  "action": "updateContact",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" },
    { "parameterName": "email", "parameterValue": "'your-email'" },
    { "parameterName": "phone", "parameterValue": "'your-phone'" },
    { "parameterName": "name", "parameterValue": "'your-name'" },
    { "parameterName": "customAttributes", "parameterValue": "{}" }
  ],
  "contextPropertyName": "updateContactResult"
}

MScript example:

await _intercom.updateContact({
  id: /* string */,
  email: /* string */,
  phone: /* string */,
  name: /* string */,
  customAttributes: /* Object */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.updateContact({
  id: /* string */,
  email: /* string */,
  phone: /* string */,
  name: /* string */,
  customAttributes: /* Object */,
});

deleteContact

Delete Contact

Deletes a contact by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesContact ID to delete

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "deleteContactAction",
  "provider": "intercom",
  "action": "deleteContact",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "deleteContactResult"
}

MScript example:

await _intercom.deleteContact({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.deleteContact({
  id: /* string */,
});

searchContacts

Search Contacts

Searches for contacts based on query parameters

Parameters:

ParameterTypeRequiredDescription
queryObjectYesSearch query object
querystringYesField to search on
querystringYesSearch operator (e.g., '=', '!=', 'contains')
querystringYesValue to search for

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "searchContactsAction",
  "provider": "intercom",
  "action": "searchContacts",
  "parameters": [
    { "parameterName": "query", "parameterValue": "{}" },
    { "parameterName": "query", "parameterValue": "'your-query'" },
    { "parameterName": "query", "parameterValue": "'your-query'" },
    { "parameterName": "query", "parameterValue": "'your-query'" }
  ],
  "contextPropertyName": "searchContactsResult"
}

MScript example:

await _intercom.searchContacts({
  query: /* Object */,
  query: /* string */,
  query: /* string */,
  query: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.searchContacts({
  query: /* Object */,
  query: /* string */,
  query: /* string */,
  query: /* string */,
});

archiveContact

Archive Contact

Archives a contact by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesContact ID to archive

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "archiveContactAction",
  "provider": "intercom",
  "action": "archiveContact",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "archiveContactResult"
}

MScript example:

await _intercom.archiveContact({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.archiveContact({
  id: /* string */,
});

unarchiveContact

Unarchive Contact

Unarchives a contact by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesContact ID to unarchive

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "unarchiveContactAction",
  "provider": "intercom",
  "action": "unarchiveContact",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "unarchiveContactResult"
}

MScript example:

await _intercom.unarchiveContact({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.unarchiveContact({
  id: /* string */,
});

mergeContacts

Merge Contacts

Merges two contacts together

Parameters:

ParameterTypeRequiredDescription
fromIdstringYesContact ID to merge from (will be deleted)
intoIdstringYesContact ID to merge into (will be kept)

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "mergeContactsAction",
  "provider": "intercom",
  "action": "mergeContacts",
  "parameters": [
    { "parameterName": "fromId", "parameterValue": "'your-fromId'" },
    { "parameterName": "intoId", "parameterValue": "'your-intoId'" }
  ],
  "contextPropertyName": "mergeContactsResult"
}

MScript example:

await _intercom.mergeContacts({
  fromId: /* string */,
  intoId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.mergeContacts({
  fromId: /* string */,
  intoId: /* string */,
});

Conversations

listConversations

List Conversations

Lists all conversations with pagination support

Parameters:

ParameterTypeRequiredDescription
perPagenumberNoNumber of results per page

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "listConversationsAction",
  "provider": "intercom",
  "action": "listConversations",
  "parameters": [
    { "parameterName": "perPage", "parameterValue": "0" }
  ],
  "contextPropertyName": "listConversationsResult"
}

MScript example:

await _intercom.listConversations({
  perPage: /* number */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listConversations({
  perPage: /* number */,
});

getConversation

Get Conversation

Gets a specific conversation by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesConversation ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getConversationAction",
  "provider": "intercom",
  "action": "getConversation",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getConversationResult"
}

MScript example:

await _intercom.getConversation({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getConversation({
  id: /* string */,
});

createConversation

Create Conversation

Creates a new conversation

Parameters:

ParameterTypeRequiredDescription
fromUserIdstringYesUser ID initiating the conversation
bodystringYesMessage body content

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createConversationAction",
  "provider": "intercom",
  "action": "createConversation",
  "parameters": [
    { "parameterName": "fromUserId", "parameterValue": "'your-fromUserId'" },
    { "parameterName": "body", "parameterValue": "'your-body'" }
  ],
  "contextPropertyName": "createConversationResult"
}

MScript example:

await _intercom.createConversation({
  fromUserId: /* string */,
  body: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createConversation({
  fromUserId: /* string */,
  body: /* string */,
});

replyToConversation

Reply to Conversation

Replies to a conversation

Parameters:

ParameterTypeRequiredDescription
conversationIdstringYesConversation ID to reply to
bodystringYesReply message body
typestringYesReply type ('admin' or 'user')
adminIdstringNoAdmin ID if type is 'admin'
userIdstringNoUser ID if type is 'user'
intercomUserIdstringNoIntercom user ID if type is 'user'

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "replyToConversationAction",
  "provider": "intercom",
  "action": "replyToConversation",
  "parameters": [
    { "parameterName": "conversationId", "parameterValue": "'your-conversationId'" },
    { "parameterName": "body", "parameterValue": "'your-body'" },
    { "parameterName": "type", "parameterValue": "'your-type'" },
    { "parameterName": "adminId", "parameterValue": "'your-adminId'" },
    { "parameterName": "userId", "parameterValue": "'your-userId'" },
    { "parameterName": "intercomUserId", "parameterValue": "'your-intercomUserId'" }
  ],
  "contextPropertyName": "replyToConversationResult"
}

MScript example:

await _intercom.replyToConversation({
  conversationId: /* string */,
  body: /* string */,
  type: /* string */,
  adminId: /* string */,
  userId: /* string */,
  intercomUserId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.replyToConversation({
  conversationId: /* string */,
  body: /* string */,
  type: /* string */,
  adminId: /* string */,
  userId: /* string */,
  intercomUserId: /* string */,
});

closeConversation

Close Conversation

Closes a conversation

Parameters:

ParameterTypeRequiredDescription
conversationIdstringYesConversation ID to close
adminIdstringYesAdmin ID performing the action
bodystringNoOptional closing message

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "closeConversationAction",
  "provider": "intercom",
  "action": "closeConversation",
  "parameters": [
    { "parameterName": "conversationId", "parameterValue": "'your-conversationId'" },
    { "parameterName": "adminId", "parameterValue": "'your-adminId'" },
    { "parameterName": "body", "parameterValue": "'your-body'" }
  ],
  "contextPropertyName": "closeConversationResult"
}

MScript example:

await _intercom.closeConversation({
  conversationId: /* string */,
  adminId: /* string */,
  body: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.closeConversation({
  conversationId: /* string */,
  adminId: /* string */,
  body: /* string */,
});

openConversation

Open Conversation

Opens/reopens a conversation

Parameters:

ParameterTypeRequiredDescription
conversationIdstringYesConversation ID to open
adminIdstringYesAdmin ID performing the action

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "openConversationAction",
  "provider": "intercom",
  "action": "openConversation",
  "parameters": [
    { "parameterName": "conversationId", "parameterValue": "'your-conversationId'" },
    { "parameterName": "adminId", "parameterValue": "'your-adminId'" }
  ],
  "contextPropertyName": "openConversationResult"
}

MScript example:

await _intercom.openConversation({
  conversationId: /* string */,
  adminId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.openConversation({
  conversationId: /* string */,
  adminId: /* string */,
});

assignConversation

Assign Conversation

Assigns a conversation to an admin or team

Parameters:

ParameterTypeRequiredDescription
conversationIdstringYesConversation ID to assign
adminIdstringYesAdmin ID performing the assignment
assigneeIdstringNoAdmin ID to assign to
teamIdstringNoTeam ID to assign to
bodystringNoOptional note about the assignment

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "assignConversationAction",
  "provider": "intercom",
  "action": "assignConversation",
  "parameters": [
    { "parameterName": "conversationId", "parameterValue": "'your-conversationId'" },
    { "parameterName": "adminId", "parameterValue": "'your-adminId'" },
    { "parameterName": "assigneeId", "parameterValue": "'your-assigneeId'" },
    { "parameterName": "teamId", "parameterValue": "'your-teamId'" },
    { "parameterName": "body", "parameterValue": "'your-body'" }
  ],
  "contextPropertyName": "assignConversationResult"
}

MScript example:

await _intercom.assignConversation({
  conversationId: /* string */,
  adminId: /* string */,
  assigneeId: /* string */,
  teamId: /* string */,
  body: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.assignConversation({
  conversationId: /* string */,
  adminId: /* string */,
  assigneeId: /* string */,
  teamId: /* string */,
  body: /* string */,
});

snoozeConversation

Snooze Conversation

Snoozes a conversation until a specified time

Parameters:

ParameterTypeRequiredDescription
conversationIdstringYesConversation ID to snooze
adminIdstringYesAdmin ID performing the action
snoozedUntilnumberYesUnix timestamp for when to unsnooze

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "snoozeConversationAction",
  "provider": "intercom",
  "action": "snoozeConversation",
  "parameters": [
    { "parameterName": "conversationId", "parameterValue": "'your-conversationId'" },
    { "parameterName": "adminId", "parameterValue": "'your-adminId'" },
    { "parameterName": "snoozedUntil", "parameterValue": "0" }
  ],
  "contextPropertyName": "snoozeConversationResult"
}

MScript example:

await _intercom.snoozeConversation({
  conversationId: /* string */,
  adminId: /* string */,
  snoozedUntil: /* number */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.snoozeConversation({
  conversationId: /* string */,
  adminId: /* string */,
  snoozedUntil: /* number */,
});

searchConversations

Search Conversations

Searches for conversations based on query parameters

Parameters:

ParameterTypeRequiredDescription
queryObjectYesSearch query object
querystringYesField to search on
querystringYesSearch operator
querystringYesValue to search for

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "searchConversationsAction",
  "provider": "intercom",
  "action": "searchConversations",
  "parameters": [
    { "parameterName": "query", "parameterValue": "{}" },
    { "parameterName": "query", "parameterValue": "'your-query'" },
    { "parameterName": "query", "parameterValue": "'your-query'" },
    { "parameterName": "query", "parameterValue": "'your-query'" }
  ],
  "contextPropertyName": "searchConversationsResult"
}

MScript example:

await _intercom.searchConversations({
  query: /* Object */,
  query: /* string */,
  query: /* string */,
  query: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.searchConversations({
  query: /* Object */,
  query: /* string */,
  query: /* string */,
  query: /* string */,
});

tagConversation

Tag Conversation

Adds tags to a conversation

Parameters:

ParameterTypeRequiredDescription
conversationIdstringYesConversation ID to tag
tagIdstringYesTag ID to add
adminIdstringYesAdmin ID performing the action

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "tagConversationAction",
  "provider": "intercom",
  "action": "tagConversation",
  "parameters": [
    { "parameterName": "conversationId", "parameterValue": "'your-conversationId'" },
    { "parameterName": "tagId", "parameterValue": "'your-tagId'" },
    { "parameterName": "adminId", "parameterValue": "'your-adminId'" }
  ],
  "contextPropertyName": "tagConversationResult"
}

MScript example:

await _intercom.tagConversation({
  conversationId: /* string */,
  tagId: /* string */,
  adminId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.tagConversation({
  conversationId: /* string */,
  tagId: /* string */,
  adminId: /* string */,
});

untagConversation

Untag Conversation

Removes a tag from a conversation

Parameters:

ParameterTypeRequiredDescription
conversationIdstringYesConversation ID to untag
tagIdstringYesTag ID to remove
adminIdstringYesAdmin ID performing the action

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "untagConversationAction",
  "provider": "intercom",
  "action": "untagConversation",
  "parameters": [
    { "parameterName": "conversationId", "parameterValue": "'your-conversationId'" },
    { "parameterName": "tagId", "parameterValue": "'your-tagId'" },
    { "parameterName": "adminId", "parameterValue": "'your-adminId'" }
  ],
  "contextPropertyName": "untagConversationResult"
}

MScript example:

await _intercom.untagConversation({
  conversationId: /* string */,
  tagId: /* string */,
  adminId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.untagConversation({
  conversationId: /* string */,
  tagId: /* string */,
  adminId: /* string */,
});

Companies

listCompanies

List Companies

Lists all companies with pagination support

Parameters:

ParameterTypeRequiredDescription
perPagenumberNoNumber of results per page

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "listCompaniesAction",
  "provider": "intercom",
  "action": "listCompanies",
  "parameters": [
    { "parameterName": "perPage", "parameterValue": "0" }
  ],
  "contextPropertyName": "listCompaniesResult"
}

MScript example:

await _intercom.listCompanies({
  perPage: /* number */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listCompanies({
  perPage: /* number */,
});

getCompany

Get Company

Gets a specific company by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesCompany ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getCompanyAction",
  "provider": "intercom",
  "action": "getCompany",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getCompanyResult"
}

MScript example:

await _intercom.getCompany({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getCompany({
  id: /* string */,
});

createOrUpdateCompany

Create/Update Company

Creates or updates a company

Parameters:

ParameterTypeRequiredDescription
companyIdstringYesExternal company ID
namestringNoCompany name
monthlySpendnumberNoMonthly spend amount
planstringNoPlan name
sizenumberNoCompany size
websitestringNoCompany website
industrystringNoIndustry name
customAttributesObjectNoCustom attributes

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createOrUpdateCompanyAction",
  "provider": "intercom",
  "action": "createOrUpdateCompany",
  "parameters": [
    { "parameterName": "companyId", "parameterValue": "'your-companyId'" },
    { "parameterName": "name", "parameterValue": "'your-name'" },
    { "parameterName": "monthlySpend", "parameterValue": "0" },
    { "parameterName": "plan", "parameterValue": "'your-plan'" },
    { "parameterName": "size", "parameterValue": "0" },
    { "parameterName": "website", "parameterValue": "'your-website'" },
    { "parameterName": "industry", "parameterValue": "'your-industry'" },
    { "parameterName": "customAttributes", "parameterValue": "{}" }
  ],
  "contextPropertyName": "createOrUpdateCompanyResult"
}

MScript example:

await _intercom.createOrUpdateCompany({
  companyId: /* string */,
  name: /* string */,
  monthlySpend: /* number */,
  plan: /* string */,
  size: /* number */,
  website: /* string */,
  industry: /* string */,
  customAttributes: /* Object */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createOrUpdateCompany({
  companyId: /* string */,
  name: /* string */,
  monthlySpend: /* number */,
  plan: /* string */,
  size: /* number */,
  website: /* string */,
  industry: /* string */,
  customAttributes: /* Object */,
});

deleteCompany

Delete Company

Deletes a company by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesCompany ID to delete

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "deleteCompanyAction",
  "provider": "intercom",
  "action": "deleteCompany",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "deleteCompanyResult"
}

MScript example:

await _intercom.deleteCompany({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.deleteCompany({
  id: /* string */,
});

listCompanyContacts

List Company Contacts

Lists contacts attached to a company

Parameters:

ParameterTypeRequiredDescription
companyIdstringYesCompany ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "listCompanyContactsAction",
  "provider": "intercom",
  "action": "listCompanyContacts",
  "parameters": [
    { "parameterName": "companyId", "parameterValue": "'your-companyId'" }
  ],
  "contextPropertyName": "listCompanyContactsResult"
}

MScript example:

await _intercom.listCompanyContacts({
  companyId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listCompanyContacts({
  companyId: /* string */,
});

attachContactToCompany

Attach Contact to Company

Attaches a contact to a company

Parameters:

ParameterTypeRequiredDescription
contactIdstringYesContact ID to attach
companyIdstringYesCompany ID to attach to

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "attachContactToCompanyAction",
  "provider": "intercom",
  "action": "attachContactToCompany",
  "parameters": [
    { "parameterName": "contactId", "parameterValue": "'your-contactId'" },
    { "parameterName": "companyId", "parameterValue": "'your-companyId'" }
  ],
  "contextPropertyName": "attachContactToCompanyResult"
}

MScript example:

await _intercom.attachContactToCompany({
  contactId: /* string */,
  companyId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.attachContactToCompany({
  contactId: /* string */,
  companyId: /* string */,
});

detachContactFromCompany

Detach Contact from Company

Detaches a contact from a company

Parameters:

ParameterTypeRequiredDescription
contactIdstringYesContact ID to detach
companyIdstringYesCompany ID to detach from

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "detachContactFromCompanyAction",
  "provider": "intercom",
  "action": "detachContactFromCompany",
  "parameters": [
    { "parameterName": "contactId", "parameterValue": "'your-contactId'" },
    { "parameterName": "companyId", "parameterValue": "'your-companyId'" }
  ],
  "contextPropertyName": "detachContactFromCompanyResult"
}

MScript example:

await _intercom.detachContactFromCompany({
  contactId: /* string */,
  companyId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.detachContactFromCompany({
  contactId: /* string */,
  companyId: /* string */,
});

Articles

listArticles

List Articles

Lists all articles with pagination support

Parameters:

ParameterTypeRequiredDescription
perPagenumberNoNumber of results per page

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "listArticlesAction",
  "provider": "intercom",
  "action": "listArticles",
  "parameters": [
    { "parameterName": "perPage", "parameterValue": "0" }
  ],
  "contextPropertyName": "listArticlesResult"
}

MScript example:

await _intercom.listArticles({
  perPage: /* number */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listArticles({
  perPage: /* number */,
});

getArticle

Get Article

Gets a specific article by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesArticle ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getArticleAction",
  "provider": "intercom",
  "action": "getArticle",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getArticleResult"
}

MScript example:

await _intercom.getArticle({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getArticle({
  id: /* string */,
});

createArticle

Create Article

Creates a new article

Parameters:

ParameterTypeRequiredDescription
titlestringYesArticle title
authorIdstringYesAuthor admin ID
descriptionstringNoArticle description
bodystringNoArticle body content (HTML)
statestringNoArticle state ('draft' or 'published')
parentIdstringNoParent collection or section ID
parentTypestringNoParent type ('collection' or 'section')

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createArticleAction",
  "provider": "intercom",
  "action": "createArticle",
  "parameters": [
    { "parameterName": "title", "parameterValue": "'your-title'" },
    { "parameterName": "authorId", "parameterValue": "'your-authorId'" },
    { "parameterName": "description", "parameterValue": "'your-description'" },
    { "parameterName": "body", "parameterValue": "'your-body'" },
    { "parameterName": "state", "parameterValue": "'your-state'" },
    { "parameterName": "parentId", "parameterValue": "'your-parentId'" },
    { "parameterName": "parentType", "parameterValue": "'your-parentType'" }
  ],
  "contextPropertyName": "createArticleResult"
}

MScript example:

await _intercom.createArticle({
  title: /* string */,
  authorId: /* string */,
  description: /* string */,
  body: /* string */,
  state: /* string */,
  parentId: /* string */,
  parentType: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createArticle({
  title: /* string */,
  authorId: /* string */,
  description: /* string */,
  body: /* string */,
  state: /* string */,
  parentId: /* string */,
  parentType: /* string */,
});

updateArticle

Update Article

Updates an existing article

Parameters:

ParameterTypeRequiredDescription
idstringYesArticle ID to update
titlestringNoUpdated title
descriptionstringNoUpdated description
bodystringNoUpdated body content
statestringNoUpdated state

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "updateArticleAction",
  "provider": "intercom",
  "action": "updateArticle",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" },
    { "parameterName": "title", "parameterValue": "'your-title'" },
    { "parameterName": "description", "parameterValue": "'your-description'" },
    { "parameterName": "body", "parameterValue": "'your-body'" },
    { "parameterName": "state", "parameterValue": "'your-state'" }
  ],
  "contextPropertyName": "updateArticleResult"
}

MScript example:

await _intercom.updateArticle({
  id: /* string */,
  title: /* string */,
  description: /* string */,
  body: /* string */,
  state: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.updateArticle({
  id: /* string */,
  title: /* string */,
  description: /* string */,
  body: /* string */,
  state: /* string */,
});

deleteArticle

Delete Article

Deletes an article by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesArticle ID to delete

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "deleteArticleAction",
  "provider": "intercom",
  "action": "deleteArticle",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "deleteArticleResult"
}

MScript example:

await _intercom.deleteArticle({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.deleteArticle({
  id: /* string */,
});

searchArticles

Search Articles

Searches for articles based on query

Parameters:

ParameterTypeRequiredDescription
phrasestringYesSearch phrase
helpCenterIdstringNoHelp center ID to search in
highlightbooleanNoWhether to highlight search terms
statestringNoFilter by article state

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "searchArticlesAction",
  "provider": "intercom",
  "action": "searchArticles",
  "parameters": [
    { "parameterName": "phrase", "parameterValue": "'your-phrase'" },
    { "parameterName": "helpCenterId", "parameterValue": "'your-helpCenterId'" },
    { "parameterName": "highlight", "parameterValue": "true" },
    { "parameterName": "state", "parameterValue": "'your-state'" }
  ],
  "contextPropertyName": "searchArticlesResult"
}

MScript example:

await _intercom.searchArticles({
  phrase: /* string */,
  helpCenterId: /* string */,
  highlight: /* boolean */,
  state: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.searchArticles({
  phrase: /* string */,
  helpCenterId: /* string */,
  highlight: /* boolean */,
  state: /* string */,
});

Help

listHelpCenters

List Help Centers

Lists all help centers

Parameters:

This method takes no parameters.

MScript example:

await _intercom.listHelpCenters()

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listHelpCenters();

getHelpCenter

Get Help Center

Gets a specific help center by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesHelp center ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getHelpCenterAction",
  "provider": "intercom",
  "action": "getHelpCenter",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getHelpCenterResult"
}

MScript example:

await _intercom.getHelpCenter({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getHelpCenter({
  id: /* string */,
});

Collections

listCollections

List Collections

Lists all collections

Parameters:

This method takes no parameters.

MScript example:

await _intercom.listCollections()

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listCollections();

getCollection

Get Collection

Gets a specific collection by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesCollection ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getCollectionAction",
  "provider": "intercom",
  "action": "getCollection",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getCollectionResult"
}

MScript example:

await _intercom.getCollection({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getCollection({
  id: /* string */,
});

createCollection

Create Collection

Creates a new collection

Parameters:

ParameterTypeRequiredDescription
namestringYesCollection name
descriptionstringNoCollection description
helpCenterIdstringNoHelp center ID to add collection to

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createCollectionAction",
  "provider": "intercom",
  "action": "createCollection",
  "parameters": [
    { "parameterName": "name", "parameterValue": "'your-name'" },
    { "parameterName": "description", "parameterValue": "'your-description'" },
    { "parameterName": "helpCenterId", "parameterValue": "'your-helpCenterId'" }
  ],
  "contextPropertyName": "createCollectionResult"
}

MScript example:

await _intercom.createCollection({
  name: /* string */,
  description: /* string */,
  helpCenterId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createCollection({
  name: /* string */,
  description: /* string */,
  helpCenterId: /* string */,
});

updateCollection

Update Collection

Updates a collection

Parameters:

ParameterTypeRequiredDescription
idstringYesCollection ID to update
namestringNoUpdated name
descriptionstringNoUpdated description

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "updateCollectionAction",
  "provider": "intercom",
  "action": "updateCollection",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" },
    { "parameterName": "name", "parameterValue": "'your-name'" },
    { "parameterName": "description", "parameterValue": "'your-description'" }
  ],
  "contextPropertyName": "updateCollectionResult"
}

MScript example:

await _intercom.updateCollection({
  id: /* string */,
  name: /* string */,
  description: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.updateCollection({
  id: /* string */,
  name: /* string */,
  description: /* string */,
});

deleteCollection

Delete Collection

Deletes a collection by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesCollection ID to delete

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "deleteCollectionAction",
  "provider": "intercom",
  "action": "deleteCollection",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "deleteCollectionResult"
}

MScript example:

await _intercom.deleteCollection({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.deleteCollection({
  id: /* string */,
});

Tags

listTags

List Tags

Lists all tags

Parameters:

This method takes no parameters.

MScript example:

await _intercom.listTags()

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listTags();

getTag

Get Tag

Gets a specific tag by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesTag ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getTagAction",
  "provider": "intercom",
  "action": "getTag",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getTagResult"
}

MScript example:

await _intercom.getTag({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getTag({
  id: /* string */,
});

createTag

Create Tag

Creates a new tag

Parameters:

ParameterTypeRequiredDescription
namestringYesTag name

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createTagAction",
  "provider": "intercom",
  "action": "createTag",
  "parameters": [
    { "parameterName": "name", "parameterValue": "'your-name'" }
  ],
  "contextPropertyName": "createTagResult"
}

MScript example:

await _intercom.createTag({
  name: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createTag({
  name: /* string */,
});

updateTag

Update Tag

Updates a tag name

Parameters:

ParameterTypeRequiredDescription
idstringYesTag ID to update
namestringYesNew tag name

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "updateTagAction",
  "provider": "intercom",
  "action": "updateTag",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" },
    { "parameterName": "name", "parameterValue": "'your-name'" }
  ],
  "contextPropertyName": "updateTagResult"
}

MScript example:

await _intercom.updateTag({
  id: /* string */,
  name: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.updateTag({
  id: /* string */,
  name: /* string */,
});

deleteTag

Delete Tag

Deletes a tag by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesTag ID to delete

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "deleteTagAction",
  "provider": "intercom",
  "action": "deleteTag",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "deleteTagResult"
}

MScript example:

await _intercom.deleteTag({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.deleteTag({
  id: /* string */,
});

tagContact

Tag Contact

Tags a contact with a specific tag

Parameters:

ParameterTypeRequiredDescription
contactIdstringYesContact ID to tag
tagIdstringYesTag ID to apply

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "tagContactAction",
  "provider": "intercom",
  "action": "tagContact",
  "parameters": [
    { "parameterName": "contactId", "parameterValue": "'your-contactId'" },
    { "parameterName": "tagId", "parameterValue": "'your-tagId'" }
  ],
  "contextPropertyName": "tagContactResult"
}

MScript example:

await _intercom.tagContact({
  contactId: /* string */,
  tagId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.tagContact({
  contactId: /* string */,
  tagId: /* string */,
});

untagContact

Untag Contact

Removes a tag from a contact

Parameters:

ParameterTypeRequiredDescription
contactIdstringYesContact ID to untag
tagIdstringYesTag ID to remove

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "untagContactAction",
  "provider": "intercom",
  "action": "untagContact",
  "parameters": [
    { "parameterName": "contactId", "parameterValue": "'your-contactId'" },
    { "parameterName": "tagId", "parameterValue": "'your-tagId'" }
  ],
  "contextPropertyName": "untagContactResult"
}

MScript example:

await _intercom.untagContact({
  contactId: /* string */,
  tagId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.untagContact({
  contactId: /* string */,
  tagId: /* string */,
});

tagCompany

Tag Company

Tags a company with a specific tag

Parameters:

ParameterTypeRequiredDescription
companyIdstringYesCompany ID to tag
tagNamestringYesTag name to apply

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "tagCompanyAction",
  "provider": "intercom",
  "action": "tagCompany",
  "parameters": [
    { "parameterName": "companyId", "parameterValue": "'your-companyId'" },
    { "parameterName": "tagName", "parameterValue": "'your-tagName'" }
  ],
  "contextPropertyName": "tagCompanyResult"
}

MScript example:

await _intercom.tagCompany({
  companyId: /* string */,
  tagName: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.tagCompany({
  companyId: /* string */,
  tagName: /* string */,
});

untagCompany

Untag Company

Removes a tag from a company

Parameters:

ParameterTypeRequiredDescription
companyIdstringYesCompany ID to untag
tagNamestringYesTag name to remove

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "untagCompanyAction",
  "provider": "intercom",
  "action": "untagCompany",
  "parameters": [
    { "parameterName": "companyId", "parameterValue": "'your-companyId'" },
    { "parameterName": "tagName", "parameterValue": "'your-tagName'" }
  ],
  "contextPropertyName": "untagCompanyResult"
}

MScript example:

await _intercom.untagCompany({
  companyId: /* string */,
  tagName: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.untagCompany({
  companyId: /* string */,
  tagName: /* string */,
});

Admins

listAdmins

List Admins

Lists all admins

Parameters:

This method takes no parameters.

MScript example:

await _intercom.listAdmins()

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listAdmins();

getAdmin

Get Admin

Gets a specific admin by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesAdmin ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getAdminAction",
  "provider": "intercom",
  "action": "getAdmin",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getAdminResult"
}

MScript example:

await _intercom.getAdmin({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getAdmin({
  id: /* string */,
});

setAdminAway

Set Admin Away

Sets an admin as away with optional reassignment

Parameters:

ParameterTypeRequiredDescription
adminIdstringYesAdmin ID to set away
awaybooleanYesWhether to set away (true) or available (false)
reassignConversationsbooleanYesWhether to reassign open conversations

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "setAdminAwayAction",
  "provider": "intercom",
  "action": "setAdminAway",
  "parameters": [
    { "parameterName": "adminId", "parameterValue": "'your-adminId'" },
    { "parameterName": "away", "parameterValue": "true" },
    { "parameterName": "reassignConversations", "parameterValue": "true" }
  ],
  "contextPropertyName": "setAdminAwayResult"
}

MScript example:

await _intercom.setAdminAway({
  adminId: /* string */,
  away: /* boolean */,
  reassignConversations: /* boolean */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.setAdminAway({
  adminId: /* string */,
  away: /* boolean */,
  reassignConversations: /* boolean */,
});

Teams

listTeams

List Teams

Lists all teams

Parameters:

This method takes no parameters.

MScript example:

await _intercom.listTeams()

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listTeams();

getTeam

Get Team

Gets a specific team by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesTeam ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getTeamAction",
  "provider": "intercom",
  "action": "getTeam",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getTeamResult"
}

MScript example:

await _intercom.getTeam({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getTeam({
  id: /* string */,
});

Segments

listSegments

List Segments

Lists all segments

Parameters:

This method takes no parameters.

MScript example:

await _intercom.listSegments()

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listSegments();

getSegment

Get Segment

Gets a specific segment by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesSegment ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getSegmentAction",
  "provider": "intercom",
  "action": "getSegment",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getSegmentResult"
}

MScript example:

await _intercom.getSegment({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getSegment({
  id: /* string */,
});

Notes

listContactNotes

List Contact Notes

Lists notes for a contact

Parameters:

ParameterTypeRequiredDescription
contactIdstringYesContact ID to list notes for

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "listContactNotesAction",
  "provider": "intercom",
  "action": "listContactNotes",
  "parameters": [
    { "parameterName": "contactId", "parameterValue": "'your-contactId'" }
  ],
  "contextPropertyName": "listContactNotesResult"
}

MScript example:

await _intercom.listContactNotes({
  contactId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listContactNotes({
  contactId: /* string */,
});

getNote

Get Note

Gets a specific note by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesNote ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getNoteAction",
  "provider": "intercom",
  "action": "getNote",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getNoteResult"
}

MScript example:

await _intercom.getNote({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getNote({
  id: /* string */,
});

createNote

Create Note

Creates a note on a contact

Parameters:

ParameterTypeRequiredDescription
contactIdstringYesContact ID to add note to
bodystringYesNote content
adminIdstringNoAdmin ID creating the note

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createNoteAction",
  "provider": "intercom",
  "action": "createNote",
  "parameters": [
    { "parameterName": "contactId", "parameterValue": "'your-contactId'" },
    { "parameterName": "body", "parameterValue": "'your-body'" },
    { "parameterName": "adminId", "parameterValue": "'your-adminId'" }
  ],
  "contextPropertyName": "createNoteResult"
}

MScript example:

await _intercom.createNote({
  contactId: /* string */,
  body: /* string */,
  adminId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createNote({
  contactId: /* string */,
  body: /* string */,
  adminId: /* string */,
});

Events

createDataEvent

Create Data Event

Creates a data event for tracking

Parameters:

ParameterTypeRequiredDescription
eventNamestringYesName of the event
createdAtnumberYesUnix timestamp of when event occurred
userIdstringNoUser ID
emailstringNoUser email
intercomUserIdstringNoIntercom user ID
metadataObjectNoAdditional event metadata

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createDataEventAction",
  "provider": "intercom",
  "action": "createDataEvent",
  "parameters": [
    { "parameterName": "eventName", "parameterValue": "'your-eventName'" },
    { "parameterName": "createdAt", "parameterValue": "0" },
    { "parameterName": "userId", "parameterValue": "'your-userId'" },
    { "parameterName": "email", "parameterValue": "'your-email'" },
    { "parameterName": "intercomUserId", "parameterValue": "'your-intercomUserId'" },
    { "parameterName": "metadata", "parameterValue": "{}" }
  ],
  "contextPropertyName": "createDataEventResult"
}

MScript example:

await _intercom.createDataEvent({
  eventName: /* string */,
  createdAt: /* number */,
  userId: /* string */,
  email: /* string */,
  intercomUserId: /* string */,
  metadata: /* Object */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createDataEvent({
  eventName: /* string */,
  createdAt: /* number */,
  userId: /* string */,
  email: /* string */,
  intercomUserId: /* string */,
  metadata: /* Object */,
});

listUserEvents

List User Events

Lists events for a user

Parameters:

ParameterTypeRequiredDescription
typestringYesIdentifier type ('user_id', 'email', or 'intercom_user_id')
valuestringYesIdentifier value

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "listUserEventsAction",
  "provider": "intercom",
  "action": "listUserEvents",
  "parameters": [
    { "parameterName": "type", "parameterValue": "'your-type'" },
    { "parameterName": "value", "parameterValue": "'your-value'" }
  ],
  "contextPropertyName": "listUserEventsResult"
}

MScript example:

await _intercom.listUserEvents({
  type: /* string */,
  value: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listUserEvents({
  type: /* string */,
  value: /* string */,
});

Messages

sendInAppMessage

Send In-App Message

Sends an in-app message to a user

Parameters:

ParameterTypeRequiredDescription
fromAdminIdstringYesAdmin ID sending the message
toUserIdstringYesUser ID to send message to
bodystringYesMessage body
subjectstringNoMessage subject

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "sendInAppMessageAction",
  "provider": "intercom",
  "action": "sendInAppMessage",
  "parameters": [
    { "parameterName": "fromAdminId", "parameterValue": "'your-fromAdminId'" },
    { "parameterName": "toUserId", "parameterValue": "'your-toUserId'" },
    { "parameterName": "body", "parameterValue": "'your-body'" },
    { "parameterName": "subject", "parameterValue": "'your-subject'" }
  ],
  "contextPropertyName": "sendInAppMessageResult"
}

MScript example:

await _intercom.sendInAppMessage({
  fromAdminId: /* string */,
  toUserId: /* string */,
  body: /* string */,
  subject: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.sendInAppMessage({
  fromAdminId: /* string */,
  toUserId: /* string */,
  body: /* string */,
  subject: /* string */,
});

sendEmailMessage

Send Email Message

Sends an email message to a user

Parameters:

ParameterTypeRequiredDescription
fromAdminIdstringYesAdmin ID sending the email
toUserIdstringYesUser ID to send email to
bodystringYesEmail body
subjectstringYesEmail subject
templatestringNoEmail template ('plain' or 'personal')

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "sendEmailMessageAction",
  "provider": "intercom",
  "action": "sendEmailMessage",
  "parameters": [
    { "parameterName": "fromAdminId", "parameterValue": "'your-fromAdminId'" },
    { "parameterName": "toUserId", "parameterValue": "'your-toUserId'" },
    { "parameterName": "body", "parameterValue": "'your-body'" },
    { "parameterName": "subject", "parameterValue": "'your-subject'" },
    { "parameterName": "template", "parameterValue": "'your-template'" }
  ],
  "contextPropertyName": "sendEmailMessageResult"
}

MScript example:

await _intercom.sendEmailMessage({
  fromAdminId: /* string */,
  toUserId: /* string */,
  body: /* string */,
  subject: /* string */,
  template: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.sendEmailMessage({
  fromAdminId: /* string */,
  toUserId: /* string */,
  body: /* string */,
  subject: /* string */,
  template: /* string */,
});

Data

listDataAttributes

List Data Attributes

Lists all data attributes

Parameters:

ParameterTypeRequiredDescription
modelstringNoModel type ('contact', 'company', or 'conversation')

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "listDataAttributesAction",
  "provider": "intercom",
  "action": "listDataAttributes",
  "parameters": [
    { "parameterName": "model", "parameterValue": "'your-model'" }
  ],
  "contextPropertyName": "listDataAttributesResult"
}

MScript example:

await _intercom.listDataAttributes({
  model: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listDataAttributes({
  model: /* string */,
});

createDataAttribute

Create Data Attribute

Creates a new data attribute

Parameters:

ParameterTypeRequiredDescription
namestringYesAttribute name
modelstringYesModel type ('contact', 'company', or 'conversation')
dataTypestringYesData type ('string', 'integer', 'float', 'boolean', 'date')
descriptionstringNoAttribute description
optionsArray<string>NoOptions for list type attributes

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createDataAttributeAction",
  "provider": "intercom",
  "action": "createDataAttribute",
  "parameters": [
    { "parameterName": "name", "parameterValue": "'your-name'" },
    { "parameterName": "model", "parameterValue": "'your-model'" },
    { "parameterName": "dataType", "parameterValue": "'your-dataType'" },
    { "parameterName": "description", "parameterValue": "'your-description'" },
    { "parameterName": "options", "parameterValue": "'your-options'" }
  ],
  "contextPropertyName": "createDataAttributeResult"
}

MScript example:

await _intercom.createDataAttribute({
  name: /* string */,
  model: /* string */,
  dataType: /* string */,
  description: /* string */,
  options: /* Array<string> */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createDataAttribute({
  name: /* string */,
  model: /* string */,
  dataType: /* string */,
  description: /* string */,
  options: /* Array<string> */,
});

updateDataAttribute

Update Data Attribute

Updates a data attribute

Parameters:

ParameterTypeRequiredDescription
idstringYesAttribute ID to update
descriptionstringNoUpdated description
optionsArray&lt;string&gt;NoUpdated options
archivedbooleanNoWhether to archive the attribute

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "updateDataAttributeAction",
  "provider": "intercom",
  "action": "updateDataAttribute",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" },
    { "parameterName": "description", "parameterValue": "'your-description'" },
    { "parameterName": "options", "parameterValue": "'your-options'" },
    { "parameterName": "archived", "parameterValue": "true" }
  ],
  "contextPropertyName": "updateDataAttributeResult"
}

MScript example:

await _intercom.updateDataAttribute({
  id: /* string */,
  description: /* string */,
  options: /* Array<string> */,
  archived: /* boolean */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.updateDataAttribute({
  id: /* string */,
  description: /* string */,
  options: /* Array<string> */,
  archived: /* boolean */,
});

Subscriptions

listSubscriptionTypes

List Subscription Types

Lists all subscription types

Parameters:

This method takes no parameters.

MScript example:

await _intercom.listSubscriptionTypes()

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listSubscriptionTypes();

Phone

createPhoneCallRedirect

Create Phone Call Redirect

Redirects a phone call

Parameters:

ParameterTypeRequiredDescription
phoneNumberstringYesPhone number to redirect
customAttributesObjectNoCustom attributes for the call

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createPhoneCallRedirectAction",
  "provider": "intercom",
  "action": "createPhoneCallRedirect",
  "parameters": [
    { "parameterName": "phoneNumber", "parameterValue": "'your-phoneNumber'" },
    { "parameterName": "customAttributes", "parameterValue": "{}" }
  ],
  "contextPropertyName": "createPhoneCallRedirectResult"
}

MScript example:

await _intercom.createPhoneCallRedirect({
  phoneNumber: /* string */,
  customAttributes: /* Object */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createPhoneCallRedirect({
  phoneNumber: /* string */,
  customAttributes: /* Object */,
});

Tickets

createTicket

Create Ticket

Creates a new ticket

Parameters:

ParameterTypeRequiredDescription
ticketTypeIdstringYesTicket type ID
contactsObjectYesContact information
contactsstringNoContact ID
contactsstringNoContact email
ticketAttributesObjectNoTicket custom attributes

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "createTicketAction",
  "provider": "intercom",
  "action": "createTicket",
  "parameters": [
    { "parameterName": "ticketTypeId", "parameterValue": "'your-ticketTypeId'" },
    { "parameterName": "contacts", "parameterValue": "{}" },
    { "parameterName": "contacts", "parameterValue": "'your-contacts'" },
    { "parameterName": "contacts", "parameterValue": "'your-contacts'" },
    { "parameterName": "ticketAttributes", "parameterValue": "{}" }
  ],
  "contextPropertyName": "createTicketResult"
}

MScript example:

await _intercom.createTicket({
  ticketTypeId: /* string */,
  contacts: /* Object */,
  contacts: /* string */,
  contacts: /* string */,
  ticketAttributes: /* Object */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.createTicket({
  ticketTypeId: /* string */,
  contacts: /* Object */,
  contacts: /* string */,
  contacts: /* string */,
  ticketAttributes: /* Object */,
});

getTicket

Get Ticket

Gets a specific ticket by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesTicket ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getTicketAction",
  "provider": "intercom",
  "action": "getTicket",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getTicketResult"
}

MScript example:

await _intercom.getTicket({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getTicket({
  id: /* string */,
});

updateTicket

Update Ticket

Updates a ticket

Parameters:

ParameterTypeRequiredDescription
idstringYesTicket ID to update
ticketAttributesObjectNoUpdated ticket attributes
statestringNoUpdated state
assigneeIdstringNoAdmin ID to assign to

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "updateTicketAction",
  "provider": "intercom",
  "action": "updateTicket",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" },
    { "parameterName": "ticketAttributes", "parameterValue": "{}" },
    { "parameterName": "state", "parameterValue": "'your-state'" },
    { "parameterName": "assigneeId", "parameterValue": "'your-assigneeId'" }
  ],
  "contextPropertyName": "updateTicketResult"
}

MScript example:

await _intercom.updateTicket({
  id: /* string */,
  ticketAttributes: /* Object */,
  state: /* string */,
  assigneeId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.updateTicket({
  id: /* string */,
  ticketAttributes: /* Object */,
  state: /* string */,
  assigneeId: /* string */,
});

replyToTicket

Reply to Ticket

Replies to a ticket

Parameters:

ParameterTypeRequiredDescription
ticketIdstringYesTicket ID to reply to
bodystringYesReply message body
typestringYesReply type ('admin' or 'user')
adminIdstringNoAdmin ID if type is 'admin'
intercomUserIdstringNoIntercom user ID if type is 'user'

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "replyToTicketAction",
  "provider": "intercom",
  "action": "replyToTicket",
  "parameters": [
    { "parameterName": "ticketId", "parameterValue": "'your-ticketId'" },
    { "parameterName": "body", "parameterValue": "'your-body'" },
    { "parameterName": "type", "parameterValue": "'your-type'" },
    { "parameterName": "adminId", "parameterValue": "'your-adminId'" },
    { "parameterName": "intercomUserId", "parameterValue": "'your-intercomUserId'" }
  ],
  "contextPropertyName": "replyToTicketResult"
}

MScript example:

await _intercom.replyToTicket({
  ticketId: /* string */,
  body: /* string */,
  type: /* string */,
  adminId: /* string */,
  intercomUserId: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.replyToTicket({
  ticketId: /* string */,
  body: /* string */,
  type: /* string */,
  adminId: /* string */,
  intercomUserId: /* string */,
});

searchTickets

Search Tickets

Searches for tickets based on query parameters

Parameters:

ParameterTypeRequiredDescription
queryObjectYesSearch query object
querystringYesField to search on
querystringYesSearch operator
querystringYesValue to search for

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "searchTicketsAction",
  "provider": "intercom",
  "action": "searchTickets",
  "parameters": [
    { "parameterName": "query", "parameterValue": "{}" },
    { "parameterName": "query", "parameterValue": "'your-query'" },
    { "parameterName": "query", "parameterValue": "'your-query'" },
    { "parameterName": "query", "parameterValue": "'your-query'" }
  ],
  "contextPropertyName": "searchTicketsResult"
}

MScript example:

await _intercom.searchTickets({
  query: /* Object */,
  query: /* string */,
  query: /* string */,
  query: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.searchTickets({
  query: /* Object */,
  query: /* string */,
  query: /* string */,
  query: /* string */,
});

listTicketTypes

List Ticket Types

Lists all ticket types

Parameters:

This method takes no parameters.

MScript example:

await _intercom.listTicketTypes()

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.listTicketTypes();

getTicketType

Get Ticket Type

Gets a specific ticket type by ID

Parameters:

ParameterTypeRequiredDescription
idstringYesTicket type ID

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getTicketTypeAction",
  "provider": "intercom",
  "action": "getTicketType",
  "parameters": [
    { "parameterName": "id", "parameterValue": "'your-id'" }
  ],
  "contextPropertyName": "getTicketTypeResult"
}

MScript example:

await _intercom.getTicketType({
  id: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("intercom");
const result = await client.getTicketType({
  id: /* string */,
});