Expand Fin to email is now live on Fin Academy!
Get more out of Intercom using our API and webhooks
Recently active
We currently face a limitation in tracking ticket ratings timestamps. While conversation ratings are provided through webhook events, ticket ratings are not, forcing us to use the ticket closing date as a fallback. This creates inaccurate data when tickets are rated after their closure. This appears to be an oversight as this functionality is already available for conversations This limitation affects our ability to: Accurately track CSAT metrics over time Report precise customer satisfaction data Maintain data integrity when tickets are reopened Provide reliable analytics to our customer service teams We propose adding new webhook events for ticket ratings, similar to the existing conversation rating events. These events should include the same information as the conversation_rating_event. This also means we need a ticket_rating_updated_event when a ticket rating is modified. This would enable:Accurate CSAT reporting by actual rating date Better tracking of customer feedback pat
Trying to use intercom URL in iFrame, facing the error which says "ancestor violates the following Content Security Policy directive: "frame-ancestors 'self' " Need a solution to overcome this issue. Kindly help us to resolve this
I’m referencing this documentation: https://developers.intercom.com/docs/references/rest-api/api.intercom.io/conversations/updateconversation I’ve created a custom attribute on conversations called original_post_id (see below)And i’ve been successfully able to PUT https://api.intercom.io/conversations/{id} (200 response code) with the intention of updating the conversation with a custom attribute value:Yet the response shows that no custom attribute with original_post_id, which i’d expect to see populated with the value in my PUT request. I only see one custom attribute, which is ‘Copilot used’. Is the latest intercom API docs up to date? or does updating custom attributes on conversations not work yet?
Can we get list of all articles in a collection using the REST API?
Hi everyone,I’m Darshan Hiranandani, I’ve been using the Intercom interface to create notes, and I noticed that I can tag teammates in those notes. However, I’m wondering if it’s possible to do the same when creating notes through the Intercom API.Has anyone had experience with this or know if tagging users is supported when creating notes via the API? Any insights or guidance would be really helpful!Thanks in advance!RegardsDarshan Hiranandani
I have created a Python code with using API requests to fetching conversations by different words.However, when I try finding two words that contain in the conversations, it will not response me with any emails.Code here:import requestsimport csv# Replace with your Intercom access tokenaccess_token = 'PUT-YOUR-API-HERE'# URL for searching conversationsurl = "https://api.intercom.io/conversations/search"# Headers for authenticationheaders = { "Intercom-Version": "2.11", "Authorization": f"Bearer {access_token}", "Accept": "application/json", "Content-Type": "application/json"}data = { "query": { "operator": "AND", "value": [ { "field": "source.body", "operator": "~", "value": "two words" } ] }, "pagination": { "per_page": 150 }}# Function to retrieve all pagesdef fetch_all_conversations(): conversations = [] next_page_data = data # Initial data for the first requ
Hi there,I'm attempting to obtain the content message of outbound messages using the content_stat.sms webhook.However, the data received only includes the content_title.Could you please guide me on how to retrieve the full content message of outbound messages through the API or webhook?Thank you.
I am getting user not found while trying to get all conversations.Trying to execute it through Postman and passing authorization bearer as well. URL - https://api.intercom.io/conversations'Authorization': 'Bearer <ACCESS_TOKEN>'Content-Type': 'application/json', Postman response -{ "type": "error.list", "request_id": "003rmrddranpjr8ds4lg", "errors": [ { "code": "not_found", "message": "User Not Found" } ]}
We are using PHP api client to add contacts to intercom. Occasionally then requests fail with 404 not found error which is weird since we are creating a new contact.$contact = $intercom->contacts->create($data);Http\Client\Common\Exception\ClientErrorException: Not FoundWe are adding and updating contacts all the time. In the last week we have had ~10 of these so the actual number of failed calls in relatively low but still were annoying.Any ideas what is causing this or how to fix this?
We have users that has multiple devices.We're using "Intercom for React native" SDK to allow these users to contact us via intercom.When a user contacts us we'd like to know which device is the device is it.We know that there are 2 ways to implement it:Option 1, which we've used till a few months ago, is to login to intercom using the same user in each of the devices, and use a "device_id" conversation attribute to identify the device. We found this method is a bit tricky cause when the user open intercom on another device they'll be able to continue the conversation although the conversation device id attribute is the first one…Option 2, which is currently implemented, was to login to Intercom in each device using a different user, and basically create multiple users for the same customer. It means that the same email address is associated with multiple intercom users. The problem here is that when the user contacts us through the email (sending an email to support@example.com through
I have a script, which attempts to create a contact, and if it already exists but is archived, parses the id from the failed message and deletes the contact. Here are the logs from that script: ```Original contact id: 672291a52c6b471a4b20e202--- now let’s call the delete contact endpoint ---Deleted contact response: {"id":"672291a52c6b471a4b20e202","external_id":"<excluded>","type":"contact","deleted":true} -- now let’s attempt to recreate the contact --[16:45:54.629] FATAL (64427): Failed to recreate contact: {"type":"error.list","request_id":"0011vqbd9jo6drvesao0","errors":[{"code":"conflict","message":"An archived contact matching those details already exists with id=672291a52c6b471a4b20e202"}]}``` As you can see, the delete contact endpoint is returning success, but it’s not actually deleting the contact, because my subsequent attempt to recreate the contact fails.
I'm pretty new to custom API requests. I want to create a Zapier connection to send a POST request to update a conversation in Intercom to add a tag to a conversation, but I'm having issues. I suspect the issue is with the formatting of the body, but I'm not sure what I'm going wrong. I've successfully performed other GET requests, but I can't get the POST request to work.In the image below you can see I have the following:HTTP Method: POSTURL: https://api.intercom.io/conversations/CONVERSATION_ID/tagsAuthorization: Bearer TOKENAccept: application/jsonBody:{ "id": "12345", "name": "empty-bug-report", "admin_id": "123"}Any ideas where I might be getting this wrong?
Hi, I'm trying to install intercom onto my site for non signed in users. I've followed the instructions here: https://www.intercom.com/help/en/articles/167-install-intercom-on-your-website-to-engage-logged-out-visitors/p> and it seems to half work but there's definitely something wrong. The chat window loads up and it's possible for me to send a message which makes its way to the inbox. However if I try to access the visitor ID with:Intercom('getVisitorId')it returns "undefined". If I reload the webpage then my conversation history is gone and I see a background POST request in the web console that receives a 404 response (asterisks added for redaction of possibly sensitive info): POST https://api-iam.eu.intercom.io/messenger/web/conversations/1************4 REQUESTBODY: app_id: m*******d v: 3 g: undefined s: dd*********************************b7 r: platform: web Idempotency-Key: 82************41 internal: is_intersection_booted: null page_t
Hi, We have some set of tool which fetch an article by id. Recently it worked, however after the move of articles to knowledge hub i cant retire a single articles withcurl -i -X GET 'https://api.intercom.io/article/{articleId}' \ -H 'Authorization: Bearer <secret>' \ -H 'Intercom-Version: 2.11'.However we can fetch all articles with api.intercom.io/articles, so maybe something has changed.All help would be greatly appreciated.
Hello everyone,I’m Darshan Hiranandani, We're currently working on implementing a ticketing and ticket portal system, and we're looking to import customer tickets from another provider into Intercom. While we've successfully been able to create tickets using the API, we are running into a challenge when it comes to linking a company to a ticket.Currently, an admin can manually link a company to a ticket in the inbox, but we haven’t found a way to make this step mandatory. This is an issue because without a linked company, the customer won't be able to access the ticket via the portal, though they can still see it through the messenger. We want to avoid confusion in this regard.We also have trouble retrieving the company linked to a specific ticket using the GET /tickets/{id} endpoint.This leads to the following questions:Is there a way to link a company to a ticket programmatically through the API? Can we retrieve the linked company information through the API? How can we enforce the c
I’m referencing this API documentation https://developers.intercom.com/docs/references/unstable/rest-api/api.intercom.io/data-attributes/updatedataattribute for updating data attributes -1. is it possible to use APIs to update relationship attributes between different standard intercom objects (contact, conversation, ticket)?2. is it possible to use APIs to update relationship attributes between standard intercom objects (e.g. contact) and custom objects?
I’m using the unstable version of the api to see if i can list data attributes on custom objects and doesn’t seem like this is possible. When will this be allowed? {"type": "error.list","request_id": "001g71vtd1equmb5qab0","errors": [{"code": "parameter_invalid","message": "unsupported model parameter [campaign]"}]}
There seems to be an issue with the Intercom API. I'm using the tickets/search POST call and it's only retrieving 97 of my 225 tracker tickets.POST: https://api.intercom.io/tickets/searchThe body of my API call looks like this:{"query": {"operator": "AND","value": [{"field": "open","operator": "=","value": true},{"field": "ticket_type_id","operator": "=","value": 2}]},"pagination": {"per_page": 100}} I also tried:{"query": {"operator": "AND","value": [{"field": "open","operator": "=","value": true},{"field": "ticket_type_id","operator": "=","value": 2}]},"pagination": {"per_page": 100}}
Good day. Could you please advise how to download conversations by filtering them based on workspaces, views, agent, tags, and closed status? I tried filtering by workspaces and views, but I couldn't find how to do it.
While I’m typing Japanese text with IME (Input Method Editor) If I hit enter here, I expect it to finalize the Japanese text with IME BUT not sent it as a chat message yet. But this widget sent the unfinished text any way.
When entering Japanese text with an IME, pressing the Enter key mistakenly sends the incomplete text to chat. If I press Enter here, I anticipate finalizing the Japanese text with the IME, but not sending it as a chat message yet. However, this widget still sends the unfinished text anyway.
I want to create an article and upload an image on it with API but I don’t know how.I can create an article with title and main text so far.I think Intercom has hosting service and can store attachments and upload from it, but it looks like there is no such service.How can I upload image or attachment with Rest API?If you have an idea, please tell me.
Hello!I am trying to create a user by using the API endpoint described here:https://developers.intercom.com/docs/references/1.0/rest-api/users/create-or-update-userThis is the cURL that I am using: curl -X POST https://api.intercom.io/users -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -d '{"user_id":"3ba5cb8d-8d66-4887-8d1b-4a9b66031f90"}'It throws this error: { "errors": [ { "code": "media_type_not_acceptable", "message": "The Accept header should send a media type of application/json" } ], "type": "error.list"}After that, I add the Accept header and now I get this error no matter what I send:curl -X POST https://api.intercom.io/users -H "Authorization: Bearer <token>" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"id":"3ba5cb8d-8d66-4887-8d1b-4a9b66031f90","user_id":"3ba5cb8d-8d66-4887-8d1b-4a9b66031f90"}' { "errors": [ { "code": "not_found", "message": "The requested res
Hi,I am using the intercom API list all contacts (endpoing /contacts)The API call responds as expcted with two problems:it ignores the per_page parameter. I tried 1, 5, 11 and other values. It does not paginate, ignoring the starting_after parameter. In the screenshot below please notice that pages.next.starting_after that was returned is the same was as was sent. I tried different API versions, including 2.11 and unstable Postman Screenshot
Hello, I'm trying to search for a contact using contacts/search endpoints my request is "query": { "field": "email", "operator": "=", "value": email, }, This is working when testing in your site https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/searchcontacts. But when I try to do it on my codebase I receive this error Error with Intercom request for org 362 -- Response from url: https://api.intercom.io/contacts/search is status: 500, message: {"type":"error.list","request_id":"0044dun34918mvul4n10","errors":[{"code":"server_error","message":"Server Error"}]} do you know what could be wrong? 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.