Salesforce collector
Overview
Salesforce is a customer relationship management (CRM) solution that brings companies and customers together. It's one integrated CRM platform that gives all the departments, including marketing, sales, commerce, and service. This collector provides the possibility to integrate Salesforce with the Devo Platform making it easy to query and analyze the Salesforce data, view it in the pre-configured Activeboards, or customize them to enable Enterprise IT and Cybersecurity teams to make impactful data-driven decisions.
The Devo Salesforce Collector enables customers to retrieve data from the “Salesforce Objects API“ (a.k.a. SObjects
). The collector processes the Salesforce API responses and sends them to the Devo platform which then categorizes all data received on tables along rows and columns in your Devo domain.
This collector works only with the “Enterprise”, “Performance”, “Unlimited”, “Developer”, and “http://Database.com ” Salesforce editions. Please ensure that you have one of the listed editions.
Data source description
Listed in the table below are the SObject
names, their details, and how the Devo Platform treats the data. You can see that all the SObject
events (JSON documents) fall under the crm.salesforceobjects
technologies, except for the “event log files” processed events, which fall under the crm.salesforce
one:
Product | Data source | Devo table | Collector service | Related remote endpoint | Description |
---|---|---|---|---|---|
Salesforce | Account |
|
| The main endpoint is
Check the “Running the data collector” sections for more information. | Represents an individual account, which is an organization or person involved with your business (such as customers, competitors, and partners). |
Case |
|
| Represents a case, which is a customer issue or problem. | ||
Content Version |
|
| Represents a specific version of a document in Salesforce CRM Content or Salesforce Files. | ||
Dashboard |
|
| Represents a dashboard, which shows data from custom reports as visual components. | ||
Login History |
|
| Represents the login history for all successful and failed login attempts for organizations and enabled portals. | ||
Opportunity |
|
| Represents an opportunity, which is a sale or pending deal. | ||
Report |
|
| Represents a report, a set of data that meets certain criteria, displayed in an organized way. | ||
User |
|
| Represents a user in your organization. | ||
Event Log Files |
|
| Represents event log files for event monitoring. Possibility to set Risk of reaching rate limits. Enabling file processing may cause a high number of requests against the API. | ||
Setup Audit Trail |
|
| Represents changes you or other admins made in your org’s Setup area for at least the last 180 days. For more information, see SetupAuditTrail in the Object Reference for the Salesforce Platform. |
External links
References | Details | Link |
---|---|---|
Salesforce | API guidelines and documentation for Salesforce Objects. | |
Event types for | List of all the possible event types that are ingested in the All |
Vendor setup
The Salesforce Collector works over the Salesforce API. We need to enable API access and ensure its permissions in your Salesforce account to allow the collector to get the data correctly.
Enable API access on the account
Steps | Snapshot |
---|---|
Login to your Salesforce account. |
|
Click on the gear icon (near the user icon) and select “Service Setup“. | |
In the setup interface, go to the left tree and deploy “Users“ and select “Users“. | |
Here, find the user you want to enable the API Access for and click on its associated user profile (its corresponding value from the Profile column). | |
In the profile screen, click on “Edit“. | |
Scroll down to “Administrative Permissions“, and search for “API Enabled“. | |
Check it and save the changes. |
|
Authentication
The Salesforce Collector supports both User/Password and OAuth 2 authentication methods. Choose your preferred option.
Getting credentials (User/Password)
This method needs the username
, password
, and security_token
.
Usually, everything comes together on the same email when the user is registered in a Salesforce account, but if the security token does not come in the email or you cannot find it, follow the next steps to obtain a new one:
Steps | Snapshot |
---|---|
Login to your Salesforce account with the user that will be used to access the API. |
|
Click on the user icon (at the top right of the screen) and select “Settings“. |
|
In the settings left menu, find “My personal information“ and search for “Reset my security token“. |
|
On this screen, click on “Reset Security Token“ and you will receive a mail with the new security token. |
|
Getting credentials (OAuth 2)
To enable OAuth 2 authentication we need to create a “Connected App“ and obtain the client_id
, client_secret
, and redirect_uri
values to use it.
Steps | Snapshot |
---|---|
Login to your Salesforce account. |
|
Click on the gear icon (near the user Icon) and select “Service Setup“. | |
Type “Apps“ in the left search bar, click on “App Manager“ and create a new Connected App. | |
Fill the mandatory fields, check the Enable “OAuth settings checkbox” and fill the new fields as shown in the sample. | |
Save the changes and write down the |
|
Getting the access token file
To get the access token file, we need to execute this script with the following steps:
Steps |
---|
Prepare your environment: |
Execute the script with the following command: python salesforce_access_token_generator.py --client_id <salesforce_client_id> --client_secret <salesforce_client_secret> --redirect_uri <salesforce_client_uri> This script will open our predefined browser with a Salesforce login page. Log in to Salesforce and authorize the client in your domain. Once authorized, it will redirect to another URL like in the following image: |
Now, we need to copy the URL and paste it into the terminal where we have executed the script, which was waiting for this URL. Press ENTER and the script will finalize the token file creation. |
Next, we need to convert the content of this file into base64 format. This can be done using an online tool such as Base64 Encode and Decode - Online. NOTE: this is a 3rd party tool that Devo does not manage, and is provided only as an example. |
The base64 encoded string is then used as the value of the |
Permissions
To be able to retrieve the data, we need to have some minimal permissions in the user configured for this collector. This user must be under a “Salesforce” user license and we need to provide the “standard user” profile for almost all the services/SObjects (with some exceptions) after enabling the API access.
We are now selecting from the Standard Fields Salesforce Developers
For each object they have there own standard Fields. These will all be selected all of the time. Note: If the authentactor doesn’t have permissions to view the standard or custom columns you’ll need to add Field Level Security to Visible. Salesforce Developers
The special required permissions by SObjects
are specified below:
LoginHistory and User: we can use a profile inherited from “standard user“. To add the missing permissions, we just need to enable the “Manage Users“ permission in the user’s profile.
EventLogFiles: we can use a profile inherited from “standard user“. To add the missing permissions, we just need to enable the “View Event Log Files“ permission in the user’s profile.
Devo collector features
Feature | Details |
---|---|
Allow parallel downloading ( |
|
Running Environments |
|
Minimum configuration required for basic pulling
Although this collector supports advanced configuration, the fields required to download data with basic configuration are defined below.
Setting | Details |
---|---|
| Set up here your access token created in the GitHub console. |
| Username to authenticate the service, if using the User/Password authentication mechanism. |
| Password to authenticate the service, if using the User/Password authentication mechanism. |
| Security token to authenticate the service, if using the User/Password authentication mechanism. |
| Client ID to authenticate the service, if using the OAuth 2 authentication mechanism. |
| Client Secret to authenticate the service, if using the OAuth 2 authentication mechanism. |
| The result obtained from the script described in the Getting the access token file section, if using the OAuth 2 authentication mechanism. |
Accepted authentication methods
Depending on how did you obtain your credentials, you will have to either fill or delete the following properties on the JSON credentials
configuration block.
Authentication method | Username | Password | Security token | Client ID | Client secret | Salesforce domain | Initial access token in Base64 |
---|---|---|---|---|---|---|---|
Username/Password | REQUIRED | REQUIRED | REQUIRED |
|
| REQUIRED |
|
OAuth 2 with all the parameters (without | REQUIRED | REQUIRED | REQUIRED | REQUIRED | REQUIRED | REQUIRED |
|
OAuth 2 with the |
|
|
| REQUIRED | REQUIRED | REQUIRED | REQUIRED |
Run the collector
Once the data source is configured, you can either send us the required information if you want us to host and manage the collector for you (Cloud collector), or deploy and host the collector in your own machine using a Docker image (On-premise collector).
Change log
Release | Released on | Release type | Details | Recommendations |
---|---|---|---|---|
| Dec 10, 2024 | IMPROVEMENTS New Feature | Improvements
Features
|
|
| Jul 29, 2024 | IMPROVEMENTS | Improvements
|
|
| Jul 29, 2024 | IMPROVEMENTS | Improvements
Bug fixing
|
|
| Apr 9, 2024 | IMPROVEMENTS | Improvements
|
|
| Jan 8, 2024 | IMPROVEMENTS NEW FEATURE | Improvements
Features:
|
|
| Nov 10, 2023 | BUG FIXES IMPROVEMENTS NEW FEATURE | Improvements:
Bug fixing:
Features:
|
|
| Jul 25, 2023 | IMPROVEMENTSBUG FIXING | Improvements:
Bug fixing:
|
|
| May 29, 2023 | IMPROVEMENTSBUG FIXING | Improvements:
Bug fixing:
|
|
| May 23, 2023 | IMPROVEMENTSBUG FIXING | Improvements:
Bug fixing:
|
|
| Mar 17, 2023 | IMPROVEMENTS | Improvements:
|
|
| Nov 29, 2022 | IMPROVEMENTSBUG FIX | Improvements:
Fixed bugs:
|
|
|
| NEW FEATURESIMPROVEMENTS | New features:
Improvements
|
|
| Jul 15, 2022 | NEW FEATURESIMPROVEMENTS | New features:
Improvements:
|
|