Our Dropzone Connector For Zendesk integrates a SendSafely Dropzone with Zendesk Messaging, allowing AI agents to securely collect files and messages from your users, all within the native Zendesk Messaging chat. This integration is achieved with a self-hosted AWS Lambda function, which interfaces between the Zendesk Messaging chat and your SendSafely portal, while preserving end-to-end encryption.
Below are the steps for creating and configuring the AWS Lambda function using a CloudFormation template.
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.
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 a Sunshine Conversations API key and secret and Zendesk Messaging is enabled for your Zendesk portal. You can read about Sunshine Conversations, and learn how to generate an API key and secret for basic authentication here.
- 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 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: This is the email address to notify when the Dropzone Connector encounters an errors
- 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)
- zendeskPortal: The URL for your Zendesk portal
- zendeskUsePublicComments: When set to true, upload notifications will be posted to tickets as a public comment. When set to false, upload notifications are posted to tickets as a private note and only visible to agents. If only using the Dropzone Connector for Zendesk Messaging, you can leave this at false (it will not affect the Messenger Chat)
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 have received an email to confirm the SNS subscription. Click the Confirm subscription link 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 Zendesk AI Agent Answer
On the Stack "Outputs" tab, copy the WebhookUrl to your clipboard. You will use this Webhook URL in the Zendesk AI Agent Answer steps, as outlined in "Dropzone for Zendesk Messenger: Configuring an AI agent Answer" article.
Step 7: Update Secrets Manager
Lastly, click on the SecretsManager link of the Stacks Resources tab in AWS to update the following required values for the Zendesk Messaging Connector:
- sendsafely_dropzone_id - The Dropzone ID from the Dropzone profile in the SendSafely portal. If you are using the Dropzone Connector for Zendesk Ticketing, then use the same Dropzone as you are using for that connector.
- zendesk_app_id - You can find this value from the Zendesk Admin Center > Apps and integrations > APIs > Conversations API. Then select the relevant Conversation to view the App ID.
- zendesk_sunshine_api_key - You can find this value from the Zendesk Admin Center > Apps and integrations > APIs > Conversations API. Then select the relevant Conversation to view the Key ID.
- zendesk_sunshine_api_secret - You can find this value from the Zendesk Admin Center > Apps and integrations > APIs > Conversations API. Then select the relevant Conversation to view the Secret key.
Once the fields are updated, click Save. If you are only using the Zendesk Messaging Connector, you can ignore the other fields (e.g. sendsafely_validation_key). If you are using both the Zendesk Messaging and Zendesk Ticketing Connectors, then you will have to populate all the required fields.
Step 8: Test the Messaging Connector (Final Step)
Once you complete the steps above, you should be able to visit your help center (or wherever the Zendesk Messaging widget is enabled) and upload files and secure messages via the appropriate AI Agent Answer.
If you have not configured the AI Agent Answer, please follow the guidance here.
Comments
0 comments
Please sign in to leave a comment.