Thank you for purchasing our extension. If you have any questions that are beyond the scope of this document, do not hesitate to leave us an email at [email protected]
By: Magenest | Support Portal: http://servicedesk.izysync.com/servicedesk/customer/portal/20
Introduction
Magento 2 Salesforce Integration allows the store owner to sync all data from Magento 2 store to the Salesforce CRM system.
Features
- Synchronizing and updating a specific or all Products from Magento 2 store into Salesforce CRM Products both manually and automatically.
- Synchronizing and updating a specific or all Customers from Magento 2 store into Salesforce CRM Leads, Contacts, Accounts both manually and automatically.
- Synchronizing a specific or all Orders from Magento 2 store into Salesforce CRM Orders and Opportunity both manually and automatically.
- Synchronizing a specific or all Campaigns and Subscribers from Magento 2 store into Salesforce CRM both manually and automatically.
- Mapping smartly manually between Magento 2 attributes and Salesforce fields
- Viewing the log to see what is synchronized between two apps
- Managing the sync queue to see what will be synchronized next.
- Following the request report on Backend of Magento 2
- Linking Contact with Account on Salesforce,
- Supporting Personal Account
Requirements
Your store should be running on Magento Edition version 2.0.x, 2.1.x., 2.2.x, 2.3.x, and 2.4.x
Magenest Salesforce CRM Version 3.4.1
Compatibility: Magento 2.3.x, 2.4.x (Open source, Commerce)
Compatible with Magento 2.4.6
API
The module works base on using API, so make sure your Salesforce edition had API by checking the using version:
- Enterprise Edition ( API default)
- Unlimited Edition ( API default)
- Developer Edition ( API default)
- Performance Edition ( API default)
- Professional Edition ( API purchase separately)
The API package is not available if you use any other edition that's not listed above.
Video Tutorial Playlist
How to create a new app
It is necessary to create a new app for the connection between Magento 2 and Salesforce CRM. First of all, you need to have a developer account in Salesforce, go to https://developer.salesforce.com/.
- Login if you already have an account.
- Or Sign up to create a new one
Get consumer key and consumer secret by the connected app
- Admin must log in the account of Salesforce system > Setup > Apps > App Manager > Create new connected app (click on New Connected App on the top right to create a new app):
- Entering the information needed:
- Connected App Name: name for your connected app
- API Name: data from this field will be auto-synced from the Connected App Name
- Contact Email: your Salesforce email
- Enable OAuth Settings box
- Callback URL: Callback URL fill https://your_domain_site/salesforce/oauth/callback
- Selected OAuth Scopes: select the Full Access option and Perform requests on your behalf at any time (refresh_token, offline_access)” permission
- Choose Require Secret for Web Server Flow
- Choose Include ID Token: Include Standard Claims, Include Custom Attributes, Include Custom Permissions.
- Click the Save button, then Continue to see the newly created app.
The output will look like the below, you will use the Consumer Key and Consumer Secret for the configuration.
Reset security token
- Click on the user icon on the top right, choose Settings. Then on the left menu bar, choose Personal Information > Reset My Security Token.
- Click on Reset Security Token button to get a new one.
- A new security token will be sent to your registered email.
- Note that you will need this security token for configuration.
Setup and Authentication Salesforce CRM account
Setup and Authentication Salesforce CRM account will allow integrating Magento 2 store with your Salesforce CRM account.
On the Admin sidebar, go to Salesforce Integration > Configuration
- Email: Your Salesforce login email
- Password: Your Salesforce password
- Consumer Key: search in Home > Platform Tools > Apps > App Manager > "Your app name" (in this demo it is "Magenest") in Salesforce. Check out the above guide "Get consumer key and consumer secret by connected app"
- Consumer Secret: search in Home > Platform Tools > Apps > App Manager > "Your app name" (in this demo it is "Magenest") in Salesforce. Check out the above guide "Get consumer key and consumer secret by connected app"
- Security Token: Check out the above guide "Reset Security Token"
- Salesforce environment: You can choose the sandbox environment or production environment
- Enable Debug: the module will log data response to the salesforce.log file into your system
- Click Save Config after you've done (refresh the cache if needed) > Get Access.
Please Save the config before clicking on the Get Access button to avoid getting a consumer key error.
Admin will be redirected to the verification page:
- Click the “Allow” button
Waitting some minutes to complete the process and recheck all features of our module.
- Connection Status will be updated from Not Connected to Connected with all the information as in the image below. Once the integration is successful, the admin can mapping field from Salesforce to Magento and synchronize data from Magento to Salesforce.
How to synchronize data from Magento 2 store to Salesforce CRM account
Setting Up Field Mapping
In order to synchronize data fields from the Magento 2 store to your Salesforce CRM account accurately, you need to create the mapping for these fields first.
- Go to Salesforce Integration > Setup Field Mapping
- In Mapping Management, choose the type of data you want to create a field map among Account, Contact, Campaign, Lead, Product, Order, Opportunity.
Note: For Subscriber data, you don't need to create field mapping.
- For each field in Magento Fields, choose the matching field in Salesforce Fields to sync data.
Salesforce has field-level security that allows admin to restrict field access to certain users. You can click here for more info. Therefore, when you create field mapping, there would be some fields in Salesforce that don't show up in the backend. In this case, you have to go to Salesforce to invoke permission for these fields.
- Description: Describe the mapping fields
- Default Value: If one object does not have data to sync, it will get the default value as defined here. If the admin does not set the default value, it will be empty.
- Status: You could enable or disable the field map.
Synchronization Settings
You are able to synchronize data in the Synchronization Settings tab: Account, Campaign, Opportunity, Contact, Lead, Product, Order, Subscriber.
In each tab, when you Enable (Yes), the Sync Mode will show up, you can choose the way to synchronize data either Auto-Sync (Real-time) or Add to Queue (Cron Job).
- Auto Sync: The data will be automatically synchronized to Salesforce if there is any change.
- Add to Queue: The data will be added to the queue before synchronizing to Salesforce. If you choose this option, Queue Auto Sync Time shows up with 4 options: Sync manually, 15 minutes, 1 hour, 2 hours. These options are the waiting time in the queue of the data before it is automatically synchronized to Salesforce.
̣ Click Sync All <Data> Now to add all records of the selected data type to the queue.
- Select Date Range: You can use the Data Filter to limit the number of records based on their Created Date (Except for Campaign, which is based on Start Date and End Date of the campaign).
- If the process is completed successfully, a widget will inform and allow you to check out the Sync Queue.
Unique Field:
- Enable Personal Account: If your Salesforce account enabled Person Account, please select enable this option.
- Linked Contact with Account: If enabled, when syncing a record to Salesforce Contact, the module will attempt to sync that record to Salesforce Account beforehand.
In Queue Page, you can choose the Actions > Delete to delete the data you don't want to sync. Then click on the Sync Now button to sync the data immediately to Salesforce.
Note that synchronizing will take time, which depends on the size of the data.
When the synchronization process finished, you can go to Salesforce Integration > View Report to see the synchronized list.
- If the data is synced right, the Status will be Success.
- If there's a problem during the syncing process, the Status will be Error. The Message column will display the error message.
- You can view the detailed response of the report by clicking on the “View” button.
In addition, you can easily check the synchronization with the View Request Daily button and View On Salesforce button.
Navigate to Salesforce Integration > Request Daily Report, you can easily follow the synchronization status.
Main functions
Allow synchronizing and updating a specific or all Products from Magento 2 store into Salesforce CRM Products
When a new product is added or an existing one is edited, a record with its price will be added into Salesforce's Products.
Magento Catalog:
Add mass action Add products to Salesforce Queue on Product Listing page:
Salesforce Products:
- Allow synchronizing and updating a specific or all Customers from Magento 2 store into Salesforce CRM Leads, Contacts, Accounts
Whenever a customer account is created or updated in Magento 2 store, his/her information will be synchronized to Salesforce CRM in Leads, Accounts, and Contacts. Especially, this extension creates a Salesforce Integration tab for each customer information that allows you to easily synchronize a specific customer.
Magento 2 Dashboard:
Mass action Add customer Salesforce Queue on the Customers Listing page
Salesforce Leads:
Salesforce Contacts:
Salesforce Accounts:
- Allow synchronizing a specific or all Orders from Magento 2 store into Salesforce CRM Orders and Salesforce Opportunity both manually and automatically
Whenever a customer places an order, the information will be synced in Salesforce's Orders and Opportunities.
Magento 2 Orders Data:
Mass action Add Order to Salesforce Queue on the Order Listing page:
Salesforce Order Information:
Opportunity:
- Allow synchronizing and updating Promotions from Magento 2 store into Salesforce CRM Campaigns both manually and automatically
When store owners launch a new promotion or update an existing one, the corresponding campaign will be added into Salesforce.
Note that if you change the rule name when updating the campaign, it will create another one in Salesforce.
Magento 2 Catalog Price Rule:
Salesforce Campaigns:
Salesforce Default Synchronization Fields
The fields in Red are hard-code.
The other fields can be defined in field mapping.
Contact
Magento Customer | SalesForce Contact |
ID | |
Created At | |
Updated At | |
is Active | |
Created in | |
Prefix | |
First name | First name |
Last name | Last name |
Middle name | |
Tax/VAT number | |
Gender | |
Date of Birth | |
Billing First Name | |
Billing Middle Name | |
Billing Last Name | |
Billing Company | |
Billing City | |
Billing State/Province | |
Billing Country | |
Billing Zip/Postal Code | |
Billing Telephone | |
Billing Fax | |
Shipping First Name | |
Shipping Middle Name | |
Shipping Last Name | |
Shipping Company | |
Shipping Street | |
Shipping City | |
Shipping State/Province | |
Shipping Country | |
Shipping Zip/Postal Code | |
Shipping Telephone | |
Shipping Fax | |
VAT number |
Account
Magento Customer | SalesForce Account |
ID | |
Name | |
Created At | |
Updated At | |
is Active | |
Created in | |
Prefix | |
First name | |
Last name | |
Middle name | |
Tax/VAT number | |
Gender | |
Date of Birth | |
Billing First Name | |
Billing Middle Name | |
Billing Last Name | |
Billing Company | |
Billing City | |
Billing State/Province | |
Billing Country | |
Billing Zip/Postal Code | |
Billing Telephone | |
Billing Fax | |
Shipping First Name | |
Shipping Middle Name | |
Shipping Last Name | |
Shipping Company | |
Shipping Street | |
Shipping City | |
Shipping State/Province | |
Shipping Country | |
Shipping Zip/Postal Code | |
Shipping Telephone | |
Shipping Fax | |
VAT number |
Lead
Magento Customer | SalesForce Lead |
ID | |
Created At | |
Updated At | |
is Active | |
Created in | |
Prefix | |
First name | First name |
Last name | Last name |
Middle name | |
Tax/VAT number | |
Gender | |
Date of Birth | |
Billing First Name | |
Billing Middle Name | |
Billing Last Name | |
Billing Company | "N/A" |
Billing City | |
Billing State/Province | |
Billing Country | |
Billing Zip/Postal Code | |
Billing Telephone | |
Billing Fax | |
Shipping First Name | |
Shipping Middle Name | |
Shipping Last Name | |
Shipping Company | "N/A" |
Shipping Street | |
Shipping City | |
Shipping State/Province | |
Shipping Country | |
Shipping Zip/Postal Code | |
Shipping Telephone | |
Shipping Fax | |
VAT number |
Product
Magento Product | SalesForce Product2 |
Name | Name |
Description | |
is Active | isActive |
Short Description | |
SKU | ProductCode |
Weight | |
Set Product as New from Date | |
Set Product as New to Date | |
Status | |
Country of Manufacture | |
URL Key | |
Price | |
Special Price | |
Special From Date | |
Special To Date | |
Stock Id | |
Qty | |
Min Qty | |
Meta Title | |
Meta Keywords | |
Meta Description | |
Tax Class | |
Base Image | |
Small Image | |
Thumbnail | |
Min Qty | |
Meta Keywords | |
Meta Description |
Campaign
Magento Campaign | SalesForce Campaign |
Rule ID | |
Name | Name |
Description | |
From Date | |
To Date | |
Active | |
Simple Action(Apply) | |
Discount Amount | |
Enable Discount to Subproducts | |
Subproducts Simple Action(Apply) | |
Subproducts Discount Amount |
Order
Magento | SalesForce Order |
ID | |
State | |
Status | Status |
Coupon Code | |
Coupon Rule Name | |
Increment ID | |
Created At | EffectiveDate |
Company | |
Customer First Name | |
Customer Middle Name | |
Customer Last Name | |
Billing First Name | |
Billing Middle Name | |
Billing Last Name | |
Billing Company | |
Billing Street | |
Billing City | |
Billing State/Province | |
Billing Zip/Postal Code | |
Billing Telephone | |
Billing Country | |
Shipping First Name | |
Shipping Middle Name | |
Shipping Last Name | |
Shipping Company | |
Shipping Street | |
Shipping City | |
Shipping State/Province | |
Shipping Zip/Postal Code | |
Shipping Country | |
Shipping Amount | |
Shipping Description | |
Currency Code | |
Total Item Count | |
Store Currency Code | |
Shipping Discount Amount | |
Discount Description | |
Shipping Method | |
Store Name | |
Discount Amount | |
Tax Amount | |
Sub Total | |
Grand Total | |
Remote IP |
Order Item
Magento Order Item | SalesForce Order Item |
Parent ID | OrderID |
Qty | Quantity |
Price | UnitPrice |
Opportunity
Magento | SalesForce Opportunity |
ID | |
State | |
Status | Prospecting |
Coupon Code | |
Coupon Rule Name | |
Increment ID | Name |
Created At | CloseDate |
Company | |
Customer First Name | |
Customer Middle Name | |
Customer Last Name | |
Billing First Name | |
Billing Middle Name | |
Billing Last Name | |
Billing Company | |
Billing Street | |
Billing City | |
Billing State/Province | |
Billing Zip/Postal Code | |
Billing Telephone | |
Billing Country | |
Shipping First Name | |
Shipping Middle Name | |
Shipping Last Name | |
Shipping Company | |
Shipping Street | |
Shipping City | |
Shipping State/Province | |
Shipping Zip/Postal Code | |
Shipping Country | |
Shipping Amount | |
Shipping Description | |
Currency Code | |
Total Item Count | |
Store Currency Code | |
Shipping Discount Amount | |
Discount Description | |
Shipping Method | |
Store Name | |
Discount Amount | |
Tax Amount | |
Sub Total | |
Grand Total | |
Remote IP |
Opportunity Item
Magento Opportunity Item | SalesForce Opportunity Item |
Parent ID | OrderID |
Qty | Quantity |
Price | UnitPrice |
Updates
- When a bug fix or new feature is released, we will provide you with the module's new package.
- All you need to do is repeating the above installing steps and uploading the package onto your store. The code will automatically override.
- Flush the config cache. Your store and newly installed module should be working as expected
Support
- We will reply to support requests within 2 business days.
- We will offer lifetime free update and 6-month free support for all of our paid products. Support includes answering questions related to our products, bug/error fixing to make sure our products fit well in your site exactly like our demo.
- Support DOES NOT include other services such as customizing our products, installation, and uninstallation service.
Once again, thank you for purchasing our extension. If you have any questions relating to this extension, please do not hesitate to contact us for support.