Answered

Inconsistent results from the API on Tickets

  • 29 August 2023
  • 2 replies
  • 84 views

Context:

I’m using the Intercom <=> Jira cloud integration to link my Intercom Conversations and Tickets to related Jiras.

A limitation with this integration is that it doesn’t write the Jira ID to the Intercom data objects, it writes to a Jira field ‘linked_intercom_conversations.’ This means I can’t search or do any reporting in Intercom for Conversations/Tickets related to Jiras.

To solve this, I wrote a tool to pull the Intercom IDs from the Jira fields, and update a data attribute in Intercom with the Jira ID that was linked.

Here’s the problem:

When the ‘linked_intercom_conversations’ is written to the Jira it always writes the url ID to the  field. This means that all of the linked objects look like conversations. Because Intercom doesn’t share data attributes across conversations and ticket types, it takes a different API call to update a ticket vs a conversation. But I can’t tell from the ID on the Jira which type is is.

I tried doing a call to api.intercom.io/conversations/CASEID, and on tickets there is sometimes a ticket value in the response that contains the ticket.id, and sometimes not. Specifically, when I run the same call from within the AirTable scripting environment where I’ve build the automation, the ticket object is not included in the response, but running the same call from Postman, I see it.

interestingly the “type’ value is ALWAYS “conversation,” even if it’s a ticket.

I need some help here to either figure out why the AirTable script is not getting the full response, or to find another way to identify if something is a ticket or a conversation from the ID provided by the Jira integration.

 

Thanks for any help if y’all have insights!

icon

Best answer by Justin Philbrook 5 September 2023, 17:38

View original

2 replies

Userlevel 4
Badge +5

Hey there @Justin Philbrook !

 

It looks like you wrote into our Support team about this and got some help from my teammate, Sara!

It sounds like some of the confusion came from the version of our API that you were using. The tickets endpoint was introduced in version 2.9 of the API so you’ll want to make sure you’re using that one in order to separate your tickets from your conversations.

It’s also good to point out that there is a difference between the ticket’s ‘id’ attribute and the ‘ticket_id’ attribute in the ticket model. The ‘id’ attribute is the unique id that Intercom uses for the ticket while the ‘ticket_id’ is the id that is used to identify the Ticket in our Messenger.

Hopefully these details will help someone else out down the road!

Definitely!The confusion stemmed from two issues:

  1. The Intercom API version was not defaulting to the latest stable version when accessed from the AirTable script environment.
  2. I misread the ticket_id values on the documentation.

Once I found item two, I hard coded version 2.9 into my scripts and was unblocked.

 

Thanks!

Reply