Jump to content

Zendesk API Call


Recommended Posts

Hi @David Longley,

There certainly is :) It's under ZenDesk > Tickets > Ticket Get, and the output parameter that holds the Ticket Status is Status. Just need to give it your ZenDesk keysafe credentials, and the ticket ID, and it'll return the listed information about the ticket.

Cheers,

Steve

image.png

Link to comment
Share on other sites

Thanks @Steve G, i already added this node to my test WF:

 

image.thumb.png.c9012fe888ebc6358a4a0f066544912f.png

 

As you can see, the first automation 'log a ticket' works fine. i can see a ticket being passed into Zendesk. I then place the system on hold (which also works) but when i try to use the Get Sequel ticket ID noting happens to my Hornbill ticket.

 

What i want to happen is that Hornbill checks to see if the status of the Zendesk ticket is resolved and then the ticket can be marked as completed and move onto the next node which is Take request of hold. I have configured the custom expression so that it looks for the status Solved.

 

image.png.ca3e0b43d4c6659116f61163679806dd.png

If i log into Zendesk and close the ticket, nothing in the Hornbill workflow happens.

I guest it has to do with the below needing to be set correctly?

 

image.png.d7dbeace5ab91cd1000490edfb22e4c9.png

Thanks

Dave

Link to comment
Share on other sites

Hi @David Longley,

I think there are a couple of issues here. The first is that when using multiple integration nodes in a workflow stage, you should really set unique values in the Result Reference field - this is how we identify the node output in the subsequent nodes, and will prevent confusion further along the flow.

The second is that it appears (and please correct me if I'm wrong!) that you're wanting the request to be taken off-hold as soon as the ZenDesk ticket status changes? This will only happen when your request is taken off-hold manually, or after the 1 day expiry, and the next check of the ZenDesk ticket status happens... For a ZenDesk status change to drive your workflow (to take the request off-hold immediately) then ZenDesk would need to send an API call to your Hornbill instance to initiate that.

If my second point is nonsense, then please ignore and let me know, and I'll have a look at the Ticket Get operation in more detail to make sure it's doing what it should :) 

Cheers,

Steve

Link to comment
Share on other sites

Thanks @Steve G, Regarding your second point, you are correct. Basically i want the WF to continue once the Zendesk ticket has been resolved. Without using Zendesk to drive the WF, iks there anything i can do within ibridge to do this? In laymen terms i want Hornbill to log a ticket with Sequel.  The sequel ticket ID to be passed into Hornbill so that we know the reference number. When the ticket in Zendesk has been closed, it tell Hornbill (use the Get Ticket API?) and then the WF moves on.

Dave

Link to comment
Share on other sites

Hi @David Longley,

Not really, not without a really horrible loop and expire after x amount of minutes to keep checking :( That really needs to be driven from Zendesk. After a quick search on the subject, I'd suggest you take look at their webhooks and triggers functionality, and have this make the API call in to Hornbill. I'm happy to help with the construction of the API call if you have access to webhooks and trigger in Zendesk...

https://support.zendesk.com/hc/en-us/articles/204890268-Creating-webhooks-with-the-HTTP-target

Cheers,

Steve

Link to comment
Share on other sites

Yeah no worries @David Longley. You're actually not too far off with your current workflow, you just need to replace the circled nodes here:

image.png

With an Await Expiry node, configured to just suspend and wait for the number of hours you wish to wait for (2, here):

image.png

Cheers,

Steve

Link to comment
Share on other sites

Hi @David Longley,

I'm unable to replicate your issue :( I've created a Zendesk instance, built the following workflow in Hornbill which logs a ticket on Zendesk, puts the Hornbill request on hold checks the status of the Zendesk ticket then sleeps for 2 mins before checking again, and if the Zendesk ticket status is solved, then the request is taken off hold as expected. There's some extra debugging stuff in there as well (setting checkpoints, writing the ticket data to the request timeline etc).

image.png

And this is how the request logged against the above workflow looked in the main app after all the automations had done their stuff:

image.png

So there must be something in your workflow that's not quite right. I've attached my test workflow so that you can import it in to your instance and have a look to see if there's anything different (remember to update the credentials on the integration nodes if you actually want ot run it) . But as the integrations are working as expected, then if you're still struggling to get it working you'll need to raise a call with support (if your subscription level allows), or raise this with customer success to take a look at your workflow for you.

Let me know how you get on.

Cheers,

Steve

zendesk.bpm.txt

Link to comment
Share on other sites

@David Longley No worries, glad it worked for you :) 

Zendesk is pretty basic, and doesn't have the concept of resolution notes...

But! To work around this limitation, I've added a couple more methods to the iBridge: 

  • One to get the last comment from a Zendesk ticket;
  • One to get a Zendesk Users details (so you can get the comment author details from the last comment node).

So you can now get the last comment that was added to the Zendesk ticket (which includes the author ID), and then go get the Author details (name, phone, email, role), before writing both in to your Hornbill request timeline.

I've attached the demo workflow again, which includes the new nodes so you can see how they work.

I've just promoted these new methods to live, so you should see them on your instance in the next few minutes!

Let me know how you get on with these.

Cheers,

Steve

zendesk.bpm.txt

Link to comment
Share on other sites

2 hours ago, David Longley said:

This is perfect Steve. Thanks soooo much @Steve G

@Gerry - just want to let you know that Steve has been a great help, brillant service.. Thanks 

Thanks for the feedback, yes Steve is a whiz when it comes to integrations and understanding the technical architecture of our cloud service and how we connect to other things, I am glad everything is working for you. 

If you feel up to it, and think we deserve it, please recommend us to your professional network, we could always do with new customers to build our community :) (bit cheeky I know)

Gerry

 

Link to comment
Share on other sites

Morning @David Longley,

Just had a look at the Zendesk API, and that returned URL is the one for the API rather than the web view - and they don't actually return the web app view URL in the API response. You could construct the URL in the workflow node that writes to the timeline though, so looking at your screenshot above you would replace:

URL: &[global["integration"]["url"]]

With:

URL: https://sequelchorus.zendesk.com/agent/tickets/&[global["createticket"]["id"]]

And on my instance this would look like:

image.png

Cheers,

Steve

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...