PLEASE NOTE: This integration is currently working as intended however if Zendesk makes changes to the setup we will not be making any changes to this integration.


Receive enquiries and respond to Zendesk support tickets via SMS. Allow your customers to contact you on the go from anywhere. Setting up our Zendesk integration is very easy with our simple URL based connections.


Step 1 - Setting up a virtual number to receive requests


In your Burst SMS account go to the NUMBERS section in the top menu and click ADD NUMBER



You can choose from one of our off the shelf numbers or you can request a vanity number. 


NB: Vanity numbers can take up to 30 days to source and add to our system. Virtual numbers cost different amounts depending on your country and the quality of the number. Numbers are available for Australia, Singapore, USA and UK off the shelf, others are available on request.


Step 2 - Setting up your number to forward messages to Zendesk


Copy and paste the final URL into a text editor such as notepad or TextEdit so that you can populate the 3 parameters needed in the URL


Final URL


http://www.transmitsms.com/plugins/zendesk/inbound.php?pass_to_url=true&account=put your Zendesk Subdomain here&username=put your Zendesk Login Email here&token=put your Zendesk API Token here&priority=normal


You need to populate the parameters; account, username and token. 


Examples:


1. Zendesk API token


In Zendesk click on the "Admin" cog in the lower left of the screen and then navigate to Channels /API. Click on Add New Token


EXAMPLE: token=6gfik74tg5duhMEccxx44tddf


2. Account Subdomain


If your Zendesk URL is https://companyname.zendesk.com


EXAMPLE: account=companyname


3. Account Email


EXAMPLE: username=name@email.com


Once you have an active number click the INBOUND OPTIONS link in the ACTIONS column next to the number.



Forward to URL


This function takes an incoming text message and forwards it to another application, in this case Zendesk.


Copy and Paste your completed URL into the FORWARD TO URL field and click on the UPDATE button.



Step 3 - Create a Zendesk Target for sending SMS


A target is a channel that Zendesk sends ticket updates or other communication to. We need to connect this channel to your Burst SMS account using another URL.


Login to your Zendesk account, click on the "Admin" cog in the lower left of the screen and then navigate to Settings > Extensions.


Select the TARGETS tab then click ADD TARGET.


Choose URL TARGET.


Create a Title e.g: SMS Alert.


And then we create our URL parameters with the following Burst SMS account information:


1. API key & secret


In your Burst SMS account click on SETTINGS section from top menu and scroll down to API Settings to find your API key and set your API secret. 




After you create a secret click UPDATE PROFILE.


EXAMPLES:
key=280bd0fd0hsggwtgdfdbursttest
secret=mysecret


2. Virtual Number


This is the number in your account that people will text and/or reply to. Set the "from" parameter to your Burst SMS virtual number.


EXAMPLE: from=61422222222 (NB: do not include the + symbol before the number).


3. Country


This will automatically format incoming numbers in the correct format. Set the "country" parameter to either; AU, US, NZ, SG or GB 


EXAMPLE: country=AU


FINAL URL:


http://www.transmitsms.com/plugins/zendesk-proxy.php?key=put your API key here&secret=put your api secret here&from=put your Burst SMS number here&country=country code&to={{ticket.requester.phone}}&tags={{ticket.tags}}


Once you have created the URL, complete the remaining settings then select Create Target & click SUBMIT


Method: GET


Attribute Name: message


Basic Authentication: Not required


NB: If you have a signature that you do not want displayed in the text message, add -- (dash dash space) above it to omit everything after. Make sure the signature is the last thing in the message.



Step 4 - Enable Notifications with Zendesk Triggers


Now we need to tell Zendesk when to send SMS notifications. This is done with Triggers.


1. Navigate to Business Rules / Triggers


2. Click on the trigger called Notify requester of received request


3. Add SMS Alert to trigger by clicking Add Action (little green plus symbol)


4. Enter the following parameters:


From drop down select Notifications > Notify target > SMS Alert


Message: Enter your message


Example Receive Ticket Message:


BURST SMS HELP TICKET CREATED


{{ticket.latest_comment}}


5. Select UPDATE & click SUBMIT


6. Follow the above 1-5 steps to setup the SMS Alert for your trigger called


Notify requester of comment update


Example Ticket Update Message:


BURST SMS HELPDESK UPDATE


{{ticket.latest_comment}}


Reply to comment



Optional: Add a string of characters to the incoming SMS sent to Zendesk


You can add a string of characters before or after your message text on incoming SMS to Zendesk by adding message-prepend or message-append parameters that can be searched on and used to create a trigger that applies tags to tickets.


1. In your Burst SMS account click on NUMBERS > INBOUND OPTIONS > FORWARD TO URL against your Burst SMS number as show in below URL:


http://www.transmitsms.com/plugins/zendesk/inbound.php?pass_to_url=true&account=put your Zendesk Subdomain here&username=put your Zendesk Login Email here&token=put your Zendesk API Token here&priority=normal&message_prepend=Enter a message to appear before the message text&message_append= Enter a message to appear after the message text


UPDATE: Collecting mobile number from ticket web form


If you want to add a mobile field to your online submission form you can do so.
You can do this my clicking Manage > Ticket Fields in the admin interface. Click 'add custom field' and create a 'text' field called 'Mobile'
You will also need to find your Zendesk API token. You can get this at Channels > API. Click 'Generate Token' to get the token.


Replace the target URL with:


http://www.transmitsms.com/plugins/zendesk-proxy.php?key=put your API key here&secret=put your api secret here&from=put your Burst SMS number here&country=put the country code here&to={{ticket.requester.phone}}&userid={{ticket.requester.id}}&tags={{ticket.tags}}&updateuser=1&zdaccount=put your Zendesk subdomain here&zdusername=put your Zendsesk login email here&zdtoken=put your Zendesk API token here&ticketid={{ticket.id}}


Use country codes AU, NZ, SG, US, HK or GB


Once you have set this up users can add their mobile number when they submit a ticket via the web form, or you can update them manually as you are responding to tickets. The number can be input in local or international format without issue.
The reason it is a bit complex to setup is that the number field at this stage is on the ticket and not the user record, this script transfers the number to the temporary user record which is what the system uses to send.