Salesforce cases

Bi-directionally integrate Slack and Salesforce cases.

Overview

The Thena <> Salesforce Cases Integration is built for:

  • Product Support Agents who want to work and live in Salesforce Cases, but need better visibility of requests that originate in Slack. Thena creates a bi-directional flow of information from Slack to Salesforce Cases, so context of the conversation & status updates are tracked accordingly.
  • Customer Success Managers who want to more easily re-direct issues, bugs, etc to their support team that uses Salesforce Cases.

Use cases

At a high-level, using Salesforce Cases and Thena will enable a workflow where requests that are determined to be better suited for the Support Team to handle will be bi-directionally synced across the two platforms (Slack and Salesforce Cases). The flow looks something like this:

  • A customer reaches out to the vendor (you) in Slack.
  • From the channel, the vendor (likely a CSM or someone related) determines this requires the support team in Salesforce Cases. They create a ticket using the workflow from Slack, the Web App, or the Triage Channel.
  • The ticket gets created in Thena & Salesforce Cases. The Support Team will see a new ticket in Salesforce Cases, and can work to solve and prioritise accordingly.
  • All context that is shared by the customer (files, links, etc) are also sent through to Salesforce Cases.


Get started

  1. Create a user and secret token on Salesforce
  2. Create a connected app on Salesforce
  3. Add Salesforce details on Thena
  4. Map your slack channels with customer accounts on Salesforce

Create a user and secret token on Salesforce

