Build custom, seamless integrations between your Salesforce CRM and Centercode
This article applies to Pro, Team, and Legacy editions.
Note that while Centercode’s integration features are intended to be approachable by a Centercode Program Manager, you might need to enlist help from an internal technical resource and refer to our vocabulary and troubleshooting documentation.
Salesforce is a nearly-limitless tool that has the ability to store and send customer information for use across your organization. The Salesforce CRM system offers tons of potential connections and use-cases including first-class endpoints and open-ended methods like capturing webhooks, processing data it receives, sending its own webhooks to various custom endpoints, and more. Below are some potential (common) integration use cases for Salesforce.
Consider connecting Salesforce to Centercode to…
- Remove Centercode users via requests sent through Salesforce
- Create feedback in Centercode through Salesforce
- Store data sent through Salesforce to a Centercode User (Coming soon - ask us!)
- Store Centercode user or feedback data in Salesforce (Coming soon - ask us!)
Removing Centercode users via Salesforce
Salesforce often acts as a central CRM managing and maintaining user records and customer details. When a customer requests the removal of their information (typically in compliance with data privacy laws like GDPR, CCPA, and others), Salesforce may be configured to push that request to multiple endpoint systems including Centercode.
Preparing the macro listener in Centercode
To start, you’ll configure the action (e.g. remove a user or send an email) and the automation that Salesforce will use to trigger this action within Centercode. In this use case, you’ll need a community-level macro that removes the user and an external listener that receives the request and identifies the user.
This knowledge base article describes the process of setting up the Centercode side of the integration.
Here are the highlights:
- Create your macro that removes the user
- Create your external listener which triggers a macro, then pick the macro you created
- Copy the endpoint URL for use within your Salesforce automation
Preparing your POST in Salesforce
Once the Centercode side is ready, you’ll have an endpoint URL to use in your Salesforce integration. Salesforce will send a request to that URL with a query string parameter that identifies which user account to affect. To accomplish this, it’s generally recommended to create custom APEX code for this configuration. Since Salesforce is extremely customizable and this integration is likely part of a larger, more complex effort by your organization, please enlist the help of a Salesforce integration specialist within your organization.
Ultimately, you’ll need:
- A POST to the Endpoint URL provided in the previous section
- The email address of the user you’re looking to remove included in the URL’s “FIND” parameter
- Ex: …/api/v1/userMacroListeners/demo?find=tony@centercode.com&apiKey=...
- A flow that initiates this POST from Salesforce when a user needs to be removed from Centercode
Troubleshooting
I’m sending POSTs to the endpoint successfully but the system returns a 404
Users who request removal from your systems aren’t always in Centercode along with the other tools connected to your automation. In this case, Centercode will return a 404 to indicate that the user couldn’t be found, meaning they don’t have an account to remove.
I’m seeing success with my integration but the logs show a 202 instead of a 200 like I’d expect
Since the triggered macro is executed separately from the API connection, the macro’s function may be completed after the integration connection is closed. In that case, Centercode will proceed with the macro but return a 202 in response and in logs.
-
Creating feedback in Centercode from Salesforce
Your Salesforce instance may collect feedback from your users that belongs in Centercode as part of an ongoing project. If that’s the case, you can have Salesforce send that feedback to an external source listener within a Centercode project and new feedback will be created automatically.
Preparing the external source within Centercode
The External Sources integration allows for your Centercode implementation to receive data from outside systems like Salesforce to create actionable feedback tickets. Those tickets function exactly like normally created feedback, including workflow, Impact Scoring, and other connected automation.
This knowledge base article describes the process of setting up an external source integration within Centercode, ready to catch an incoming POST.
Here are the highlights:
- Within the chosen project and feedback type, create a new external source
- Choose the appropriate workflow “starting point” for incoming feedback
- e.g. Team: Participants | Status: New
- Configure the external source to collect the incoming fields, mapping them to your feedback form
- Copy the endpoint URL for use within your Salesforce automation
Preparing the POST within Salesforce
On the Salesforce side, feedback or form data collected from your users is typically stored as fields. For this example, you’ll set up an outbound POST that includes the required fields within its JSON. It’s recommended that you leverage APEX for this configuration. Since Salesforce is extremely customizable and this integration is likely part of a larger, more complex effort by your organization, please enlist the help of a Salesforce integration specialist within your organization.
Ultimately, you’ll need:
- A POST to the endpoint URL provided in the previous section
- Salesforce “Parameters” paired with the Centercode “Fields” in the JSON body
- A flow that initiates the POST from Salesforce when new feedback data should be sent to Centercode