Our Dropzone Connector for Zendesk allows you to integrate your SendSafely Hosted Dropzone with Zendesk. The Connector is available on the SendSafely Business and Enterprise plans.
NOTE: This Google Apps Script connector is a legacy offering, and as such, is not maintained for robust performance. Although it should suffice during a trial of SendSafely, our AWS, Azure, or GCP connector will be stabler, more secure, and better suited for use in a production environment.
Below are the steps for creating and configuring a Dropzone connector for Zendesk using Google Apps Script. You should host the Google Apps Connector in your Google Workspace environment.
Once configured, the connector updates existing Zendesk tickets with SendSafely secure links for file downloads. The connector uses the Dropzone lookup field (TicketID) to associate inbound files with the appropriate ticket in Zendesk. This value can either be entered by the customer at the time of Dropzone file submission, or, more commonly, embedded in the Dropzone URL provided to the customer by the agent.
Step 1 - Obtain a Zendesk API Token
Obtain a Zendesk API Token for the connector script to use. For this step, you'll need to be logged into Zendesk with the identity you want the connector to use for updating tickets.
In Zendesk, go to Admin > Channels > API > Settings. Under "Token Access" press the "+" button to obtain a new token.
For security purposes, SendSafely recommends regularly rotating API tokens. Note that SendSafely will, under certain circumstances, host a prospective customer’s connector for them during a pilot period. On conversion, we require the customer to generate a new API token upon transitioning to a self-hosted connector.
Step 2 - Enable your SendSafely Dropzone
If you have not already done so, follow the instructions outlined here to turn on your SendSafely Dropzone.
Step 3 - Configure and Deploy the Connector in Apps Script
The Google Apps Script bridges the SendSafely Dropzone and the Zendesk platform. The script ingests the SendSafely generated secure link & related metadata, and updates the target Zendesk ticket via the Zendesk API from Step 1 above. If the ticket is unable to be updated via the API call, a notification email is sent to the Dropzone owner and file submitter.
To proceed, make sure you have a copy of the latest SendSafely Dropzone Connector Google Apps Script. You can request a copy from support@sendsafely.com, if not already provided.
Copy the Connector Template into your Google Drive.
Note: the account you are logged into Google Drive with will be the account used for sending notification emails if the Zendesk update fails, for example when the customer provides an invalid ticket number. As such, you will want to use a generic login or configure your account to be able to send email on behalf of a generic alias (see here for steps on how to configure sending on-behalf-of in Gmail: https://support.google.com/mail/answer/22370?hl=en).
a. From the Spreadsheet view, select the “Extensions” menu, and then “Apps Script".
i. Navigate to the Editor > Code.gs view. Select setup from the dropdown menu then click Run. You will be prompted by Google to grant the necessary permissions for this script to work. Click “Allow”.
ii. Navigate to the Project Settings (gear icon) and scroll to the Script Properties section. Click the Edit script properties button to populate the following:
- company_name- Your company's name as you want it to appear within notification messages.
- isPublic - controls whether the SendSafely secure links to uploaded files are posted to the ticket as public or internal notes. Defaults to "false", meaning secure links are posted as internal notes.
- sender_email - This should be the user that owns/runs the connector. If this user is authorized by Gmail to send email on behalf of another address, you can choose another authorized address.
- sendsafely_validation_key - The Dropzone Validation Key for the account that owns the Dropzone. You can obtain this value from the "Dropzone" section of the "Edit Profile" screen in the SendSafely portal.
- zendesk_portal_url - Your Zendesk portal address (i.e., company.zendesk.com or support.company.com) – don't include the protocol.
- zendesk_user_api_token - The API Token for Zendesk obtained from Step 1 above. Note that the syntax of the token should be "user@company.com/token:XXXXXX" where user@company.com is the email address of the account that owns the API token (used in Step 1) and XXXX is the token value.
iii. Click the blue Deploy button in the top right corner.
- From the Dropdown, choose "New deployment"
- Select "Web app" as deployment type.
- Under "Execute as" choose "Me"
- Under "Who has access" choose "Anyone"*
*Anonymous users will only be able to execute the script but not view its contents. For security purposes, the script also only accepts data that is encrypted using the shared validation key.
b. After pressing "Deploy" copy the Current web app URL and perform the following steps to update the SendSafely Dropzone Webhook and Form Input Label.
- Log into the SendSafely web portal and navigate to Edit Profile-> Dropzone.
- Paste the copied URL into the "Use a Webhook for notifications:" under Notification Settings.
- If you have not already done so, update the "Form Input Label" option to say "Zendesk Ticket Id" (instead of "Name").
Step 4 - Add a Macro to Zendesk for Inserting the Dropzone Link
In order to make it convenient for agents to send the correct Dropzone link to customers, we recommend creating a custom macro that can be used to automatically insert the Dropzone link into an agent's reply. Browse to Admin > Manage > Macros > Add Macro to create a new macro .
Note that the Dropzone URL also allows you to pre-popluate the ticket id in the URL so that your customer does not have to know the correct ticket id to use. The {{ticket.id}} placeholder within the Zendesk macro template can be used to automatically insert the correct ticket ID in the URL as demonstrated below.
NOTE: You must surround the entire Dropzone URL with the {% raw %} and {% endraw %} tags to avoid having Zendesk attempt to pre-populate the ticket id before the ticket has been submitted. If you do not do this, then the macro will not work effectively in cases where the ticket id has not yet been assigned (like when creating a new ticket).
Take care to ensure that the Zendesk Rich Content editor does not incorrectly try to format your macro URL as a hyperlink. When this happens you will see a portion of the macro URL turn blue. If this happens, click the blue text and choose the trash can icon so that the entire URL is black.
BAD MACRO:
GOOD MACRO:
Once the macro has been saved, agents will have the option to use the macro from the bottom of the agent console when replying to a ticket.
Step 5 - Test the Dropzone using a valid Ticket
Once you complete the steps above, you should be able to browse to the Dropzone URL and update any valid ticket. The following diagram depicts the logic implemented within the connector and shows what actions will result under various circumstances.
For additional assistance setting up the Zendesk Dropzone Connector, contact support@sendsafely.com.