Build Custom CTI for Freshservice

Hi everyone, :wave:

We have previously created a CTI app for Freshdesk using the cti_global_sidebar to load in the CTI and the fresh_client.js to make API calls and interact with the UI.
We now have customers wanting a similar app in Freshservice, but as far as I can tell the way to create a CTI there is a bit different from how it’s done in Freshdesk.
What is the preferred way of creating a custom CTI for Freshservice?
The main issues here is how to handle API calls. My initial thought was to have the users add their Freshservice URL and an API token as query parameters when adding our CTI URL to the CTI Framework app, but that doesn’t feel quite right.

Has anyone here made a custom CTI for Freshservice before?

Thanks,
Jesper

1 Like

Hi @Telavox_Jesper ,
Good Day!

I think you can get the FreshService URL and the API key from the Iparams (settings page)
and use our Request API to make API calls.

Thanks

1 Like

Thank you for the reply. I assume that needs the fresh_client.js loaded in to work. Can that be loaded through an app being hosted outside of Freshservice and then loaded in through the CTI Framework app?

As far as I can tell from the documentation, there is no cti_global_sidebar that can be used as the location for the app as there is for Freshdesk.

@Telavox_Jesper,

Yes, you need fresh_client.js to make it work.

are you using any Iframe to load the content (hosted outside of fresh service)?
if so fresh_client won’t work or if you are appending the hosted app directly to the app, then you are able to use the fresh_client.

Yes, cti_global_sidebar placeholder is not supported in Freshservice

Thanks

1 Like

Thanks for your reply, @Santosh!

And that means I have to use the CTI Framework app to input a URL for a hosted CTI to get a custom CTI in Freshservice, correct?
Which also means that I can’t use the fresh_client since the CTI would be hosted outside of Freshservice, right?

From what I can tell, the CTI Framework app would be the way to go about it, which would mean I have to create a solution hosted outside of Freshservice.

Hi @Telavox_Jesper,
Good day!
Sorry for the delay in responding.

yes you are right.