The SendSafely Dropzone Connector for Freshdesk allows you to integrate your SendSafely Hosted Dropzone with your Freshdesk portal. The connector is available to subscribers on SendSafely Business and Enterprise plans. Once configured, the connector updates existing Freshdesk tickets with SendSafely secure links for file downloads. The connector uses the Dropzone lookup field (Ticket ID) to associate inbound files with the appropriate ticket in Freshdesk. 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 a Freshdesk agent.
Here are the steps for creating and configuring the AWS Lambda connector using CloudFormation:
Prerequisites
The steps outlined in this article assumes the following prerequisites:
- You already have a SendSafely account with a Dropzone enabled. Refer to the “Initial Dropzone Setup” section of the Hosted Dropzone article for steps on how to enable.
- You have an API Token for Freshdesk that will allow the connector to authenticate and read/update cases in Freshdesk (refer to the "Obtaining a Freshdesk API Token" section in the Appendix of this article for instructions on obtaining a Freshdesk API Token).
- You have permissions within AWS to setup and deploy new resources. Specifically you will need permission to:
- Create a new Lambda Function
- Create a new DynamoDB Table
- Create a new SNS Topic (Simple Notification Service)
- Create a new API (API Gateway Service)
- Create a new AWS Secret (AWS Secrets Manager )
- Define a custom IAM Role for the Lambda Function
Prior to beginning this setup please contact support@sendsafely.com for instructions on how to obtain the CloudFormation template file, which is required for Step 1 below.
Step 1: Create stack and specify template
First, create a stack by logging into your AWS account. Choose us-east-1 as your region. The CloudFormation template must be deployed in us-east-1, as it queries resources from that region. Browse to the CloudFormation console. Choose: AWS -> CloudFormation -> Create stack -> With new resources (standard)
Under "Step 1: Specify template" select the following options and click next:
- Prepare template: Template is ready
- Template source: Upload a template file
- Template file: The YAML obtained from your SendSafely account representative or SendSafely Support
Step 2: Specify stack details
Next, name the stack and populate the following mandatory parameters:
- errorReportingEmail: The email address to notify when the Dropzone Connector encounters an error.
- freshdeskPortal: The URL for your Freshdesk portal.
- freshdeskUsePublicComments: If true, upload notifications will be posted to tickets as a public comment. If false, upload notifications will be posted to tickets as a private note and only visible to agents.
- resourcePrefix: A value prepended to resources created by this template so that you can uniquely identify them (must begin with a letter and contain only alphanumeric characters)
NOTE: After the stack is created, the address specified in errorReportingEmail (in this example support@companyxyz.com) will receive an email to confirm the SNS subscription. If you do not confirm the SNS subscription, you risk data loss in the event of a connector failure (e.g., if AWS goes down).
Step 3: Configure stack options
For this step we recommend that you leave the default values and click the "Next" button. CloudFormation will automatically create a new role for the connector that has the minimum permissions needed for it to run correctly.
Step 4: Review
Review and acknowledge the required resources and capabilities then click "Create stack"
The Stack may take several minutes to create. You can view the status from the CloudFormation > Stacks screen. Once the entire process completes successfully, the stack will have a status of "CREATE_COMPLETE". You can view a complete list of the resources that were created from the "Resources" tab. This includes the Lambda function and supporting AWS resources.
Step 5: Confirm the SNS subscription for Error Reporting
The address specified for the errorReportingEmail should receive an email to confirm the SNS subscription. Click Confirm subscription to enable the alerts. If you do not confirm the SNS subscription, you risk data loss in the event of a connector failure (e.g., if AWS goes down).
Step 6: Configure Webhook URL in SendSafely
On the Stack "Outputs" tab, copy the WebhookUrl to your clipboard. In the example below, the URL is https://ld8w43ormg.execute-api.us-east-1.amazonaws.com (your stack will have a different URL).
Log in to your SendSafely portal as either the Dropzone owner or as a SendSafely Admin and navigate to the Dropzone profile. Under Notification Settings, select the "Use a Webhook for notifications" option and paste in the WebhookUrl. You should also make sure that the "Form Input Label" value is set to something intuitive, such as "Freshdesk Ticket Number" or "Ticket ID."
Step 7: Update Secrets Manager
Lastly, click on the SecretsManager link of the Stacks Resources tab in AWS to update the sendsafely_validation_key and freshdesk_user_api_token values
- sendsafely_validation_key - The Dropzone Validation Key for the account that owns the Dropzone. You can obtain this value from the Dropzone profile in the SendSafely portal
- freshdesk_user_api_token - The API Key for Freshdesk.
Once the fields are updated, click Save.
Step 8: Test the Connector (Final Step)
Once you complete the steps above, you should browse to the Dropzone URL and update any valid ticket. If you have not already done so, we recommend that you create a Freshdesk macro for inserting Dropzone links into your tickets (refer to the "Creating a canned response in Freshdesk for Inserting the Dropzone Link" section of the Appendix below).
The following diagram depicts the logic implemented within the connector and shows what actions will result under various circumstances.
Appendix
Creating a canned response in Freshdesk 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 canned response that can be used to automatically insert the Dropzone link into an agent's reply. Browse to Admin > Agent Productivity > Canned Responses > New Canned Response to create a new canned response.
Use the {{ticket.id}} placeholder within the Freshdesk canned response template to automatically insert the correct Ticket ID in the URL as demonstrated below:
https://yourcompany.sendsafely.com/dropzone/freshdesk/{{ticket.id}}
You may also wish to prepopulate the ticket requester's email:
https://yourcompany.sendsafely.com/dropzone/freshdesk/{{ticket.id}}/{{ticket.requester.email}}
Replace the examples above with the URL of the Dropzone you are integrating with your Freshdesk portal. Once the canned response has been saved, your agents will have the option to use the macro from the bottom of the agent console when replying to a ticket.
Obtaining a Freshdesk API Key
Log in to your Freshdesk portal as a verified agent, click the profile icon in the top-right corner of the screen, then select Profile settings. Here, click View API Key.
For additional assistance setting up the Freshdesk Dropzone Connector, contact support@sendsafely.com.