<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Security &#8211; Jitendra Zaa</title>
	<atom:link href="https://www.jitendrazaa.com/blog/tag/security/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.jitendrazaa.com/blog</link>
	<description>AI, Salesforce, ServiceNow &#38; Enterprise Tech Guides</description>
	<lastBuildDate>Wed, 14 Jan 2026 18:57:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
<site xmlns="com-wordpress:feed-additions:1">87744916</site><atom:link rel="search" type="application/opensearchdescription+xml" title="Search Jitendra Zaa" href="https://www.jitendrazaa.com/blog/wp-json/opensearch/1.1/document" />	<item>
		<title>Salesforce Spring &#8217;26 Release: Complete Guide 2026</title>
		<link>https://www.jitendrazaa.com/blog/salesforce/salesforce-spring-26-release-complete-guide-2026/</link>
					<comments>https://www.jitendrazaa.com/blog/salesforce/salesforce-spring-26-release-complete-guide-2026/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra Zaa]]></dc:creator>
		<pubDate>Wed, 14 Jan 2026 18:57:09 +0000</pubDate>
				<category><![CDATA[Apex]]></category>
		<category><![CDATA[Experience]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Agentforce]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Einstein]]></category>
		<category><![CDATA[Experience Cloud]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[LWC]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.jitendrazaa.com/blog/?p=31101</guid>

					<description><![CDATA[JZ Salesforce Releases Jitendra's Blog Salesforce Release Guide 2026 Salesforce Spring '26 Release Complete guide to Agentforce, Flow Builder, LWC, Apex, and Security updates - compiled from the official 826-page Salesforce Release Notes Reading time: ~42 minutes Last Updated: January 14, 2026 70+...]]></description>
										<content:encoded><![CDATA[<p><img src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2026/01/Salesforce-Spring-26-Release-Complete-Guide-featured.png?fit=1024%2C576&#038;ssl=1" alt="Salesforce Spring &#8217;26 Release: Complete Guide 2026" style="max-width:100%;height:auto;" /></p>Salesforce Release Guide 2026<br />
 <br />
<br />
<strong>Salesforce Spring '26 Release</strong><br />
<br />
 Complete guide to Agentforce, Flow Builder, LWC, Apex, and Security updates - compiled from the official 826-page Salesforce Release Notes<br />
<br />
 <br />
 <i class="fas fa-clock"></i> Reading time: ~42 minutes<br />
 <i class="fas fa-calendar-alt"></i> Last Updated: January 14, 2026<br />
 <br />
 <br />
 <br />
<br />
 <br />
 <br />
 70+<br />
 Features Covered<br />
 <br />
 <br />
 10<br />
 Code Examples<br />
 <br />
 <br />
 7<br />
 Top Picks<br />
 <br />
 <br />
 826<br />
 Pages Summarized<br />
 <br />
 <br />
<br />
 <br />
<br />
 <br />
 <br />
 <br />
 <br />
<br />
<strong><i class="fas fa-star" style="color: #f59e0b; margin-right: 12px;"></i>My Favorite Features</strong><br />
<br />
 Real problems I've faced and how Spring '26 solves them<br />
<br />
 <br />
<br />
 <br />
 <br />
 <br />
 <br />
 <i class="fas fa-times"></i><br />
 "I need to process millions of records but keep hitting governor limits in batch jobs."<br />
 <br />
 <br />
 <i class="fas fa-check"></i><br />
 <br />
 <br />
<br />
<strong><a href="#section-6">Apex Cursors</a> GA</strong><br />
<br />
 Process unlimited SOQL results with cursor-based pagination. Maintain state across transactions and resume from any position - perfect for data migrations and large-scale processing.<br />
<br />
 <br />
 <br />
 <br />
<br />
 <br />
 <br />
 <br />
 <i class="fas fa-times"></i><br />
 "I want to link directly to a flow from an email or external system without embedding it in a page."<br />
 <br />
 <br />
 <i class="fas fa-check"></i><br />
 <br />
 <br />
<br />
<strong><a href="#section-4">Screen Flow URLs</a> GA</strong><br />
<br />
 Open flows directly via URL with parameter passing. Include flow links in emails, external apps, or custom navigation - no embedding required.<br />
<br />
 <br />
 <br />
 <br />
<br />
 <br />
 <br />
 <br />
 <i class="fas fa-times"></i><br />
 "I want AI coding assistants to understand my Salesforce org and help me write better code."<br />
 <br />
 <br />
 <i class="fas fa-check"></i><br />
 <br />
 <br />
<br />
<strong><a href="#section-5">MCP Tools for LWC</a> BETA</strong><br />
<br />
 Connect Claude, Cursor, or VS Code to your Salesforce org via MCP. Get context-aware code suggestions, LWC development help, and metadata-integrated AI assistance.<br />
<br />
 <br />
 <br />
 <br />
<br />
 <br />
 <br />
 <br />
 <i class="fas fa-times"></i><br />
 "I'm writing too many getter functions just to do simple calculations in my LWC templates."<br />
 <br />
 <br />
...<p style="margin-top:20px;"><a href="https://www.jitendrazaa.com/blog/salesforce/salesforce-spring-26-release-complete-guide-2026/"><strong>→ Read the full article on jitendrazaa.com</strong></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/salesforce/salesforce-spring-26-release-complete-guide-2026/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">31101</post-id>	</item>
		<item>
		<title>7 Ways to Secure Experience Cloud</title>
		<link>https://www.jitendrazaa.com/blog/salesforce/7-ways-to-secure-experience-cloud/</link>
					<comments>https://www.jitendrazaa.com/blog/salesforce/7-ways-to-secure-experience-cloud/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Sun, 30 Apr 2023 02:38:54 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[Experience Cloud]]></category>
		<category><![CDATA[MFA]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.jitendrazaa.com/blog/?p=7784</guid>

					<description><![CDATA[Experience cloud is a powerful feature on the Salesforce platform where you can expose a subset of data and capabilities for external users as well as some capabilities for unauthenticated public users. This extremely powerful capability comes with huge responsibility, which is setting up the right security. By this time, you must have heard many [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="justify"><a href="https://www.jitendrazaa.com/blog/tag/experience-cloud/">Experience cloud</a> is a powerful feature on the Salesforce platform where you can expose a subset of data and capabilities for external users as well as some capabilities for unauthenticated public users. This extremely powerful capability comes with huge responsibility, which is setting up the right security.</p>



<p class="justify">By this time, you must have heard <a href="https://arstechnica.com/information-technology/2023/04/misconfigured-servers-running-salesforce-software-are-leaking-sensitive-data/">many news like this</a> where the Salesforce experience cloud is leaking information.  As <a href="https://www.ibm.com/reports/data-breach?utm_content=SRCWW&amp;p1=Search&amp;p4=43700072379268754&amp;p5=e&amp;gclid=Cj0KCQjwgLOiBhC7ARIsAIeetVBWy5pG1Rexzcpd4-AEPK0Nbo1Txoxbj7AeA6UEFfeKgxW5Wm0zDrAaAtXKEALw_wcB&amp;gclsrc=aw.ds">per this IBM study</a>, the average cost of a data breach is around 10M.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background"><strong>Let me clarify, Salesforce is not leaking the information, but the bad implementation is.</strong></p>
</blockquote>



<p class="justify">Coincidently, beginning this year, I did a health check for one of my customers, and the biggest flag I raised was in experience cloud security. That analysis is still fresh, and I would like to jot it down in this blog post. </p>



<h4 class="wp-block-heading">1. Org Wide Default settings for external users</h4>



<p class="justify">This is no brainer for anyone in the Salesforce ecosystem, The OWD for external users should be set to the most restrictive setting possible to minimize the risk of unauthorized access to sensitive information. </p>



<span id="more-7784"></span>



<h4 class="wp-block-heading">2. Open up Security using standard &amp; recommended way</h4>



<p class="justify">Take the help of <strong>Role</strong> to open security for external authenticated users followed by sharing rules or sharing sets. Do not forget each experience cloud site has its dedicated guest user that can be used in Sharing rule, an extremely powerful feature for security.</p>



<h4 class="wp-block-heading">3. Choosing the Right License</h4>



<p class="justify">Depending on license type like High Volume Customer Community, Customer Community Plus &amp; Partner Community object access is decided. Therefore profile can be used to control access to objects, fields, etc. Always go with the mindset of least access and then open up the field, record type, etc, access as needed, do not follow the principle of the benefit of the doubt in security. </p>



<h4 class="wp-block-heading">4. Avoid Saving License Costs Using Customizations</h4>



<p class="justify">This is the most common reason for security breaches in the experience cloud. Just to save the license cost, developers end up creating custom LWC, Aura, or Visualforce and exposing them publicly. Using this approach, wonders can happen. Like updating an Account without login, however, with some play with the parameter, it could very easily expose data to the external world. Make sure every Apex class that is written follows all security best practices like using <strong>with sharing</strong> keyword, <a href="https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_with_security_stripInaccessible.htm">stripInaccessible method</a> , avoiding dynamic SOQL, enforcing <a href="https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_enforce_usermode.htm">user mode</a> for database operations, filter SOQL queries <a href="https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_with_security_enforced.htm">WITH SECURITY_ENFORCED</a>.</p>



<h4 class="wp-block-heading">5. Regularly Run Security Scans</h4>



<p class="justify">Use tools like Salesforce event monitoring, Transaction policy, CheckMarx, IBM Qradar, etc, to regularly scan code, user behavior, etc., to identify potential vulnerabilities and take appropriate action to address them. Monitoring unauthenticated user behavior is extremely complicated, but tools like Google Analytics can help in profiling user patterns and behavior. </p>



<p>Run <a href="https://help.salesforce.com/s/articleView?id=sf.security_phc_overview.htm&amp;type=5">Portal Health Check</a> frequently and act as per Salesforce recommendations (sample report below).</p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" fetchpriority="high" decoding="async" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2023/05/Portal-Health-Check.png?resize=1024%2C363&#038;ssl=1" alt="Portal Health Check Report" class="wp-image-7793" width="1024" height="363" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2023/05/Portal-Health-Check.png?resize=1024%2C363&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2023/05/Portal-Health-Check.png?resize=300%2C106&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2023/05/Portal-Health-Check.png?resize=768%2C272&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2023/05/Portal-Health-Check.png?resize=1536%2C544&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2023/05/Portal-Health-Check.png?resize=2048%2C726&amp;ssl=1 2048w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<h4 class="wp-block-heading">6. Session Time Out</h4>



<p class="justify">Setting an appropriate user timeout in Salesforce session settings is an important aspect of securing Salesforce Experience Cloud. By setting a user timeout, you can automatically log users out of the system after a specified period of inactivity, helping to protect against unauthorized access.</p>



<h4 class="wp-block-heading">7. Enable Multi-Factor Authentication</h4>



<p class="justify">Multi-factor authentication (MFA) is an important aspect of securing Salesforce Experience Cloud, as it adds an additional layer of security to the login process. MFA requires users to provide two or more forms of authentication, such as a password and a security token, to access the system.</p>



<p class="justify">It is important to ensure that every user in the Salesforce org, both internal and external, is using MFA, even if they are using single sign-on (SSO). While SSO provides a convenient way for users to access multiple systems with a single login, it does not provide the same level of security as MFA.</p>



<p class="justify">Security breaches don&#8217;t announce themselves, but the damage they cause will be loud and clear an could result in the <a href="https://www.getastra.com/blog/911/4-times-companies-were-forced-to-shut-down-due-to-hackers/">demise of the whole organization</a>.  </p>



<p>If you have anything else to add, please feel free to post in the comment below.</p>



<p> </p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/salesforce/7-ways-to-secure-experience-cloud/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7784</post-id>	</item>
		<item>
		<title>Sharing records in partner community from different Accounts</title>
		<link>https://www.jitendrazaa.com/blog/salesforce/sharing-records-in-partner-community-from-different-accounts/</link>
					<comments>https://www.jitendrazaa.com/blog/salesforce/sharing-records-in-partner-community-from-different-accounts/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Sat, 14 Mar 2020 18:36:33 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[sharing]]></category>
		<category><![CDATA[Video Tutorial]]></category>
		<guid isPermaLink="false">https://www.jitendrazaa.com/blog/?p=7020</guid>

					<description><![CDATA[As we know there are limited options to share records between community users. For Customer Community , we can use Sharing set or Sharing Group. For Customer Community Plus &#38; Partner Community we can use role &#38; Sharing rule. Maximum role that community can have is 3 per account and thats limitation there as well. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="justify">As we know there are limited options to share records between community users. </p>



<p class="justify">For Customer Community , we can use Sharing set or Sharing Group.</p>



<p class="justify">For Customer Community Plus &amp; Partner Community we can use role &amp; Sharing rule. Maximum role that community can have is 3 per account and thats limitation there as well.</p>



<p>Now , lets assume below scenario</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="851" height="153" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/03/Account-Relationship-Data-Sharing-Rule.png?resize=851%2C153&#038;ssl=1" alt="" class="wp-image-7021" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/03/Account-Relationship-Data-Sharing-Rule.png?w=851&amp;ssl=1 851w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/03/Account-Relationship-Data-Sharing-Rule.png?resize=300%2C54&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/03/Account-Relationship-Data-Sharing-Rule.png?resize=768%2C138&amp;ssl=1 768w" sizes="(max-width: 851px) 100vw, 851px" /></figure>



<span id="more-7020"></span>



<p class="justify">Let&#8217;s assume, user Pat Stumuller wants to see either few or all Opportunity from Account Edge Communications. Point to note here &#8211; Org wide sharing default is private and Pat does not belong to Edge Communications.</p>



<p>So, what could be the options ?</p>



<p class="justify"><a href="https://help.salesforce.com/articleView?id=networks_partner_account_relationships_and_sharing.htm&amp;type=5">Account relationship data sharing rule </a>is perfect solution in this case without writing any code. I&#8217;ve created below video explaining how it all fits together.</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Granular level record sharing with community users without Apex based sharing - Salesforce" width="500" height="281" src="https://www.youtube.com/embed/pKaMGNs0DSc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p><strong>Resources :</strong></p>



<ul class="wp-block-list"><li><a href="https://help.salesforce.com/articleView?id=networks_partner_account_relationships_and_sharing.htm&amp;type=5">Account Relationships &amp; Account Relationship Data Sharing Rules</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/salesforce/sharing-records-in-partner-community-from-different-accounts/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7020</post-id>	</item>
		<item>
		<title>Salesforce Integration Patterns &#038; Best Practices &#8211; with Video</title>
		<link>https://www.jitendrazaa.com/blog/salesforce/salesforce-integration-patterns-best-practices-with-video/</link>
					<comments>https://www.jitendrazaa.com/blog/salesforce/salesforce-integration-patterns-best-practices-with-video/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Mon, 03 Feb 2020 01:42:49 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Mulesoft]]></category>
		<category><![CDATA[Proxy Server]]></category>
		<category><![CDATA[Reverse Proxy]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.jitendrazaa.com/blog/?p=6975</guid>

					<description><![CDATA[When to use which integration patterns in Salesforce along with best practices. Video to show how to use Outbound message to integrate Salesforce without writing code]]></description>
										<content:encoded><![CDATA[
<p class="justify">Recently I gave talk in one of most active webinar of Salesforce ecosystem today &#8211; <a href="http://www.apexhours.com/">Apex hours</a> on topic <strong>Integration Patterns and Best Practices in Salesforce</strong>. </p>



<p class="justify">Response was more than expected and questions were high quality. Therefore, I thought to quickly write high level summary of presentation in this blog post along with <a href="https://www.youtube.com/watch?v=2ITAPPQaCig">Youtube video</a> that you can find towards the end of this post.</p>



<h2 class="wp-block-heading">Firewall, Proxy and Reverse Proxy</h2>



<p class="justify">Before integrating anything with Salesforce, as per Architect, it is necessary which system components are important for security and may impact with integration pattern to be used.</p>



<p class="justify"><strong>Firewalls</strong> : It controls and protects Malicious Traffics. Firewall can be hardware or software based. </p>



<p class="justify"><strong>Proxy aka Forward Proxy</strong> : Proxy normally configured in your browser or systems like VsCode, data loader, eclipse to hide your actual identity. Every outgoing request transmits through proxy server to make sure external systems unaware about your true origin and identity</p>



<p class="justify"><strong>Reverse Proxy</strong> : Its used by Web Servers and sits before it. It can server any purpose like authentication or perform security related stuff. Best example is <strong>Mulesoft</strong> where we can configure API proxy which is used to apply throttling, avoiding DoS attacks or applying SLA as per licenses provided to customer</p>



<span id="more-6975"></span>



<h2 class="wp-block-heading">Factors affecting Integration Patterns</h2>



<figure class="wp-block-gallery columns-1 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Top-factors-affecting-Integration-Patterns.png?resize=1024%2C576&#038;ssl=1" alt="" data-id="6977" data-full-url="https://www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Top-factors-affecting-Integration-Patterns.png" data-link="https://www.jitendrazaa.com/blog/?attachment_id=6977" class="wp-image-6977" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Top-factors-affecting-Integration-Patterns.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Top-factors-affecting-Integration-Patterns.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Top-factors-affecting-Integration-Patterns.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Top-factors-affecting-Integration-Patterns.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Top-factors-affecting-Integration-Patterns.png?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Top-factors-affecting-Integration-Patterns.png?w=2048&amp;ssl=1 2048w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure></li></ul></figure>



<p>At high level, there are <strong>five types</strong> of integration patterns in Salesforce</p>



<ol class="justify wp-block-list"><li>Request and Reply</li><li>Fire and Forget</li><li>Batch Data Synchronization</li><li>Remote Call In</li><li>Data Virtualization</li></ol>



<h3 class="wp-block-heading">1. Request and Reply</h3>



<p>Few options available in request &amp; reply integration patterns</p>



<ul class="justify wp-block-list"><li>External Services</li><li>LWC, Visual force calling external system</li><li>Callouts from Trigger</li><li>Batch Apex invoking external system</li></ul>



<figure class="wp-block-gallery columns-1 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Request-Reply-Pattern-in-Salesforce.png?resize=1024%2C576&#038;ssl=1" alt="" data-id="6976" data-full-url="https://www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Request-Reply-Pattern-in-Salesforce.png" data-link="https://www.jitendrazaa.com/blog/?attachment_id=6976" class="wp-image-6976" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Request-Reply-Pattern-in-Salesforce.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Request-Reply-Pattern-in-Salesforce.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Request-Reply-Pattern-in-Salesforce.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Request-Reply-Pattern-in-Salesforce.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Request-Reply-Pattern-in-Salesforce.png?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Request-Reply-Pattern-in-Salesforce.png?w=2048&amp;ssl=1 2048w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure></li></ul><figcaption class="blocks-gallery-caption">Request and Reply Integration Pattern in Salesforce</figcaption></figure>



<h3 class="wp-block-heading">2. Fire &amp; Forget</h3>



<figure class="wp-block-gallery columns-1 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Platform-Event-1024x576.png?resize=1024%2C576&#038;ssl=1" alt="" data-id="6978" data-full-url="https://www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Platform-Event.png" data-link="https://www.jitendrazaa.com/blog/?attachment_id=6978" class="wp-image-6978" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Platform-Event.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Platform-Event.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Platform-Event.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Platform-Event.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Platform-Event.png?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Platform-Event.png?w=2048&amp;ssl=1 2048w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure></li></ul><figcaption class="blocks-gallery-caption">Fire &amp; Forget &#8211; Platform events created by point &amp; click</figcaption></figure>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/FIre-Forget-Platform-event-Apex-based.png?resize=1024%2C576&#038;ssl=1" alt="" class="wp-image-6979" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/FIre-Forget-Platform-event-Apex-based.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/FIre-Forget-Platform-event-Apex-based.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/FIre-Forget-Platform-event-Apex-based.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/FIre-Forget-Platform-event-Apex-based.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/FIre-Forget-Platform-event-Apex-based.png?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/FIre-Forget-Platform-event-Apex-based.png?w=2048&amp;ssl=1 2048w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Fire &amp; Forget &#8211; Platform event created by Apex  / Code</figcaption></figure>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Outbound-Messages.png?resize=1024%2C576&#038;ssl=1" alt="" class="wp-image-6980" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Outbound-Messages.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Outbound-Messages.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Outbound-Messages.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Outbound-Messages.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Outbound-Messages.png?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Outbound-Messages.png?w=2048&amp;ssl=1 2048w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Fire &amp; Forget &#8211; Outbound Messages</figcaption></figure>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Apex-Based.png?resize=1024%2C576&#038;ssl=1" alt="" class="wp-image-6981" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Apex-Based.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Apex-Based.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Apex-Based.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Apex-Based.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Apex-Based.png?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Fire-Forget-Apex-Based.png?w=2048&amp;ssl=1 2048w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Fire &amp; Forget &#8211; Callout using Apex (Sub optimal Solution)</figcaption></figure>



<h3 class="wp-block-heading">3. Batch Data Synchronization</h3>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Batch-Integration.png?resize=1024%2C576&#038;ssl=1" alt="" class="wp-image-6982" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Batch-Integration.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Batch-Integration.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Batch-Integration.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Batch-Integration.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Batch-Integration.png?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Batch-Integration.png?w=2048&amp;ssl=1 2048w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Salesforce Integration Pattern &#8211; Batch Integration</figcaption></figure>



<h3 class="wp-block-heading">4. Remote Call-in</h3>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/SOAP-or-REST-Based-Integration.png?resize=1024%2C576&#038;ssl=1" alt="" class="wp-image-6983" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/SOAP-or-REST-Based-Integration.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/SOAP-or-REST-Based-Integration.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/SOAP-or-REST-Based-Integration.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/SOAP-or-REST-Based-Integration.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/SOAP-or-REST-Based-Integration.png?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/SOAP-or-REST-Based-Integration.png?w=2048&amp;ssl=1 2048w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Salesforce Integration Pattern &#8211; Using Standard SOAP or REST API to perform DML in Salesforce</figcaption></figure>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Custom-Apex-based-API.png?resize=1024%2C576&#038;ssl=1" alt="" class="wp-image-6984" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Custom-Apex-based-API.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Custom-Apex-based-API.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Custom-Apex-based-API.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Custom-Apex-based-API.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Custom-Apex-based-API.png?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Custom-Apex-based-API.png?w=2048&amp;ssl=1 2048w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Salesforce Integration Pattern &#8211; Using custom API built via Apex (Sub Optimal)</figcaption></figure>



<h3 class="wp-block-heading">5. Data Virtualization</h3>



<figure class="wp-block-gallery columns-1 is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="576" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Data-Virtualization-Salesforce-Connect.png?resize=1024%2C576&#038;ssl=1" alt="" data-id="6985" data-full-url="https://www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Data-Virtualization-Salesforce-Connect.png" data-link="https://www.jitendrazaa.com/blog/?attachment_id=6985" class="wp-image-6985" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Data-Virtualization-Salesforce-Connect.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Data-Virtualization-Salesforce-Connect.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Data-Virtualization-Salesforce-Connect.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Data-Virtualization-Salesforce-Connect.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Data-Virtualization-Salesforce-Connect.png?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/02/Data-Virtualization-Salesforce-Connect.png?w=2048&amp;ssl=1 2048w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure></li></ul><figcaption class="blocks-gallery-caption">Salesforce Connect vs Custom API Callouts using LWC or Visualforce</figcaption></figure>



<h3 class="wp-block-heading">Youtube Video on Salesforce Integration Pattern</h3>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Salesforce Integration Patterns &amp; Best Practices" width="500" height="281" src="https://www.youtube.com/embed/2ITAPPQaCig?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div><figcaption>Apex hours video &#8211; Salesforce integration patterns and best practices</figcaption></figure>



<h3 class="wp-block-heading">Reference</h3>



<ul class="justify wp-block-list"><li><a href="https://www.udemy.com/course/salesforcedx/learn/lecture/17472546#overview">Mastering Salesforce DX and VSCode</a></li><li><a href="https://trailhead.salesforce.com/en/content/learn/modules/platform_events_basics/platform_events_define_publish">Platform Event Basics</a> &#8211; Trailhead</li><li><a href="https://resources.docs.salesforce.com/224/latest/en-us/sfdc/pdf/integration_patterns_and_practices.pdf">Salesforce Documentation </a>on Integration Patterns</li><li><a href="https://www.youtube.com/watch?v=lFf6j_wF8ng">Implementing External Services</a> &#8211; Episode 10 of Path to code</li><li><a href="https://www.youtube.com/watch?v=B7oJtkT4pQI">Integrating Salesforce using Rest API</a> &#8211; Episode 8 of Path to code</li></ul>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/salesforce/salesforce-integration-patterns-best-practices-with-video/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6975</post-id>	</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Minified using Disk

Served from: www.jitendrazaa.com @ 2026-04-11 17:34:45 by W3 Total Cache
-->