The owner of the cases is this user by default.

  1. Create a user that will act as "Thena" on Salesforce or you can use your current admin account details. This is a necessary step because we want to prevent going down the route of other apps that force all users to authenticate their SFDC login details.
    1. Click on the gear on top right -> Setup
    2. Click on Create on top right -> User
  2. Once this user is created, save the username + pwd (you can share it with us for us to set up the next few steps if you'd like) and login with the same user.
  3. Login as this user and go to the profile page and create a secret token via My Personal Information -> Reset My Security Token

Create a connected app on Salesforce

This connected app on Salesforce will be used to read/write cases from Salesforce.

  1. Navigate to SF Developer Console (https://.develop.lightning.force.com/lightning/setup/)
  2. Select β€œSetup” from the top-right gear icon.
  3. In the left nav bar, go-to Apps and select Manage Apps . Click on New Connected app option from right of the modal.
  4. In the new connected app menu , provide the name of the app: thena_sfdc.
  5. Check β€œenable oauth flow”.)
  6. Within the oauth flow modal , provide the following callback URL : [https://passport.thena.ai/oauth](https://passport.thena.ai/oauth
  7. Within the API permissions , provide the following permissions :
    1. Access Lightning Objects
    2. Access the Identity URL Service
    3. Access Unique User Identifiers
    4. Manage User Data via APIs
    5. Manage User Data via Browsers
    6. Perform Requests at any time
    7. Optional: Full API Access
  8. Complete the Connected App setup on the menu.
  9. After connected app setup, navigate to App Manger and search for : thena-sfdc-poc. From the down-arrow icon, click View.
  10. In the App details page , click on Manage consumer details.

🚧

Change data capture should be enabled

Please make sure that Change Data Capture is enabled for the Case and Email Message objects. Refer to the Salesforce Cases FAQs on how to do that.

Not doing so will stop SFDC from sending any Case updates or replies to Thena and the integration will not work

Add Salesforce details on Thena

  1. Login to https://app.thena.ai/
  2. Go to the Integrations tab under Settings - https://app.thena.ai/settings?tab=integrations
  3. Search for Salesforce and Click Add Integration
  4. Fill in the details
    1. User ID and Pass of the new user created
    2. Secret Token of the new user created
    3. Consumer Key and Consumer Secret of the New App Created
    4. Your Salesforce URL
    5. Select the Request Type as Tech Supoprt
  5. Click Test Connection

Map your slack channels with customer accounts on Salesforce

  1. Search for the customer channel on the left
  2. Select the account on the right from the drop down

To view your mapped channels, select Mapped Channels from the dropdown on the top right

🎿Thena is now setup to work seamlessly with Salesforce Cases 🎿


FAQs

Does Thena white-label ticket creation

We link the ticket created on Salesforce cases to the mapped account but the case owner is set as the user you created while setting up the integration or if you did not create a new user, the owner is set as the Admin who integrated Salesforce cases with Thena

Can I reassign a ticket on Salesforce cases via Slack?

No

Is Slack mark down supported for Salesforce cases?

No - it means that bold text on Slack appears within the * (asterisk ), italics appears within _ (underscore) and code appears between triple ```

Does Thena white-label ticket comments?

Comments from an agent via Salesforce Cases are sent as your Workspace i.e. workspace name and the workspace logo.
Attachments sent will show up as Thena on Slack as Slack does not support white-label for file uploads

Unable to get Case updates from SFDC into Thena

Debugging FAQ: How to Check CDC for Salesforce Updates

If you're not receiving updates from Salesforce as expected, it might be due to the Change Data Capture (CDC) settings. Follow this FAQ to troubleshoot and ensure that CDC is enabled and configured correctly for your Salesforce instance.

What is Change Data Capture (CDC)?**

Change Data Capture is a feature in Salesforce that allows you to track changes made to records in your organization. It captures changes such as inserts, updates, deletes, and undeletes and makes these changes available for consumption in near real-time.

How do I know if CDC is enabled for my Salesforce instance?**

To check if CDC is enabled for your Salesforce instance, follow these steps:

  1. Log in to your Salesforce account.
  2. Go to Setup by clicking on your profile picture and selecting "Setup."
  3. In the Quick Find box, type "Change Data Capture."
  4. Click on "Change Data Capture" to see a list of objects that have CDC enabled.

How do I enable CDC for an object?**

If CDC is not enabled for an object, follow these steps to enable it:

  1. In the "Change Data Capture" settings page, find the object you want to enable CDC for.
  2. Click on the object's name.
  3. On the object's CDC settings page, click the "Enable" button.

How do I check if CDC events are being generated for an object?**

To ensure that CDC events are being generated for an object, follow these steps:

  1. In the "Change Data Capture" settings page, find the object of interest.
  2. Click on the object's name.
  3. On the object's CDC settings page, look for the "Event Log Files" section.
  4. If there are log files listed, it indicates that CDC events are being generated.

How can I verify if CDC events are reaching my system?**

If you're not receiving CDC events, here's how to verify if they're being sent:

  1. Check your integration or system that consumes CDC events for any errors or connection issues.
  2. Ensure that the endpoint or destination you've configured to receive CDC events is correct and operational.
  3. Review your Salesforce integration settings to ensure that the correct CDC events are subscribed to and being forwarded to your system.

Are there any limitations to CDC?**

Yes, there are some limitations to CDC in Salesforce. These include:

  • CDC is available for a limited set of standard objects and custom objects.
  • CDC events have a retention period. If not consumed within that period, they might be lost.
  • CDC events are subject to Salesforce's API limits and quotas.

Who can enable or configure CDC in Salesforce?**

Users with the "Modify All Data" permission or appropriate administrative privileges can enable and configure CDC for objects in Salesforce.

How can I get further assistance?**

If you're still facing issues with CDC after following the above steps, consider reaching out to your Salesforce administrator, Salesforce support, or the support channels for the application or system that consumes the CDC events.

By following these steps and guidelines, you should be able to diagnose and resolve issues related to Change Data Capture in Salesforce and ensure that you're receiving the updates you expect.

How can I remove the footer on each message which reads thread::0_wifhJKHBFJKHDFN:

The thread ID is an identifier used by Salesforce to track email conversations and associate them with the correct case or record.
In order to remove it, below are the steps in the Salesforce instance that you have configured in your demo workspace:

  • Click on the gear on the right top
  • Search Email-to-Case (it is under under Services)
  • Click Continue
  • Click Edit
  • Uncheck Insert email threading token in email body under Send Emails from Cases
  • Click Save

How long are the attachments sent from Salesforce to Thena accessible?

All attachments shared from Salesforce are securely stored on Thena's S3 bucket infrastructure. For each attachment, a presigned URL with a validity period of 7 days is specifically generated. This presigned URL is then shared on Slack, providing a convenient and temporary access window for viewing and downloading the attachments. After the 7-day period, the presigned URL expires as part of our security protocols, ensuring data privacy and access control.

Can I provide my own S3 bucket to host the attachments shared from Salesforce to Slack?

Yes, you have the flexibility to use your own S3 bucket infrastructure to host the attachments shared from Salesforce to Slack. Thena can seamlessly integrate with your designated S3 bucket, allowing for direct storage of images or files and generating presigned URLs for each attachment. This approach provides a customized data storage solution while maintaining the integration's functionality. For further details and assistance in setting up your custom S3 bucket integration, please connect with your dedicated Thena Point of Contact (PoC). They will guide you through the process and ensure a smooth transition to utilizing your preferred storage infrastructure.