Expand Fin to email is now live on Fin Academy!
Get more out of Intercom using our API and webhooks
Recently active
We use Intercom's Oauth to get the access token for our users(Dashworks). Recently we are getting 401s and user's had to re login(Access token was changed). Do the token's expire by design and is there a way to refresh them?
Hello Team, I am using intercom webhook events to process the changes to objects. However, there is no topic for contact.updated or company.updated, https://developers.intercom.com/building-apps/docs/webhook-model Without these topics, we have to run jobs to fetch the updates. Is there an alternate solution, or i am missing something
I am using contact/search API with query using created_at filter. My question is, when I query the record using created_at filter for newly created record and I am not getting records. but when I query the record using previous day UNIX timestamp for newly created_at record, I am able to get record or sometimes I am not able to get records on both scenarios Is there any issue on API side ? Below is my query Endpoint: https://api.intercom.io/contacts/search /p>method: POSTBODY -> JSON format{ "query":{ "field": "created_at", "operator": "=", "value": "1619049600" }} docs linkhttps://developers.intercom.com/intercom-api-reference/reference#search-for-contacts/p>
I am trying to implement the Intercom API into my server side .NET Core application. I am using System.Net.Http Library to set this call up. The issue that I am running into is when I try to create a conversation using my code below I keep getting an error response stating "User Not Found" even though the same body being passed in works perfectly fine POSTMAN. Is there anything I am doing wrong here? --------------------------------------------------------------------------------- public class Create { public FromObj From { get; set; } public string Subject { get; set; } public string Body { get; set; } } public class FromObj { public string Type { get; set; } public string Id { get; set; } } public async Task CreateConversationBlah() { using (var client = HttpClient) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "<
So I have been following the document related to intercom api and was able to add a new conversation with body using the api. However, I am also trying to assign a conversation title along with some of my tags during the creation process but it does not seem to be reading those properties during creation. I tried the PUT endpoint after the conversation was created to update those fields but they do not seem to make any updates either. Please let me know what the correct way to accomplish this?! Thanks in advance.
As far as I understand the "external_id" represent the "User id" we see in a user's or lead's profile.Is it possible to change a contact's "external_id" with a "PUT /contacts/<id>"?I tried but it doesn't seem to work. I can change other properties like "email" just fine, but "external_id" doesn't change in the contact model in the response to the call, despite the status code being "200 OK".Is there any other way to change the "user_id" of a contact otherwise?
Hello! How's it going? 😎 According to this doc: https://developers.intercom.com/installing-intercom/docs/intercom-javascript you can start out a tour, using, for example: Intercom('startTour', 123); Also, you can open a message with a pre-populated text, like this: Intercom('showNewMessage', 'pre-populated content'); Is it possible to open a post from a JavaScript call in a similar way? Thanks!
Building a custom messenger UI on top of the Intercom API. Are there developers with similar experience to share feedback? Limitations and difficulties?
Documentation in many places is not updated and it is not aligned with the code snippets. For example, the section for Custom attributes:https://developers.intercom.com/intercom-api-reference/reference#section-request-body-parameters/p>In request body parameters, 'model' property is understood as a mandatory one. On the other hand, in CURL code snippet, it is missing, instead there is another one, not mentioned in a description, 'company'. "data_type" property in the code snippet has "options" value, which is not listed in the documentation on the left side. Also, phrase "Provide a set of hashes..." sounds odd, hash is mostly understood as non-readable representation of the input value, got from the transformation of the input value. From the context we can get a feeling that we just need to provide a set of text key/value pairs. Overall, the right working code can be get only from the test and trials, which is not very efficient, and can
I did not find it in the documentation, but it seems that we can not add values to our custom attributes in UI Admin?I tested it with Intercom 2.3:create a custom attribute using https://api.intercom.io/data_attributes/li>I had ui_writable property set to true in my request. I also tried to modify the attribute by sending "update request" with ui_writable = truestill in the UI I can not assign any value to the new attribute. Could you please help with that? Is it a limitation of custom attributes? Can they be edited in UI?
I'm making an API call to list conversations using the example on the right here: https://developers.intercom.com/intercom-api-reference/reference#list-conversations/p> But unlike the example response, the response I am getting doesn't contain statistics for the conversation. Am I doing something wrong? Note that I already removed the '\' from the beginning of the example request which I think is there by mistake? The request runs correcltly, it's just missing parts of the conversation model. Thanks!
Is it possible to update conversation ratings through the API? If not, is it on the roadmap?
Hi! I'm able to start tours using its corresponding URL: Ex: https://mydomain.com/page?product_tour_id=*** and using a JavaScript call too: Intercom('startTour', ***); Nevertheless, if the tour is part of a series, it seems that it doesn't work. In the JS Console I see a network call to: POST https://api-iam.intercom.io/messenger/web/tours/***/fetch but the response is 404 - Not Found. Is it possible to start out a tour programmatically if the tour is defined inside a series? Thanks!
I need help resetting my client secret, I didn't see (or find) a way to do it from the app console, I'm guessing a support rep needs to help. Thanks!
How do you derive the active now status for a user? This is shown via a "green dot" next to their icon in the contacts list. I would like this info when using the API.
Hi,I am trying to use an event from my app to update user or company data on their profile.For example I want to fire the event "add apple" and this would update the "apple count" on the user or company profile.I know how to send an event using Intercom('trackEvent', 'event name'); and I know how that I can update user data using Intercom('update', userdata); but I would like to use the event itself to update the data.Is this somehow possible ?
Does anyone know of a document that details how the tables join together. What I thought would be straight forward seems a little strange as you end up with lots of many to many relationships.
Hi there everyone, At the moment, under the hood, the Intercom messenger is sending requests with an anonymous_id field when it is tracking Leads on our website. Is there a way of updating this anonymous_id property ? At the moment when an event is tracked it makes an API call to POST https://api-iam.intercom.io/messenger/web/eventsand I can see part of the request payload:I believe this anonymous_id also corresponds to one of the Intercom tracking cookies: intercom-id-<APP_ID> and also the visitorId ? I'm trying to update the value of this anonymous_id but not sure how to accomplish this. Do I need to overwrite the value of the Intercom cookie in order to achieve this ? Some help would be much appreciated. Cheers
When I invoke the contact search API, I get the following error response. { "type": "error.list", "request_id": "0009s379b118psj1f100", "errors": [ { "code": "invalid_document", "message": "either_email_or_user_id_present validation failed" } ]} Does anyone know what has gone wrong here?
I am trying to search in conversations but using your example: I get a 400 "Query body must contain a query hash". When using contact search everything works fine
There are certain occasions I need to remove a user account in our platform but would love the option to keep that person's chat history with us in Intercom. They may no longer have a user ID in our own app, but their email would still remain the same. Right now, we archive the user in these scenarios, but that's not quite ideal because they just sort of "disappear" from Intercom. It would be great instead to just demote them from a user back into a lead. This would also allow for the ability to convert them back into a user should they rejoin our platform. Is something like this possible with through the API?
Hello, I have a user with conversations initiated by admins in our UI (with no user responses yet) as well as user-initiated conversations created via the Intercom API. When I query the individual conversations, the user's contact ID is associated with each conversation, as I would expect. When I query the `conversations/search` endpoint with a filter of `contact_ids = user_contact_id`, though, the only conversations returned are the ones initiated by the user. Is that by design? I would expect that search for a conversation by contact_id would return ALL conversations that the user is associated with. If I'm going about this the wrong way or more detail is needed, please let me know. Thanks.
How do I access the next pages from of a search result. After the initial query to /conversations/search, with result spanning through multiple pages, how do I make the subsequent requests for the next pages?
Hi,I like to know how i retrieve data from a search when it has multiple pages.at the moment i do a search call and only can the data of the 1st page (150) conversations.
Hello, I am wondering if it is possible to work around having to make 1 request per company to receive their segment.list object. I just discovered the Scroll API addition, it is great. Am now receiving my companies in 11 requests instead of 987. Would love to have that functionality while making other requests. As it stands you need to provide a company id to receive a segment.list. Wondering if there is a way to perhaps provide a scroll page instead? Or better yet, add parameters to Scroll API requests to include full segment.list objects during Scroll API Companies requests. Thanks!
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.