Hello, I am trying to connect to Freshdesk using Webhook ‘get’ - just a simple list of details about a specific ticket to start with. There are a couple of questions on here already about Freshdesk, but they have conflicting information, and neither approach that they suggest seems to work for me. Using an API key for authorisation, I consistently get the message, ‘You have to be logged in to perform this action’.
This screenshot shows how I have it set up, (I think) according to the Freshdesk API documentation. Has anyone managed to get this connection to work recently? Where am I going wrong?
Best answer by Andy NView original
Hello, good news. Using the suggestions given by others, plus some trial and error on my own part, I have established how to set up Zapier to connect properly with the Freshdesk API.
Send as JSON needs to be No.
Basic Auth needs to be blank.
Add a header called Authorization. The value for this will be the yourAPIkey:X encoded into base 64 (it does not need to be enclosed in quotes).
I’m not familiar with Freshdesk specifically, and have not yet reviewed the API docs, but if you’re confident all the information is correct, Zapier expects a bar/pipe ( | ) instead of a colon ( : ) between the username and password in the Basic Auth line. Assuming everything else is correct, I imagine that small adjustment should fix it for you.
Hello Todd, thanks for the suggestion. When I try that (with everything else the same), I get ‘The app returned "Unexpected/invalid field in request".’
Hello Todd, I am pretty sure we have a ticket #4332, but I tried your suggestion. With the pipe symbol in the authorisation field, I still get ‘The app returned "Unexpected/invalid field in request"’, and with the colon, "You have to be logged in to perform this action”. It feels like there is a problem with the way the authorisation is being passed, but having tried multiple variations, I get no further forward.
Just out of curiosity, why dont you use the Action “Find Ticket by Id in Freshdesk” ?
Good question :-)
I don’t actually want to read the ticket details - I was just using that as the simplest thing I could possibly do to prove I could get a connection. I actually want to update a custom field in an existing ticket - this isn't available through Zapier.
Ah ok, that makes sense !
Ok so from what I see you are trying to use Basic Auth, while you should pass it in the Headers as Authorization. I would remove the data in the Basic Auth field and try that.
If you are sure that your credentials are correct, but are still unable to access your helpdesk, make sure that the "APIkey:X" is Base64-encoded before passing it as an "Authorization" header.
Thanks - I removed the basic auth and added a new header name: Authorization, value: (‘My API key:X’ converted to Base 64). A different error… maybe progress. The app returned "Unexpected/invalid field in request".
Just to be clear, the value would be the API after converting it to Base64
So slkgjlkjfg54654:X would become c2xrZ2psa2pmZzU0NjU0Olg= , this value will probably be between quotation marks, so “c2xrZ2psa2pmZzU0NjU0Olg=” (I would try it both ways)
I got the same value as you with my base 64 converter, so that process is right. I tried it with and without double quotes - still the same. This is how it looked as it processed the request:
Glad you were able to do it
@Andy N , I actually typed the reply to set the JSON to No but seems I forgot to click Send :) Sorry about that.