Expand Fin to email is now live on Fin Academy!
Get more out of Intercom using our API and webhooks
Recently active
Hi, i can't send reply to conversation via API, but can do it via intercom website. Please, can you see request with this id 003abpt6qlp4obiq78ig and help me?
Dear community, hope you all are doing great! I'm looking for the following solution: I'm setting up a workflow in my CRM app that must connect to my Intercom workspace and send a message to the users of a specific company. I'm trying to do this via webhook. The problem is that I have no idea of how can I make this automation. It's been a few weeks that started to work with multi-plataforms connections and I did not learned how to achive a few things yet. I'll attach the webhook setup screen from my CRM, this may help us to solve the requirement. Thanks a lot for your help, Kind regards,Rodrigo.
In https://www.intercom.com/help/en/articles/179-send-custom-user-attributes-to-intercom,I createdwindow.intercomSettings = { app_id: APP_ID, "book": "ABC" }; How to get the key value pair book & ABC via API?
I have some troubles with webhooks. For unknown reasons Webhook's verification fail for one particular customer. But not for all the time. Sometimes it succeeds (I'd say it fails 1 out of 10 ).Do you have any tips on how to debug this issue? I logged the payload and it doesn't look suspicious. Just a regular user.tag.created event. Here is how I verify webhook```const verifySignature = ({payload, secret, signature}) => { const stringified = JSON.stringify(payload); const calculatedSignature = `sha1=${crypto .createHmac('sha1', secret) .update(stringified) .digest('hex')}`; if (calculatedSignature !== signature) { throw badRequest(`Invalid signature provided`); }};export const verifyWebhook = ({clientSecret}) => async ({params, payload}) => { verifySignature({ payload, //req.body parsed by koa-body secret: clientSecret, signature: params['x-hub-signature'], }); return {id: payload.app_id};};```Thanks in advance for
We already have Intercom integrated into Zendesk and it works well. However, we want to achieve another level and automate ticket fields fulfilment.
I would like to use from REST API features such as queries for searching conversations however our API version is 1.0 and so we'd need to upgrade it. I am wondering whether changing the API version will cause any breaking changes in the intercom app. FYR this is what I'm talking about: https://developers.intercom.com/intercom-api-reference/v1.0/reference#get-a-single-conversation & https://developers.intercom.com/intercom-api-reference/reference#search-for-conversations As you can see, V2.3 allows queries in searching for conversation where we'll search by the user id
Is there a way to reply to a conversation via API without notifying the associated user/contact (e.g. sending e-mails)? It looks like Intercom has some logic as replying via API sometimes does and sometimes does not trigger an email.
I am using the Ruby API and the following code gets an error:" (Custom attribute 'kamil_attribute_console' does not exist)" user_id = 1 intercom_query = intercom.contacts.search('query': {'field': 'external_id', 'operator': '=', 'value': "#{user_id}"}) contact = intercom_query.first contact.custom_attributes = {"kamil_attribute" => "here-iam-update-me"} intercom.contacts.save(contact)
I made an app that post messages into conversations using the Intercom API, and I want those messages to come from a bot/operator, not from the contact nor the admin. Here is a screenshot of an app that posted such a message, but I cannot find how to achieve this in the API docs… Thanks for your help!
We have mentors who go over our clients (students) homework. I want them to be able to initiate chats with a student if they have a note about a specific homework task hey submitted. (i.e. "your answer to question 13 is incomplete"). Mentors have users in our Intercom (they are team members), but I want the mentors to be able to launch the chat from the UI they use to check students homework rather than go into intercom look up the user and initiate a chat. So I want them to be able to click a button next to a task they are checking, which will pop up either the messenger or any other way to send a message, where the user is already set (based on the email of the student I will pass to Intercom) and the task name/number included in the default text. Is there a way to achieve this natively, via an integration or via API?
I can create a message and send it to a user, but when they reply it goes to the admin who created the message. I'd like to have this assigned to a group instead, which I can do in the Intercom UI. There doesn't appear to be an option to set that via API.
Hi, We are using webhooks to fire events when a user unsubscribes from receiving emails. This is working fine, but we also want to fire events when a user re-subscribes. I can't see any documentation capturing a specific resubscribe event, but is it possible to capture this event using another webhook? Edit:If the above is not possible, is it possible to remove the 'resubscribe' link from the 'you have susccesfully unsubscribed from emails page' Alternatively, can we redirect from the 'you have unsubscribed' page to our own URL, i.e. our own custom 'you have unsubscribed from our emails' page?
Is is possible to get the user attributes from intercom to javascript function on my webpage? I want to use intercom attributes in some of the pages.
Hello, in gem for Ruby on Rails a filter is used :before yet it doesnt seem to work as API doesnt give a response or gives a response ignoring the filter. Perhaps a gem problemIs there a way to send a request with a date range?API v1.3
Hello everyone,I was trying events creation API on postman and have correct recently created a lead from the lead API.The lead API successfully created a lead with the provided details, and I tried adding an event to this user, this event API gave 404 error user was not found.I also tried this event creation on the leads that were captured from the conversation message & also tried it with manually added leads created on the Intercom platform but still the event API was returning 404 error.But this event creation is successfully happening on users that were earlier leads.The API call returned 200 and I can also see the event addition on the platform. Pic: Events addition failed and says user not found Pic: Lead is present in Intercom Pic: Adding event on leads works perfectly My question was is there some limitation on the lead's side from the backend of Intercom, which stops adding events in lead?If not then what's the correct way of doing it. Also, I wanted to know how ca
Hello everyone,I had a use case where we need to report the video activities watched by the user.I was using the custom attributes to save the video activities.The custom attribute I created was video_view with a datatype of list.Now every time a user watches a video I update the list attribute with a new video name and then update the video_view (custom attribute) value to this video name in the lead data. Now the issue is, if 2 videos are watched by the lead we would have to add 2 values to video_view(custom attribute) but the list attribute can only store 1 video name at a time whereas the user watched 2 videos.So I was thinking of custom attribute which can have multiple values.If there is any better approach let me know. Also why I am using custom attribute is because operator on the Intercom can easily filter out the user based on the video name.If possible can we have an object type in custom_attribute so that we can store further details in the same attribute?
Hey, i want to send my user a custom message, on web it is with 'showNewMessage ' and the custom message. if i want to do the same thing but on Intercom for Cordova & Phonegap, is there a way to do so?
I am using Java SDK to send events to intercom. It works on local machine, but now AWS. I get below exceptionjava.io.FileNotFoundException: https://api.intercom.io//events java.io.FileNotFoundException:https://api.intercom.io//events atjava.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1920) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:334) at io.intercom.api.HttpClient.runRequest(HttpClient.java:151) at io.intercom.api.HttpClient.executeHttpMethod(HttpClient.java:110) at io.intercom.api.HttpClient.post(HttpClient.java:100) at io.intercom.api.DataResource.create(DataResource.java:25) at io.intercom.api.Event.create(Event.java:35)
We have our product running for a couple years now. There's a lot of users. When we started with intercom there either wasn't any option for supporting push notifications or we just didn't find it enticing enough. Now we would like to enable push notifications in intercom. We have thousands of push notification tokens in our DB that we use in our product. Is there any option to use those tokens and just synchronize them to the users in Intercom or is the only possible option to use the iOS SDK in our app?
Hi Team, I'm trying to create a webhook for my app that having OAuth authentication (i.e. Intercom users can install my app on their account/workspace). In my app, users can create separate functions to be executed for each type of intercom notification topic e.g. 'contact.created' topic triggers function1 and 'company.created' topic triggers function2 ...etc. So for example, if user1 creates 2 different functions for 'contact.created' & 'company.created' and another user2 creates few more functions for different notification topics for that user's account/workspace. With webhooks how do we distinguish from which user or workspace the notification is generated? Webhook json payload does not seem having any field that allowing me to uniquely identify user/account/workspace where the event occur? or am I missing something?thanks
Intercom's agent chat interface has action messages that are displayed differently, i.e. in the center of the agent's chat window. For example the "You assigned this conversation to yourself 1h ago" notification. I would like to send this through the API, is this possible? Is there a conversation message type that we can use for this or recommended html body formatting type? I have tried applying the formatting that is applied in the agent's chat screen to my message body and this did not work.
When I create a conversation using the API, and run assignment for this conversation either using the run_assignment_rules route or just assign it to a department, this does not take into consideration the office hours. Is this an intercom API limitation or is there something I am missing in my workspace config?
I'm creating wallboard for my client where I have to show how many "total chat today"? How can I fetch that? Please help.
The documentation for Creating a Conversation (sample response below) says that the ID representing the conversation is returned as a response. (conversation_id). However, when testing this, I'm only seeing the ID of the specific message - rather than the conversation_id of the conversation.... only type through message are returned. HTTP/1.1 200 OK{ "type": "user_message", "id": "2001", "created_at": 1401917202, "body" : "Hey, is the new thing in stock?", "message_type": "inapp", "conversation_id": "36000324324"} How can I find the ID of the conversation?
Currently, I add the "meta-data" of the content being reviewed as a note into the conversation. But it would be a lot better if I could move this into the sidebar. Is there a way to add meta-data into a conversation that is then automatically shown in the sidebar? Also it is a bit challenging since for various reasons customers might have multiple user IDs on intercom. We add all users (and their external ID) via Javascript on every request. But how do we best sync the intercom user ID back to our system, since the Intercom API always wants us to use their IDs and not our external IDs (which would be way more convenient). Semi-related it is not very nice that we have to use IDs for things like teams and not just string identifier. This means we need to either fetch and cache this information or configure it, which is cumbersome, especially between the test and production intercom instances.
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.