Our Dropzone Connector for Salesforce allows you to integrate your SendSafely Hosted Dropzone with Salesforce Service Cloud. The connector is available to subscribers on SendSafely Business and Enterprise plans. Once configured, the connector updates existing Service Cloud cases with SendSafely secure links for file downloads. The connector uses the Dropzone lookup field (Case Number) to associate inbound files with the appropriate case in Salesforce. This value can either be entered by the customer at the time of Dropzone file submission, or, more commonly, embedded in the Dropzone URL that is provided to the customer by an agent.
Below are the steps for creating and configuring the AWS Lambda connector using CloudFormation.
Prerequisites
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 Set Up article for steps on how to enable.
- You have admin permissions within Salesforce Service Cloud
-
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
Step-by-Step Integration Guide
1. Request the CloudFormation template from your SendSafely integration team
Prior to beginning this setup you will need to contact support@sendsafely.com for instructions on how to obtain the CloudFormation template file, which is required for the setup.
2. Set up a Connected App in Salesforce
Follow the steps outlined here to set up a new Connected App in Salesforce: https://sendsafely.zendesk.com/hc/en-us/articles/360040234451
3. Obtain a Refresh Token
Use the getRefreshToken.js script to obtain a Salesforce Refresh Token for the Dropzone Connector to use. The script can be downloaded here: https://github.com/SendSafely/Code-Examples/tree/master/Obtain%20Salesforce%20Refresh%20Token
The script will require you to enter the following values obtained during the Connected App setup:
- Salesforce Consumer Key
- Salesforce Consumer Secret
Once the above items are provided, the script will produce a URL that you must copy/paste into your browser while authenticated to Salesforce. This URL will prompt you for permission to authorize the app to run.
Once authorized, you will be redirected to a screen that says "Remote Access Application Authorization". In the URL you will see a value that says code=XXXX where XXXX is the Authorization Code. Please copy that value (excluding the code= portion of the value) and provide it to the script when prompted.
Once the script verifies the Authorization Code, it will print the Refresh Token to the screen. The Refresh Token is a credential for Service Cloud. Make sure you do not store it unprotected or disclose it to anyone.
4. Create the CloudFormation Stack
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 Template source, select "Upload a template file" and select the updated YAML file. Follow the subsequent prompts to complete the creation of the resources required for the Salesforce connector.
Specify stack details
Enter the name of your stack, and provide an error reporting email.
NOTE: After the stack is created, the address specified in Email Address for Error Notifications 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).
5. Update Secrets Manager
Click on the SecretsManager link of the Stacks Resources tab in AWS to update the following configuration properties:
- sendsafely_validation_key
- salesforce_consumer_key
- salesforce_consumer_secret
- salesforce_refresh_token
You might choose to replace the placeholder values for the following properties as well:
- sendsafely_link_destination
- salesforce_is_sandbox
6. Update the Dropzone webhook
Copy the webhook generated by your Salesforce connector (available in the API Gateway generated by the Lambda service) into the Notifications setting for your Dropzone:
7. Create a Quick Text or Template for ease of use
Salesforce provides information on how to create a Quick Text and how to create a Template. We recommend using something like the following text for either, replacing yourcompany.sendsafely.com with your Hosted Dropzone URL:
“Please use the following link to securely upload your files: https://yourcompany.sendsafely.com/dropzone/servicecloud/{!Case.CaseNumber}”
If you wish to pre-populate your customer’s email address in addition to their case number, you can do so using the following Quick Text or Template:
“Please use the following link to securely upload your files: https://yourcompany.sendsafely.com/dropzone/servicecloud/{!Case.CaseNumber}/{!Contact.Email}”
8. Test the Connector
Ensure that the connector is working by making a Dropzone submission with an existing Case Number provided in the Form Input Label, and verifying that the secure link to that Dropzone submission is added to the Case.