Salesforce on Azure is a powerful combination that can help you streamline your business operations and unlock new levels of efficiency. This integration allows you to leverage the scalability and reliability of Azure to run your Salesforce applications.
By integrating Salesforce with Azure, you can take advantage of Azure's robust security features, including encryption and two-factor authentication. This provides an additional layer of protection for your sensitive business data.
With Salesforce on Azure, you can also enjoy improved performance and reliability, thanks to Azure's global network of data centers. This ensures that your Salesforce applications are always available and responsive, no matter where your users are located.
By following this comprehensive guide, you'll be able to unlock the full potential of Salesforce on Azure and take your business to the next level.
Prerequisites
Before you start integrating Salesforce with Azure, make sure you have the necessary prerequisites in place.
API permission must be enabled in Salesforce. This is a crucial step that will allow you to connect your Salesforce instance with Azure.
You'll also need to configure the Connected Apps in the Salesforce portal. You can refer to the official Salesforce documentation or our step-by-step guide for assistance with this process.
To summarize, these are the prerequisites you'll need to fulfill before moving forward with Salesforce on Azure integration:
- API permission must be enabled in Salesforce.
- Connected Apps must be configured in the Salesforce portal.
Salesforce on Azure
Salesforce on Azure is a powerful combination that enables organizations to deploy applications faster and increase user productivity. The Salesforce connector is supported for copy activity (source/sink), lookup activity, and copying data from and to custom domain.
You can explicitly set the API version used to read/write data via the apiVersion property in linked service. When copying data to Salesforce, the connector uses BULK API 2.0.
To integrate Salesforce and Azure, having both internal and external expertise is beneficial, especially for complex implementations. Having the right mix of expertise ensures a successful integration project.
Here are some key details to consider when integrating Salesforce and Azure:
- Supported data stores: Salesforce Developer, Professional, Enterprise, or Unlimited editions
- Supported data stores: Custom domain (Custom domain can be configured in both production and sandbox environments)
- API version: BULK API 2.0
Cloud Architecture
A Salesforce and Azure architecture is a combination of cloud products, platforms, services, and tools from both Microsoft and Salesforce.
To enable this architecture, API permission must be enabled in Salesforce, and Connected Apps must be configured in the Salesforce portal.
The supported capabilities of this architecture include copy activity (source/sink) and lookup activity, which are supported by both Azure integration runtime and self-hosted integration runtime.
You can explicitly set the API version used to read/write data via the apiVersion property in the linked service, which is particularly useful when copying data to Salesforce, where the connector uses BULK API 2.0.
Salesforce Developer, Professional, Enterprise, or Unlimited editions are supported, as well as copying data from and to custom domain.
Here are the supported data store capabilities:
① Azure integration runtime
② Self-hosted integration runtime
Expertise
Having the right expertise is crucial for a successful Salesforce on Azure integration project.
Having an internal expert on Salesforce can help streamline the process, making it easier to integrate with Azure.
Having external subject matter experts on hand can be beneficial in case you need help with more complex implementations.
Having the right mix of expertise available will ensure that your integration project is successful.
Source Type
When setting up a copy activity to extract data from Salesforce, the first step is to choose the correct source type. You have two options: Salesforce Service Cloud or Salesforce.
To use Salesforce Service Cloud, you must set the source type to SalesforceServiceCloudV2Source. This is a required property in the copy activity source section.
If you're using Salesforce Service Cloud, you can use a custom query to read data. However, you can only use Salesforce Object Query Language (SOQL) with limitations, which are detailed in a separate article.
Alternatively, if you don't specify a query, all data from the Salesforce object specified in the dataset will be retrieved.
You can also choose to query all records, including deleted ones, by setting the includeDeletedObjects property to true. If not specified, the default behavior is false.
Here's a summary of the supported properties for Salesforce Service Cloud:
Similarly, to use Salesforce as a source type, you must set the source type to SalesforceV2Source. This is also a required property in the copy activity source section.
Just like with Salesforce Service Cloud, you can use a custom query to read data from Salesforce, but you're limited to using SOQL with the same limitations.
Connector Configuration
To configure the Salesforce connector, you'll need to define properties specific to the connector. These properties can be found in the connector configuration details section.
The Salesforce connector requires properties like environmentUrl and clientId, which you can store in Key Vault for security. This method allows you to derive all configuration settings from the Key Vault instead of parameterizing them in the UI.
You can create a linked service to Salesforce by searching for the Salesforce connector in the Azure portal UI and configuring the service details. However, if you store credentials in Key Vault, you can no longer use the UI to edit settings.
Here are the properties supported for the Salesforce linked service:
Integration
Integration is where the magic happens, allowing you to connect your Salesforce data to Azure and unlock a world of possibilities. You can use tools like Azure Data Factory to automate data transformation and loading, and integrate with SaaS applications using Azure Logic Apps.
To give you a better idea, here are some common business benefits of Salesforce and Azure integrations:
- Enhancing customer information by providing a unified view of customer data stored in both applications.
- Streamlining data analytics processes by combining the powerful capabilities of Azure with the CRM data managed in Salesforce.
- Automating manual business processes with the help of tools such as Azure Logic Apps and Salesforce Flow.
- Enhancing security and compliance by leveraging the robust identity management capabilities offered by both applications.
With the right integration layer in place, you can connect data storage to multiple platforms, perform data transformation, and ensure data governance. This can be achieved using tools like Azure Data Factory and Mulesoft, which enable organizations to connect their data sources, transform the data, and load it into the respective platforms.
Integration Considerations
When integrating Salesforce and Azure, it's essential to consider the data transformation and loading process. Tools like Azure Data Factory can automate data transformation and loading, while Azure Logic Apps service can be used to integrate with SaaS applications.
To ensure seamless integration, organizations should have a clear understanding of their data sources and requirements. This involves identifying the type of data to be integrated, such as account information or contact data.
A well-planned integration strategy is crucial for success. This includes setting clear goals, defining the scope of the project, and identifying the stakeholders involved.
The choice of integration tool is also critical. Options like Azure Data Factory, Mulesoft, and Talend can be used to integrate data from both Salesforce and Azure.
When integrating data from Salesforce, organizations should consider using the SalesforceV2Source property to set the source type. This property must be set to SalesforceV2Source, and the query property can be used to specify a custom query.
In some cases, organizations may want to include deleted objects in the data integration process. This can be achieved by setting the includeDeletedObjects property to true.
The write behavior for the operation is also an important consideration. Options like Insert and Upsert can be used to specify how data is written to the destination platform.
Here are some key properties to consider when integrating data from Salesforce Service Cloud:
By considering these integration considerations, organizations can ensure a successful integration of Salesforce and Azure, leading to improved customer information, streamlined data analytics processes, and enhanced security and compliance.
Type Mapping
Salesforce data types are mapped to interim data types within Azure Data Factory and Azure Synapse pipelines. These mappings are crucial for ensuring accurate data transfer.
Auto Number fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
Checkbox fields in Salesforce are mapped to Boolean data type in Azure Data Factory and Azure Synapse pipelines.
Currency fields in Salesforce are mapped to Decimal data type in Azure Data Factory and Azure Synapse pipelines, honoring the defined precision and scale.
Date fields in Salesforce are mapped to DateTime data type in Azure Data Factory and Azure Synapse pipelines.
Date/Time fields in Salesforce are also mapped to DateTime data type in Azure Data Factory and Azure Synapse pipelines.
Email fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
ID fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
Lookup Relationship fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
Multi-Select Picklist fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
Number fields in Salesforce are mapped to Decimal data type in Azure Data Factory and Azure Synapse pipelines, honoring the defined precision and scale.
Percent fields in Salesforce are mapped to Decimal data type in Azure Data Factory and Azure Synapse pipelines.
Phone fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
Picklist fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
Text fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
Text Area fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
Text Area (Long) fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
Text Area (Rich) fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
Text (Encrypted) fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
URL fields in Salesforce are mapped to String data type in Azure Data Factory and Azure Synapse pipelines.
To avoid precision loss in Azure Data Factory and Azure Synapse pipelines, consider increasing the decimal places to a reasonably large value in Custom Field Definition Edit page of Salesforce.
Storage Layer
The Storage Layer is a crucial component of a successful integration. Data redundancy, governance, and structures are key considerations here.
Azure Data Lake is a secure and reliable way to store data in the cloud. This makes it an ideal choice for organizations looking to create an effective data storage layer.
Options like Azure SQL Database and Azure Table Storage can be used to ensure data security and easy access. This helps prevent data loss and ensures seamless integration.
Data Lake's secure and reliable storage capabilities make it a popular choice for organizations. Its scalability and flexibility also make it a great option for growing businesses.
Create Linked UI
To create a linked service to Salesforce in the Azure portal UI, you'll need to browse to the Manage tab and select Linked Services, then click New.
You can search for Salesforce and select the Salesforce connector.
Configure the service details, test the connection, and create the new linked service. This process is similar to creating a linked service to Salesforce Service Cloud.
To create a linked service to Salesforce Service Cloud, you'll need to browse to the Manage tab and select Linked Services, then click New. You can then search for Salesforce and select the Salesforce Service Cloud connector.
Here are the steps to configure the service details, test the connection, and create the new linked service:
- Configure the service details.
- Test the connection.
- Create the new linked service.
Note that the properties for the Salesforce linked service include type, environmentUrl, authenticationType, clientId, clientSecret, apiVersion, and connectVia. These properties are required for a successful connection.
Here are the properties with a brief description:
Sources
- https://learn.microsoft.com/en-us/azure/data-factory/connector-salesforce
- https://learn.microsoft.com/en-us/azure/data-factory/connector-salesforce-service-cloud
- https://www.talend.com/resources/salesforce-azure/
- https://www.proserveit.com/blog/salesforce-and-azure-integration-key-considerations-architecture
- https://medium.com/might-and-magic-of-salesforce/how-to-set-up-salesforce-with-microsoft-azure-active-directory-single-sign-on-sso-b53e89c9644c
Featured Images: pexels.com