Conversation ID
Type: string
Type: object
{
"user_id" : "string",
"admin_id" : "string",
"intercom_user_id" : "string",
"email" : "string",
"customer" : {
"user_id" : "string",
"intercom_user_id" : "string",
"email" : "string"
}
}
Archive a user. The archive action will not perform a 'hard' delete. If you want to permanently delete your user then you will need to use the permanent delete API.
The email you have defined for the user
Type: string
The user id you have defined for the user
Type: string
Leads can be converted to Users. This is done by passing both Lead and User identifiers. If the User exists, then the Lead will be merged into it, the Lead deleted and the User returned. If the User does not exist, the Lead will be converted to a User, with the User identifiers replacing it's Lead identifiers.
Type: object
{
"contact" : {
"last_request_at" : "The time the Lead last recorded making a request",
"utm_campaign" : "Identifies a specific product promotion or strategic campaign",
"utm_medium" : "Identifies what type of link was used",
"created_at" : "The time the Lead was added to Intercom",
"avatar" : { },
"type" : "string",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"utm_term" : "Identifies search terms",
"referrer" : "The URL of the page the lead was last on",
"companies" : [ {
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
} ],
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"unsubscribed_from_emails" : "Whether the Lead is unsubscribed from emails",
"updated_at" : "The last time the Lead was updated",
"user_id" : "Automatically generated identifier for the Lead",
"phone" : "The phone number you have defined for the lead",
"location_data" : {
"country_code" : "Optional. An ISO 3166 country code",
"city_name" : "Optional. A city name",
"timezone" : "Optional. An ISO 8601 timezone",
"latitude" : "Optional. The latitude",
"country_name" : "Optional. The country name",
"continent_code" : "Optional. A continent code",
"region_name" : "Optional. A region name",
"type" : "string",
"postal_code" : "Optional. A postal code",
"longitude" : "Optional. The longitude"
},
"name" : "The name of the Lead",
"id" : "The Intercom defined id representing the Lead",
"email" : "The email you have defined for the Lead",
"utm_source" : "Identifies which site sent the traffic",
"utm_content" : "Identifies what specifically was clicked to bring the user to the site"
},
"user" : {
"utm_medium" : "Identifies what type of link was used",
"created_at" : "The time (in seconds) the user was added to Intercom",
"type" : "Value is 'user' or 'contact'",
"pseudonym" : "The pseudonym used if this user was previously a Lead (http://docs.intercom.io/Intercom-for-customer-communication/the-intercom-messenger)",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"companies" : [ {
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
} ],
"unsubscribed_from_emails" : "Whether the user is unsubscribed from emails",
"updated_at" : "The last time the user was updated",
"location_data" : {
"country_code" : "Optional. An ISO 3166 country code",
"city_name" : "Optional. A city name",
"timezone" : "Optional. An ISO 8601 timezone",
"latitude" : "Optional. The latitude",
"country_name" : "Optional. The country name",
"continent_code" : "Optional. A continent code",
"region_name" : "Optional. A region name",
"type" : "string",
"postal_code" : "Optional. A postal code",
"longitude" : "Optional. The longitude"
},
"id" : "The Intercom defined id representing the user",
"email" : "The email you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"utm_content" : "Identifies what specifically was clicked to bring the user to the site",
"signed_up_at" : "The time (in seconds) the user signed up",
"last_request_at" : "The time the user last recorded making a request",
"utm_campaign" : "Identifies a specific product promotion or strategic campaign",
"avatar" : { },
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"utm_term" : "Identifies search terms",
"referrer" : "The URL of the page the user was last on",
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"user_id" : "The user id you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"phone" : "The phone number of the user",
"session_count" : "How many sessions the user has recorded",
"name" : "The full name of the user",
"anonymous" : "Whether or not this is a Lead. Always false",
"utm_source" : "Identifies which site sent the traffic"
}
}
Visitors can be converted to Users. This is done by passing both Visitor and User identifiers and a type attribute set to 'user'. If the User exists, then the Visitor will be merged into it, the Visitor deleted and the User returned. If the User does not exist, the Visitor will be converted to a User, with the User identifiers replacing its Visitor identifiers. Visitors can be converted to Leads. This is done by passing Visitor identifiers and a type attribute set to 'lead'.
Type: object
{
"visitor" : {
"last_request_at" : "The time the Lead last recorded making a request",
"created_at" : "The time the Visitor was added to Intercom",
"avatar" : {
"image_url" : "An avatar image URL. note: the image url needs to be https.",
"type" : "string"
},
"type" : "string",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"unsubscribed_from_emails" : "Whether the Visitor is unsubscribed from emails",
"updated_at" : "The last time the Visitor was updated",
"user_id" : "Automatically generated identifier for the Visitor",
"location_data" : {
"image_url" : "An avatar image URL. note: the image url needs to be https.",
"type" : "string"
},
"name" : "The name of the Visitor",
"id" : "The Intercom defined id representing the Visitor"
},
"type" : "string. Possible values: user | lead",
"user" : {
"utm_medium" : "Identifies what type of link was used",
"created_at" : "The time (in seconds) the user was added to Intercom",
"type" : "Value is 'user' or 'contact'",
"pseudonym" : "The pseudonym used if this user was previously a Lead (http://docs.intercom.io/Intercom-for-customer-communication/the-intercom-messenger)",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"companies" : [ {
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
} ],
"unsubscribed_from_emails" : "Whether the user is unsubscribed from emails",
"updated_at" : "The last time the user was updated",
"location_data" : {
"country_code" : "Optional. An ISO 3166 country code",
"city_name" : "Optional. A city name",
"timezone" : "Optional. An ISO 8601 timezone",
"latitude" : "Optional. The latitude",
"country_name" : "Optional. The country name",
"continent_code" : "Optional. A continent code",
"region_name" : "Optional. A region name",
"type" : "string",
"postal_code" : "Optional. A postal code",
"longitude" : "Optional. The longitude"
},
"id" : "The Intercom defined id representing the user",
"email" : "The email you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"utm_content" : "Identifies what specifically was clicked to bring the user to the site",
"signed_up_at" : "The time (in seconds) the user signed up",
"last_request_at" : "The time the user last recorded making a request",
"utm_campaign" : "Identifies a specific product promotion or strategic campaign",
"avatar" : { },
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"utm_term" : "Identifies search terms",
"referrer" : "The URL of the page the user was last on",
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"user_id" : "The user id you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"phone" : "The phone number of the user",
"session_count" : "How many sessions the user has recorded",
"name" : "The full name of the user",
"anonymous" : "Whether or not this is a Lead. Always false",
"utm_source" : "Identifies which site sent the traffic"
}
}
Create or update a company. Companies are looked up via company_id. If not found via company_id, the new company will be created. If found, that company will be updated.
Type: object
{
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
}
Create an event.
Type: object
{
"metadata" : "optional metadata about the event.",
"user_id" : "Your identifier for the user.",
"event_name" : "The name of the event that occurred. This is presented to your App's admins when filtering and creating segments - a good event name is typically a past tense 'verb-noun' combination, to improve readability, for example `updated-plan`.",
"created_at" : "The time the event occurred as a UTC Unix timestamp",
"id" : "Your identifier for a lead or a user.",
"email" : "An email address for your user. An email should only be used where your application uses email to uniquely identify users"
}
Create or update a lead
Type: object
{
"last_request_at" : "The time the Lead last recorded making a request",
"utm_campaign" : "Identifies a specific product promotion or strategic campaign",
"utm_medium" : "Identifies what type of link was used",
"created_at" : "The time the Lead was added to Intercom",
"avatar" : { },
"type" : "string",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"utm_term" : "Identifies search terms",
"referrer" : "The URL of the page the lead was last on",
"companies" : [ {
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
} ],
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"unsubscribed_from_emails" : "Whether the Lead is unsubscribed from emails",
"updated_at" : "The last time the Lead was updated",
"user_id" : "Automatically generated identifier for the Lead",
"phone" : "The phone number you have defined for the lead",
"location_data" : {
"country_code" : "Optional. An ISO 3166 country code",
"city_name" : "Optional. A city name",
"timezone" : "Optional. An ISO 8601 timezone",
"latitude" : "Optional. The latitude",
"country_name" : "Optional. The country name",
"continent_code" : "Optional. A continent code",
"region_name" : "Optional. A region name",
"type" : "string",
"postal_code" : "Optional. A postal code",
"longitude" : "Optional. The longitude"
},
"name" : "The name of the Lead",
"id" : "The Intercom defined id representing the Lead",
"email" : "The email you have defined for the Lead",
"utm_source" : "Identifies which site sent the traffic",
"utm_content" : "Identifies what specifically was clicked to bring the user to the site"
}
Create a note.
Type: object
{
"author" : {
"team_ids" : [ "string" ],
"name" : "The name of the admin",
"away_mode_enabled" : "Identifies if this admin is currently set in away mode.",
"away_mode_reassign" : "Identifies if this admin is set to automatically reassign new conversations to the apps default inbox.",
"id" : "The id of the admin",
"avatar" : "Image for the associated team or teammate",
"type" : "string",
"has_inbox_seat" : "Identifies if a teammate has a paid inbox seat to restrict/allow features that require them",
"job_title" : "The job title of the admin",
"email" : "The email address of the admin"
},
"created_at" : "The time the note was created",
"id" : "The id representing the note",
"type" : "string",
"body" : "The body text of the note.",
"user" : {
"utm_medium" : "Identifies what type of link was used",
"created_at" : "The time (in seconds) the user was added to Intercom",
"type" : "Value is 'user' or 'contact'",
"pseudonym" : "The pseudonym used if this user was previously a Lead (http://docs.intercom.io/Intercom-for-customer-communication/the-intercom-messenger)",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"companies" : [ {
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
} ],
"unsubscribed_from_emails" : "Whether the user is unsubscribed from emails",
"updated_at" : "The last time the user was updated",
"location_data" : {
"country_code" : "Optional. An ISO 3166 country code",
"city_name" : "Optional. A city name",
"timezone" : "Optional. An ISO 8601 timezone",
"latitude" : "Optional. The latitude",
"country_name" : "Optional. The country name",
"continent_code" : "Optional. A continent code",
"region_name" : "Optional. A region name",
"type" : "string",
"postal_code" : "Optional. A postal code",
"longitude" : "Optional. The longitude"
},
"id" : "The Intercom defined id representing the user",
"email" : "The email you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"utm_content" : "Identifies what specifically was clicked to bring the user to the site",
"signed_up_at" : "The time (in seconds) the user signed up",
"last_request_at" : "The time the user last recorded making a request",
"utm_campaign" : "Identifies a specific product promotion or strategic campaign",
"avatar" : { },
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"utm_term" : "Identifies search terms",
"referrer" : "The URL of the page the user was last on",
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"user_id" : "The user id you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"phone" : "The phone number of the user",
"session_count" : "How many sessions the user has recorded",
"name" : "The full name of the user",
"anonymous" : "Whether or not this is a Lead. Always false",
"utm_source" : "Identifies which site sent the traffic"
}
}
Create a tag by sending a tag object with a name. The tag name may contain whitespace and punctuation.
If the same tag name is sent multiple times, only one tag will be created for that name - this lets you avoid checking if a tag exists first.
Tag names are case insensitive - 'MyTag' and 'mytag' will result in a single tag being created.
Update a tag by submitting a tag object with the id of the tag to update and a new name for the tag. A successful request will update the name value for that tag and return the updated tag in the response.
Users can be tagged by supplying a users array. The array contains objects identifying users by their id, email or user_id fields.
Companies can be tagged by sending a companies array. The array contains objects identifying companies by their id or company_id fields.
Contacts/Leads can be tagged by supplying a users array. The array contains objects identifying leads by their id fields.
Companies and user tag directives cannot be mixed in the same request - a request will not process both company and user arrays.
We recommend tagging no more than 50 users at a time as larger amounts could result in a timeout.
To untag a company or user, each user or company object sent in the tagging request can be submitted with an untag field whose value is set to true.
Objects submitted with an untag field can be mixed with other objects being tagged. This allows tag and untag operations to be performed in a single request.
Type: object
{
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
}
Create a new user or update an existing user.
Type: object
{
"utm_medium" : "Identifies what type of link was used",
"created_at" : "The time (in seconds) the user was added to Intercom",
"type" : "Value is 'user' or 'contact'",
"pseudonym" : "The pseudonym used if this user was previously a Lead (http://docs.intercom.io/Intercom-for-customer-communication/the-intercom-messenger)",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"companies" : [ {
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
} ],
"unsubscribed_from_emails" : "Whether the user is unsubscribed from emails",
"updated_at" : "The last time the user was updated",
"location_data" : {
"country_code" : "Optional. An ISO 3166 country code",
"city_name" : "Optional. A city name",
"timezone" : "Optional. An ISO 8601 timezone",
"latitude" : "Optional. The latitude",
"country_name" : "Optional. The country name",
"continent_code" : "Optional. A continent code",
"region_name" : "Optional. A region name",
"type" : "string",
"postal_code" : "Optional. A postal code",
"longitude" : "Optional. The longitude"
},
"id" : "The Intercom defined id representing the user",
"email" : "The email you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"utm_content" : "Identifies what specifically was clicked to bring the user to the site",
"signed_up_at" : "The time (in seconds) the user signed up",
"last_request_at" : "The time the user last recorded making a request",
"utm_campaign" : "Identifies a specific product promotion or strategic campaign",
"avatar" : { },
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"utm_term" : "Identifies search terms",
"referrer" : "The URL of the page the user was last on",
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"user_id" : "The user id you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"phone" : "The phone number of the user",
"session_count" : "How many sessions the user has recorded",
"name" : "The full name of the user",
"anonymous" : "Whether or not this is a Lead. Always false",
"utm_source" : "Identifies which site sent the traffic"
}
Create a new user or update an existing user.
Type: object
{
"utm_medium" : "Identifies what type of link was used",
"created_at" : "The time (in seconds) the user was added to Intercom",
"type" : "Value is 'user' or 'contact'",
"pseudonym" : "The pseudonym used if this user was previously a Lead (http://docs.intercom.io/Intercom-for-customer-communication/the-intercom-messenger)",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"companies" : [ {
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
} ],
"unsubscribed_from_emails" : "Whether the user is unsubscribed from emails",
"updated_at" : "The last time the user was updated",
"location_data" : {
"country_code" : "Optional. An ISO 3166 country code",
"city_name" : "Optional. A city name",
"timezone" : "Optional. An ISO 8601 timezone",
"latitude" : "Optional. The latitude",
"country_name" : "Optional. The country name",
"continent_code" : "Optional. A continent code",
"region_name" : "Optional. A region name",
"type" : "string",
"postal_code" : "Optional. A postal code",
"longitude" : "Optional. The longitude"
},
"id" : "The Intercom defined id representing the user",
"email" : "The email you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"utm_content" : "Identifies what specifically was clicked to bring the user to the site",
"signed_up_at" : "The time (in seconds) the user signed up",
"last_request_at" : "The time the user last recorded making a request",
"utm_campaign" : "Identifies a specific product promotion or strategic campaign",
"avatar" : { },
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"utm_term" : "Identifies search terms",
"referrer" : "The URL of the page the user was last on",
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"user_id" : "The user id you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"phone" : "The phone number of the user",
"session_count" : "How many sessions the user has recorded",
"name" : "The full name of the user",
"anonymous" : "Whether or not this is a Lead. Always false",
"utm_source" : "Identifies which site sent the traffic"
}
Delete a company
Delete a company
Conversation ID
Type: string
Customer ID
Type: string
Delete a lead
Delete a lead
Delete a tag
Delete a visitor
Delete a visitor
Find an individual user or many users.
The email you have defined for the user
Type: string
The user id you have defined for the user
Type: string
Get a particular admin
Get a company
Get a single conversation.
Conversation ID
Type: string
Set to plaintext to retrieve conversation messages in plain text
Type: string
This operation has no parameters
Get a lead
Get a note.
Get a segment for an App.
Segment ID
Type: string
include counts in your segment model in the response
Type: boolean
Get a particular team
Get a user
Get a visitor
Get a log of activities by all admins in an app.
The start date that you request data for. It must be formatted as a UNIX timestamp.
Type: string
The end date that you request data for. It must be formatted as a UNIX timestamp.
Type: string
Type: STRING
List an App's admins.
List Companies (or list users for company)
Company ID
Type: string
Company name
Type: string
Type: string
Potential values: asc, desc
Type: STRING
Type: number
Type: number
Type: string
List conversations
The id for the Admin whose conversations to retrieve. To retrieve all unassigned conversations, set the id to be 'nobody'.
Type: string
Set to plaintext to retrieve conversation messages in plain text
Type: string
Type: string
Type: string
when true fetches just open conversations, when false just closed conversations
Type: boolean
Type: string
Potential values: asc, desc
Type: STRING
Type: string
Potential values: created_at, updated_at, waiting_since
The type of entity to query for.
Type: string
Potential values: admin, user
when true fetches just unread conversations
Type: boolean
Type: string
List all the company data attributes for your app.
Include archived attributes in the list. By default only non-archived data attributes are returned.
Type: boolean
List all data attributes for customers. Customer attributes describe attributes belonging to users, leads and visitors. All 3 models have the same data attributes.
Include archived attributes in the list. By default only non-archived data attributes are returned.
Type: boolean
List events for a user
Type: string
Type: string
Type: string
Type: STRING
When set to true, event counts are returned grouped by event name.
Type: boolean
Type: string
List Leads
Email address
Type: string
Phone number
Type: string
Type: STRING
User ID
Type: string
List notes for a user
Get a list of segments for an App.
include counts in your segment model in the response
Type: boolean
Type: STRING
if "company", list company segments, otherwise list user segments.
Type: string
This operation has no parameters
Get a list of teams for an App.
Find an individual user or many users.
Limits results to users that were created in that last number of days.
Type: number
Returns the users in ascending or descending order.
Type: string
Potential values: asc, desc
Type: STRING
What field to sort the results by.
Type: string
Potential values: created_at, last_request_at, signed_up_at, updated_at
List users for a company
Mark a conversation within Intercom as read.
Type: object
{
"template" : "The style of the outgoing message. Only valid for email messages. Possible values plain or personal.",
"subject" : "Optional unless message_type is email. The title of the email.",
"message_type" : "The kind of message being created.",
"from" : {
"team_ids" : [ "string" ],
"name" : "The name of the admin",
"away_mode_enabled" : "Identifies if this admin is currently set in away mode.",
"away_mode_reassign" : "Identifies if this admin is set to automatically reassign new conversations to the apps default inbox.",
"id" : "The id of the admin",
"avatar" : "Image for the associated team or teammate",
"type" : "string",
"has_inbox_seat" : "Identifies if a teammate has a paid inbox seat to restrict/allow features that require them",
"job_title" : "The job title of the admin",
"email" : "The email address of the admin"
},
"to" : {
"utm_medium" : "Identifies what type of link was used",
"created_at" : "The time (in seconds) the user was added to Intercom",
"type" : "Value is 'user' or 'contact'",
"pseudonym" : "The pseudonym used if this user was previously a Lead (http://docs.intercom.io/Intercom-for-customer-communication/the-intercom-messenger)",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"companies" : [ {
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
} ],
"unsubscribed_from_emails" : "Whether the user is unsubscribed from emails",
"updated_at" : "The last time the user was updated",
"location_data" : {
"country_code" : "Optional. An ISO 3166 country code",
"city_name" : "Optional. A city name",
"timezone" : "Optional. An ISO 8601 timezone",
"latitude" : "Optional. The latitude",
"country_name" : "Optional. The country name",
"continent_code" : "Optional. A continent code",
"region_name" : "Optional. A region name",
"type" : "string",
"postal_code" : "Optional. A postal code",
"longitude" : "Optional. The longitude"
},
"id" : "The Intercom defined id representing the user",
"email" : "The email you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"utm_content" : "Identifies what specifically was clicked to bring the user to the site",
"signed_up_at" : "The time (in seconds) the user signed up",
"last_request_at" : "The time the user last recorded making a request",
"utm_campaign" : "Identifies a specific product promotion or strategic campaign",
"avatar" : { },
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"utm_term" : "Identifies search terms",
"referrer" : "The URL of the page the user was last on",
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"user_id" : "The user id you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces)",
"phone" : "The phone number of the user",
"session_count" : "How many sessions the user has recorded",
"name" : "The full name of the user",
"anonymous" : "Whether or not this is a Lead. Always false",
"utm_source" : "Identifies which site sent the traffic"
},
"body" : "The content of the message. HTML or plaintext."
}
Conversation ID
Type: string
Type: object
{
"attachment_urls" : [ "string" ],
"user_id" : "string",
"admin_id" : "string",
"message_type" : "string. Possible values: comment | assignment | open | close | note",
"intercom_user_id" : "string",
"type" : "string. Possible values: user | admin",
"body" : "The text body of the comment",
"email" : "string",
"snooze_until" : "The time in Unix time (i.e. seconds) you want the conversation to reopen",
"assignee_id" : "string"
}
Type: object
{
"attachment_urls" : [ "string" ],
"user_id" : "string",
"admin_id" : "string",
"message_type" : "string. Possible values: comment | assignment | open | close | note",
"intercom_user_id" : "string",
"type" : "string. Possible values: user | admin",
"body" : "The text body of the comment",
"email" : "string",
"snooze_until" : "The time in Unix time (i.e. seconds) you want the conversation to reopen",
"assignee_id" : "string"
}
Scroll over all companies. The List Companies
functionality does not work well for huge datasets, and can result in errors
and performance problems when paging deeply. The Scroll API provides an efficient
mechanism for iterating over all users in a dataset. Each app can only
have 1 scroll open at a time. You''ll get an error message if you try to have
more than one open per app. If the scroll isn''t used for 1 minute, it
expires and calls with that scroll param will fail. If the end of the scroll
is reached, "companies" will be empty and the scroll parameter will expire. Since scroll is often used on large datasets network errors such as
timeouts can be encountered. When this occurs you will need to restart your
scroll query as it is not possible to continue from a specific point when
using scroll.When this occurs you will see a HTTP 500 error with the following
message: “Request failed due to an internal network error. Please restart
the scroll operation.”
Scroll over all leads. The List Leads
functionality does not work well for huge datasets, and can result in errors
and performance problems when paging deeply. The Scroll API provides an efficient
mechanism for iterating over all users in a dataset. Each app can only
have 1 scroll open at a time. You''ll get an error message if you try to have
more than one open per app. If the scroll isn''t used for 1 minute, it
expires and calls with that scroll param will fail. If the end of the scroll
is reached, "leads" will be empty and the scroll parameter will expire. Since scroll is often used on large datasets network errors such as
timeouts can be encountered. When this occurs you will need to restart your
scroll query as it is not possible to continue from a specific point when
using scroll.When this occurs you will see a HTTP 500 error with the following
message: “Request failed due to an internal network error. Please restart
the scroll operation.”
Scroll over all users. The List Users
functionality does not work well for huge datasets, and can result in errors
and performance problems when paging deeply. The Scroll API provides an efficient
mechanism for iterating over all users in a dataset. Each app can only
have 1 scroll open at a time. You''ll get an error message if you try to have
more than one open per app. If the scroll isn''t used for 1 minute, it
expires and calls with that scroll param will fail. If the end of the scroll
is reached, "users" will be empty and the scroll parameter will expire. Since scroll is often used on large datasets network errors such as
timeouts can be encountered. When this occurs you will need to restart your
scroll query as it is not possible to continue from a specific point when
using scroll.When this occurs you will see a HTTP 500 error with the following
message: “Request failed due to an internal network error. Please restart
the scroll operation.”
If you want to set an admin in away mode you can do this via a PUT request. You can also choose whether you want conversation replies to be automatically reassigned to your default inbox if you like.
Admin ID
Type: string
Set to 'true' to change the status of the admin to away.
Type: boolean
Set to 'true' to assign any new conversation replies to your default inbox.
Type: boolean
Create or update a company. Companies are looked up via company_id. If not found via company_id, the new company will be created. If found, that company will be updated.
Type: object
{
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
}
Create or update a lead
Type: object
{
"last_request_at" : "The time the Lead last recorded making a request",
"utm_campaign" : "Identifies a specific product promotion or strategic campaign",
"utm_medium" : "Identifies what type of link was used",
"created_at" : "The time the Lead was added to Intercom",
"avatar" : { },
"type" : "string",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"utm_term" : "Identifies search terms",
"referrer" : "The URL of the page the lead was last on",
"companies" : [ {
"website" : "The URL for the company website",
"company_id" : "The company id you have defined for the company",
"last_request_at" : "The time the company last recorded making a request",
"created_at" : "The time the company was added to Intercom",
"industry" : "The industry that the company operates in",
"type" : "string",
"custom_attributes" : { },
"monthly_spend" : "How much revenue the company generates for your business",
"updated_at" : "The last time the company was updated",
"user_count" : "The number of users in the company",
"size" : "The number of employees in the company",
"session_count" : "How many sessions the company has recorded",
"name" : "The name of the company",
"id" : "The Intercom defined id representing the company",
"remote_created_at" : "The time the company was created by you",
"plan*" : "The name of the plan you have associated with the company."
} ],
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"unsubscribed_from_emails" : "Whether the Lead is unsubscribed from emails",
"updated_at" : "The last time the Lead was updated",
"user_id" : "Automatically generated identifier for the Lead",
"phone" : "The phone number you have defined for the lead",
"location_data" : {
"country_code" : "Optional. An ISO 3166 country code",
"city_name" : "Optional. A city name",
"timezone" : "Optional. An ISO 8601 timezone",
"latitude" : "Optional. The latitude",
"country_name" : "Optional. The country name",
"continent_code" : "Optional. A continent code",
"region_name" : "Optional. A region name",
"type" : "string",
"postal_code" : "Optional. A postal code",
"longitude" : "Optional. The longitude"
},
"name" : "The name of the Lead",
"id" : "The Intercom defined id representing the Lead",
"email" : "The email you have defined for the Lead",
"utm_source" : "Identifies which site sent the traffic",
"utm_content" : "Identifies what specifically was clicked to bring the user to the site"
}
Create a tag by sending a tag object with a name. The tag name may contain whitespace and punctuation.
If the same tag name is sent multiple times, only one tag will be created for that name - this lets you avoid checking if a tag exists first.
Tag names are case insensitive - 'MyTag' and 'mytag' will result in a single tag being created.
Update a tag by submitting a tag object with the id of the tag to update and a new name for the tag. A successful request will update the name value for that tag and return the updated tag in the response.
Users can be tagged by supplying a users array. The array contains objects identifying users by their id, email or user_id fields.
Companies can be tagged by sending a companies array. The array contains objects identifying companies by their id or company_id fields.
Contacts/Leads can be tagged by supplying a users array. The array contains objects identifying leads by their id fields.
Companies and user tag directives cannot be mixed in the same request - a request will not process both company and user arrays.
We recommend tagging no more than 50 users at a time as larger amounts could result in a timeout.
To untag a company or user, each user or company object sent in the tagging request can be submitted with an untag field whose value is set to true.
Objects submitted with an untag field can be mixed with other objects being tagged. This allows tag and untag operations to be performed in a single request.
Type: object
{
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
}
Update a visitor. Passing identifiers (user_id or id) in the body will result in an update of an existing Visitor.
Type: object
{
"last_request_at" : "The time the Lead last recorded making a request",
"created_at" : "The time the Visitor was added to Intercom",
"avatar" : {
"image_url" : "An avatar image URL. note: the image url needs to be https.",
"type" : "string"
},
"type" : "string",
"custom_attributes" : { },
"segments" : [ {
"updated_at" : "The time the segment was updated",
"person_type" : "Type of the record: user or lead.",
"name" : "The name of the segment",
"count" : "The number of items in the user segment. It's returned when `include_count=true` is included in the request.",
"created_at" : "The time the segment was created",
"id" : "The id representing the segment",
"type" : "string"
} ],
"tags" : [ {
"name" : "The name of the tag",
"id" : "The id of the tag",
"type" : "string"
} ],
"social_profiles" : [ {
"name" : "The name of the service (e.g., twitter, facebook)",
"id" : "Optional. User ID on the service",
"type" : "string",
"url" : "The user homepage on the service",
"username" : "User name or handle on the service"
} ],
"unsubscribed_from_emails" : "Whether the Visitor is unsubscribed from emails",
"updated_at" : "The last time the Visitor was updated",
"user_id" : "Automatically generated identifier for the Visitor",
"location_data" : {
"image_url" : "An avatar image URL. note: the image url needs to be https.",
"type" : "string"
},
"name" : "The name of the Visitor",
"id" : "The Intercom defined id representing the Visitor"
}