<?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>Integration &#8211; Jitendra Zaa</title>
	<atom:link href="https://www.jitendrazaa.com/blog/tag/integration/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.jitendrazaa.com/blog</link>
	<description>AI, Salesforce, ServiceNow &#38; Enterprise Tech Guides</description>
	<lastBuildDate>Tue, 03 Feb 2026 19:06:44 +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>Notion MCP Server Complete Guide: Setup, Troubleshooting &#038; AI Meeting Notes &#124; 2026</title>
		<link>https://www.jitendrazaa.com/blog/integration/notion-mcp-server-complete-guide-setup-troubleshooting-ai/</link>
					<comments>https://www.jitendrazaa.com/blog/integration/notion-mcp-server-complete-guide-setup-troubleshooting-ai/#respond</comments>
		
		<dc:creator><![CDATA[Jitendra Zaa]]></dc:creator>
		<pubDate>Tue, 03 Feb 2026 19:03:52 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[MCP]]></category>
		<category><![CDATA[Notion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Salesforce]]></category>
		<guid isPermaLink="false">https://www.jitendrazaa.com/blog/?p=31354</guid>

					<description><![CDATA[JZ Notion & MCP Jitendra's Blog COMPLETE GUIDE 2026 Notion MCP Server: Setup, Troubleshooting & AI Meeting Notes Master Model Context Protocol integration with Claude Code - from basic setup to extracting AI Meeting Notes transcripts with real-world workarounds Reading time: ~18 minutes | Last...]]></description>
										<content:encoded><![CDATA[<p><img src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2026/02/Notion-MCP-Server-Claude-Complete-Guide-featured-1.png?fit=1024%2C576&#038;ssl=1" alt="Notion MCP Server Complete Guide: Setup, Troubleshooting &amp; AI Meeting Notes | 2026" style="max-width:100%;height:auto;" /></p>COMPLETE GUIDE 2026<br />
 <br />
<br />
<strong>Notion MCP Server: Setup, Troubleshooting & AI Meeting Notes</strong><br />
<br />
 Master Model Context Protocol integration with Claude Code - from basic setup to extracting AI Meeting Notes transcripts with real-world workarounds<br />
<br />
 <br />
 <br />
 <i class="fas fa-clock"></i> Reading time: ~18 minutes<br />
 |<br />
 <i class="fas fa-calendar-alt"></i> Last Updated: February 2026<br />
 <br />
 <br />
 <br />
<br />
 <br />
 <br />
 <br />
 In This Guide<br />
 12<br />
 In-Depth Sections<br />
 <br />
 <br />
 Key Insight<br />
 40-95%<br />
 Transcript Coverage<br />
 <br />
 <br />
 In This Guide<br />
 5<br />
 FAQs Answered<br />
 <br />
 <br />
 API Limit<br />
 ~3/sec<br />
 Request Rate<br />
 <br />
 <br />
<br />
 <br />
 <br />
<br />
 <br />
 <br />
 <a href="https://www.jitendrazaa.com/blog/wp-content/uploads/2026/02/Notion-MCP-Server-Claude-Complete-Guide-infographic.png" target="_blank" title="Click to view full HD infographic"><br />
 <br />
 </a><br />
 Visual summary of Notion MCP Server setup and AI Meeting Notes extraction (click to enlarge)<br />
<br />
 <br />
<br />
 <br />
 <br />
 <br />
<br />
<strong><br />
 1<br />
 What is Notion MCP Server?<br />
 </strong><br />
<br />
 <br />
 <br />
 <i class="fas fa-lightbulb"></i><br />
 <br />
 <strong>Quick Answer:</strong> Notion MCP Server is a Model Context Protocol implementation that enables AI assistants like Claude to read from and write to your Notion workspace in real-time. It acts as a bridge between AI tools and Notion's API, supporting page search, content fetching, and page creation or updates.<br />
 <br />
 <br />
<br />
 The <a href="https://modelcontextprotocol.io/" target="_blank">Model Context Protocol (MCP)</a> is an open standard developed by Anthropic that enables AI applications to securely connect with external data sources and tools. According to the <a href="https://developers.notion.com/docs/mcp" target="_blank">official Notion MCP documentation</a>, Notion's MCP implementation allows AI tools to interact with your workspace data through a standardized interface.<br />
<br />
 <br />
<br />
<strong>Key Capabilities</strong><br />
<br />
 <br />
 • <strong>Search Pages:</strong> Find pages and databases across your workspace by title or content<br />
<br />
 • <strong>Fetch Content:</strong> Retrieve full page content, including text, images, and embedded blocks<br />
...<p style="margin-top:20px;"><a href="https://www.jitendrazaa.com/blog/integration/notion-mcp-server-complete-guide-setup-troubleshooting-ai/"><strong>→ Read the full article on jitendrazaa.com</strong></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/integration/notion-mcp-server-complete-guide-setup-troubleshooting-ai/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">31354</post-id>	</item>
		<item>
		<title>Point &#038; Click Based Integration Between Facebook Messenger And Salesforce In 5 Minutes</title>
		<link>https://www.jitendrazaa.com/blog/salesforce/point-click-based-integration-between-facebook-messenger-and-salesforce-in-5-minutes/</link>
					<comments>https://www.jitendrazaa.com/blog/salesforce/point-click-based-integration-between-facebook-messenger-and-salesforce-in-5-minutes/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Sun, 29 Aug 2021 06:09:35 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[DE]]></category>
		<category><![CDATA[Digital Engagement]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Facebook Messenger]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Omni Channel]]></category>
		<category><![CDATA[Service Cloud]]></category>
		<guid isPermaLink="false">https://www.jitendrazaa.com/blog/?p=7286</guid>

					<description><![CDATA[How to setup Facebook Messenger and Service Cloud in Salesforce within 5 Minutes Using Digital Engagement &#038; No Code Approach]]></description>
										<content:encoded><![CDATA[
<p class="justify">Yes, you have read it right. We would be integrating Salesforce &amp; Facebook Messenger within 5 minutes without writing any single like of code. </p>



<p class="justify">This impossible task of integrating two systems seamlessly is done by Digital Engagement. If Digital Engagement is a new product for you, I would strongly recommend<a href="https://www.jitendrazaa.com/blog/salesforce/send-sms-from-salesforce-using-digital-engagement/"> reading my previous post</a>, where I covered it in a little bit more detail.</p>



<p>What do you need to set up Digital Experience? </p>



<p class="justify">You would need a business that you want to grow by leaps and bounce, its Facebook Page, Salesforce Service Cloud, and Digital Experience add-on license.</p>



<p class="justify">Once you got all these, the first step would be to enable Messaging and for that navigate to Setup | Feature Settings | Service | Messaging Settings and enable <strong>Messaging</strong>.</p>



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



<p>If you are a video person, feel free to watch the below video as well</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Integrating Facebook Messenger with Salesforce" width="500" height="281" src="https://www.youtube.com/embed/VadX99qSags?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 class="justify">Coming back to a blog post, once Messaging is enabled, click on add new Channel and select the Facebook Messenger option as shown below image. </p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="631" height="569" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2021/08/Salesforce-Digital-Engagement-Select-SMS-Channel.png?resize=631%2C569&#038;ssl=1" alt="Create Facebook Messenger Channel in Digital Experience Salesforce" class="wp-image-7281" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2021/08/Salesforce-Digital-Engagement-Select-SMS-Channel.png?w=631&amp;ssl=1 631w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2021/08/Salesforce-Digital-Engagement-Select-SMS-Channel.png?resize=300%2C271&amp;ssl=1 300w" sizes="(max-width: 631px) 100vw, 631px" /><figcaption>Create Facebook Messenger Channel in Digital Experience Salesforce</figcaption></figure>



<p class="justify">On the next screen, you would be prompted to authenticate to your company&#8217;s Facebook account.</p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" decoding="async" width="631" height="546" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2021/08/Salesforce-Digital-Engagement-Facebook-Messenger-Authenticate.png?resize=631%2C546&#038;ssl=1" alt="" class="wp-image-7287" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2021/08/Salesforce-Digital-Engagement-Facebook-Messenger-Authenticate.png?w=631&amp;ssl=1 631w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2021/08/Salesforce-Digital-Engagement-Facebook-Messenger-Authenticate.png?resize=300%2C260&amp;ssl=1 300w" sizes="(max-width: 631px) 100vw, 631px" /><figcaption>Digital Engagement &#8211; Authenticate Facebook Messenger</figcaption></figure>



<p class="justify">On the next screen, you would be provided with a list of all pages of your Facebook account. Select one or multiple pages and provide consent.</p>



<p class="justify">From here, we have two choices. Either create a new queue in Service Cloud or reuse an existing one. In the above video, I have created a new queue and did all the basic Service Cloud Setup. </p>



<p class="justify">Now, all that is left out is to make sure your <a href="https://www.facebook.com/help/307375982614147">Facebook page has a messenger button</a> and start collecting the <a href="https://www.qualtrics.com/experience-management/customer/what-is-csat/">highest CSAT score possible</a> for your service cloud call center. </p>



<p>Feel free to leave your feedback and comment in this post. </p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/salesforce/point-click-based-integration-between-facebook-messenger-and-salesforce-in-5-minutes/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7286</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>
		<item>
		<title>Federated Search in Salesforce</title>
		<link>https://www.jitendrazaa.com/blog/salesforce/federated-search-in-salesforce/</link>
					<comments>https://www.jitendrazaa.com/blog/salesforce/federated-search-in-salesforce/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Thu, 02 Jan 2020 06:13:45 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[External Object]]></category>
		<category><![CDATA[Federated Search]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Open Search Document]]></category>
		<guid isPermaLink="false">https://www.jitendrazaa.com/blog/?p=6933</guid>

					<description><![CDATA[Search content of Jitendra Zaa's blog using federated search in Salesforce]]></description>
										<content:encoded><![CDATA[
<p class="justify">Using Federated Search, we can search for content outside Salesforce. Federated Search utilizes <strong>Open Search Document </strong>behind the scene. <a href="https://en.wikipedia.org/wiki/OpenSearch">Open Search</a> was coined by Jeff Bezos (CEO &#8211; Amazon) in March 2005.<strong> </strong>Open Search is a collection of technologies &amp; standards that allows publishing of results to be utilized by Search Engines.</p>



<p class="justify">For Demo purpose, I have enabled my website compatible with Open Search at below URL </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><a href="https://www.jitendrazaa.com/blog/wp-json/opensearch/1.1/document">https://www.jitendrazaa.com/blog/wp-json/opensearch/1.1/document</a></p></blockquote>



<h3 class="wp-block-heading"><strong>Step 1 : </strong></h3>



<p>Add External Data Source by clicking New External Data Source.</p>



<p>Provide any suitable name &#8211; in this case <em>Jitendra&#8217;s Blog</em>. </p>



<p>Select Federated Search : OpenSearch as Type.</p>



<p>Provide this path for OSD <strong>(Open Search Document)</strong> file format &#8211; <strong><a href="https://www.jitendrazaa.com/blog/wp-json/opensearch/1.1/document">https://www.jitendrazaa.com/blog/wp-json/opensearch/1.1/document</a></strong></p>



<p>Click on Validate and Sync.</p>



<h3 class="wp-block-heading">Step 2 :</h3>



<p class="justify">Create permission set giving permission to view this <strong>External Object</strong> and all fields. Assign this permission set to anyone who needs to use search for content outside Salesforce.</p>



<p class="justify">We can also enable this federated search in Communities by updating global Search Component and giving community members access to this newly created permission set.</p>



<p class="justify">Once above setup is completed &#8211; you can search for any term on global search and select <strong>External Results </strong>as shown in below image :</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="935" height="523" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/01/Federated-Open-Search-Search-in-Salesforce.png?resize=935%2C523&#038;ssl=1" alt="" class="wp-image-6934" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/01/Federated-Open-Search-Search-in-Salesforce.png?w=935&amp;ssl=1 935w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/01/Federated-Open-Search-Search-in-Salesforce.png?resize=300%2C168&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2020/01/Federated-Open-Search-Search-in-Salesforce.png?resize=768%2C430&amp;ssl=1 768w" sizes="auto, (max-width: 935px) 100vw, 935px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/salesforce/federated-search-in-salesforce/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6933</post-id>	</item>
		<item>
		<title>Defining pipe delimited separator in Mulesoft 3 &#038; 4</title>
		<link>https://www.jitendrazaa.com/blog/integration/mulesoft/defining-pipe-delimited-separator-in-mulesoft-3-4/</link>
					<comments>https://www.jitendrazaa.com/blog/integration/mulesoft/defining-pipe-delimited-separator-in-mulesoft-3-4/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Fri, 25 Jan 2019 04:50:31 +0000</pubDate>
				<category><![CDATA[Mulesoft]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Mulesoft 3]]></category>
		<category><![CDATA[Mulesoft 4]]></category>
		<guid isPermaLink="false">https://www.jitendrazaa.com/blog/?p=6752</guid>

					<description><![CDATA[How to use Pipe delimiter as separator in Mulesoft 3 and 4]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Mulesoft 3</h2>



<p>As discussed in previous post, to use pipe operator as separator. Navigate to <strong>Reader Configuration</strong> of Transformation message component</p>



<figure class="wp-block-image"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="458" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?resize=1024%2C458&#038;ssl=1" alt="Reader Configuration in Transform Message - Mulesoft 3" class="wp-image-6744" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?resize=1024%2C458&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?resize=300%2C134&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?resize=768%2C344&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?resize=1200%2C537&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?w=1560&amp;ssl=1 1560w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Reader Configuration in Transform Message &#8211; Mulesoft 3</figcaption></figure>



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



<p>and provide required value in separator , In our case, its pipe operator</p>



<figure class="wp-block-image"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="659" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Transform-Message-Reader-Configuration.png?resize=1024%2C659&#038;ssl=1" alt="Mulesoft 3 - Transform Message Reader Configuration" class="wp-image-6746" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Transform-Message-Reader-Configuration.png?resize=1024%2C659&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Transform-Message-Reader-Configuration.png?resize=300%2C193&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Transform-Message-Reader-Configuration.png?resize=768%2C494&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Transform-Message-Reader-Configuration.png?w=1060&amp;ssl=1 1060w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Mulesoft 3 &#8211; Transform Message Reader Configuration</figcaption></figure>



<h2 class="wp-block-heading">Mulesoft 4</h2>



<p>To use Pipe separator in Mulesoft 4, we need to configure it in <strong>File Read</strong> component, instead of Transformation message component unlike Mulesoft 3</p>



<figure class="wp-block-image"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="366" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-4-Pipe-Delimited-Separator.png?resize=1024%2C366&#038;ssl=1" alt="Mulesoft 4 - Pipe Delimited Separator" class="wp-image-6753" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-4-Pipe-Delimited-Separator.png?resize=1024%2C366&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-4-Pipe-Delimited-Separator.png?resize=300%2C107&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-4-Pipe-Delimited-Separator.png?resize=768%2C274&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-4-Pipe-Delimited-Separator.png?resize=1200%2C428&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-4-Pipe-Delimited-Separator.png?w=1664&amp;ssl=1 1664w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Mulesoft 4 &#8211; Pipe Delimited Separator</figcaption></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/integration/mulesoft/defining-pipe-delimited-separator-in-mulesoft-3-4/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6752</post-id>	</item>
		<item>
		<title>Use pipe delimited file to upsert record in Mulesoft 3</title>
		<link>https://www.jitendrazaa.com/blog/integration/process-pipe-delimited-file-in-mulesoft-3/</link>
					<comments>https://www.jitendrazaa.com/blog/integration/process-pipe-delimited-file-in-mulesoft-3/#respond</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Thu, 24 Jan 2019 19:52:04 +0000</pubDate>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Mulesoft]]></category>
		<category><![CDATA[Mulesoft 3]]></category>
		<guid isPermaLink="false">https://www.jitendrazaa.com/blog/?p=6739</guid>

					<description><![CDATA[Use Mulesoft to upsert record in Salesforce using Pipe delimited file]]></description>
										<content:encoded><![CDATA[
<p>Processing Comma Separated file is out of box but what if text file is delimited using comma.</p>



<p>In this post, we will read Pipe delimited file and upsert record in Salesforce. Instead of upserting record in Salesforce, you can do anything else you want to.</p>



<p>This is how final job will look like :</p>



<div class="wp-block-image"><figure class="aligncenter"><img data-recalc-dims="1" loading="lazy" decoding="async" width="908" height="314" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Upsert-record-in-Salesforce.png?resize=908%2C314&#038;ssl=1" alt="" class="wp-image-6740" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Upsert-record-in-Salesforce.png?w=908&amp;ssl=1 908w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Upsert-record-in-Salesforce.png?resize=300%2C104&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Upsert-record-in-Salesforce.png?resize=768%2C266&amp;ssl=1 768w" sizes="auto, (max-width: 908px) 100vw, 908px" /></figure></div>



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



<p>Pipe delimited file that we want to upload looks like, SAART Account Id is external id that would be used for upsert operation.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
NAME|SAART ACCOUNT ID
AT&amp;T|2
IBM|1
Salesforce|3
</pre></div>


<p><strong>Step 1</strong> is to bring File component in Mule 3 workspace.  only two settings I configured</p>



<ol class="wp-block-list"><li>Path</li><li>File Name in &#8220;File Name Regex Filter&#8221;</li></ol>



<p><strong>Step 2</strong> is to bring Salesforce component. Configure as shown in below image. In my case I&#8217;m going to upsert Account on basis of external Id field SAART Account Id</p>



<div class="wp-block-image"><figure class="aligncenter"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="802" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Configure-Salesforce-Connector-in-Mulesoft-3.png?resize=1024%2C802&#038;ssl=1" alt="Configure Salesforce Connector in Mulesoft 3" class="wp-image-6747" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Configure-Salesforce-Connector-in-Mulesoft-3.png?resize=1024%2C802&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Configure-Salesforce-Connector-in-Mulesoft-3.png?resize=300%2C235&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Configure-Salesforce-Connector-in-Mulesoft-3.png?resize=768%2C602&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Configure-Salesforce-Connector-in-Mulesoft-3.png?resize=1200%2C940&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Configure-Salesforce-Connector-in-Mulesoft-3.png?w=1496&amp;ssl=1 1496w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Configure Salesforce Connector in Mulesoft 3</figcaption></figure></div>



<p><strong>Step 3</strong> is to bring Transform Message between File and Salesforce component in workspace. Right click on Payload and select <strong>Set&nbsp;Metadata</strong></p>



<div class="wp-block-image"><figure class="aligncenter"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="313" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Screen-Shot-2019-01-24-at-1.48.37-PM.png?resize=1024%2C313&#038;ssl=1" alt="" class="wp-image-6741" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Screen-Shot-2019-01-24-at-1.48.37-PM.png?resize=1024%2C313&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Screen-Shot-2019-01-24-at-1.48.37-PM.png?resize=300%2C92&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Screen-Shot-2019-01-24-at-1.48.37-PM.png?resize=768%2C235&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Screen-Shot-2019-01-24-at-1.48.37-PM.png?resize=1200%2C367&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Screen-Shot-2019-01-24-at-1.48.37-PM.png?w=1726&amp;ssl=1 1726w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Set Metadata on Transform Message</figcaption></figure></div>



<p>After clicking Set Metadata, below screen will appear. We need to choose <strong>CSV</strong> as Type and add Headers manually.</p>



<div class="wp-block-image"><figure class="aligncenter"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="932" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-Transformation-Message-Metadata.png?resize=1024%2C932&#038;ssl=1" alt="Mulesoft Transformation Message Metadata" class="wp-image-6743" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-Transformation-Message-Metadata.png?resize=1024%2C932&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-Transformation-Message-Metadata.png?resize=300%2C273&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-Transformation-Message-Metadata.png?resize=768%2C699&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-Transformation-Message-Metadata.png?resize=1200%2C1092&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-Transformation-Message-Metadata.png?w=1330&amp;ssl=1 1330w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Mulesoft Transformation Message Metadata</figcaption></figure></div>



<p>Next step is to inform Mule that this CSV file would be delimited using pipe operator. Select Transform message and click on <strong>Reader&nbsp;Configuration</strong></p>



<div class="wp-block-image"><figure class="aligncenter"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="458" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?resize=1024%2C458&#038;ssl=1" alt="Reader Configuration in Transform Message - Mulesoft 3" class="wp-image-6744" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?resize=1024%2C458&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?resize=300%2C134&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?resize=768%2C344&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?resize=1200%2C537&amp;ssl=1 1200w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Reader-Configuration-in-Transform-Message-Mulesoft-3.png?w=1560&amp;ssl=1 1560w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Reader Configuration in Transform Message &#8211; Mulesoft 3</figcaption></figure></div>



<p>when popup comes up, set separator as Pipe (|) operator instead of comma</p>



<div class="wp-block-image"><figure class="aligncenter"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="659" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Transform-Message-Reader-Configuration.png?resize=1024%2C659&#038;ssl=1" alt="Mulesoft 3 - Transform Message Reader Configuration" class="wp-image-6746" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Transform-Message-Reader-Configuration.png?resize=1024%2C659&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Transform-Message-Reader-Configuration.png?resize=300%2C193&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Transform-Message-Reader-Configuration.png?resize=768%2C494&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Mulesoft-3-Transform-Message-Reader-Configuration.png?w=1060&amp;ssl=1 1060w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption>Mulesoft 3 &#8211; Transform Message Reader Configuration</figcaption></figure></div>



<p><strong>Step 4 </strong>: Bring Logger in workspace to show output of Salesforce operation</p>



<div class="wp-block-image"><figure class="aligncenter"><img data-recalc-dims="1" loading="lazy" decoding="async" width="976" height="464" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Logger-in-Mulesoft-3.png?resize=976%2C464&#038;ssl=1" alt="Logger in Mulesoft 3" class="wp-image-6748" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Logger-in-Mulesoft-3.png?w=976&amp;ssl=1 976w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Logger-in-Mulesoft-3.png?resize=300%2C143&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2019/01/Logger-in-Mulesoft-3.png?resize=768%2C365&amp;ssl=1 768w" sizes="auto, (max-width: 976px) 100vw, 976px" /><figcaption>Logger in Mulesoft 3</figcaption></figure></div>



<p>Running it : Start Mulesoft and put valid file in folder mentioned in Step 1. Mule will process it, delete it and show log in console.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/integration/process-pipe-delimited-file-in-mulesoft-3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6739</post-id>	</item>
		<item>
		<title>Salesforce Integration with SQL Server Integration Services</title>
		<link>https://www.jitendrazaa.com/blog/salesforce/salesforce-integration-with-sql-server-integration-services/</link>
					<comments>https://www.jitendrazaa.com/blog/salesforce/salesforce-integration-with-sql-server-integration-services/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Sun, 15 Apr 2018 16:29:45 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Video Tutorial]]></category>
		<guid isPermaLink="false">https://www.jitendrazaa.com/blog/?p=6449</guid>

					<description><![CDATA[Video - Connecting SQL Server Integration Services (SSIS) with Salesforce using COZYROC Connector]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">On April-14, 2018,  I had a chance to conduct online session on demonstrating integration between <a href="https://www.jitendrazaa.com/blog/category/sql/sqlserverintegrationservices/">SQL Server Integration Services</a> (SSIS) and Salesforce with the help of <a href="https://www.cozyroc.com/">COZYROC</a> connector.</p>
<p>This session covered below topics</p>
<ul>
<li>Introduction to <a href="https://www.jitendrazaa.com/blog/tag/etl/">ETL</a></li>
<li>What is SQL Server Integration Services (SSIS)</li>
<li>COZYROC connector</li>
<li>Demo of extracting and updating records in Salesforce</li>
<li>Demo of downloading attachments from Salesforce</li>
<li>Demo of uploading attachments in Salesforce</li>
<li>Best Practices &#8211; How to configure SSIS package to avoid hardcoding</li>
<li>Best Practices &#8211; enabling logging</li>
</ul>
<p><span id="more-6449"></span></p>
<p><strong>Recording of Session </strong></p>
<p><iframe loading="lazy" title="SSIS integration with Salesforce | ETL" width="500" height="281" src="https://www.youtube.com/embed/RA5azDuubU4?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></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/salesforce/salesforce-integration-with-sql-server-integration-services/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6449</post-id>	</item>
		<item>
		<title>10 Salesforce Integration design considerations from Architect point of view &#8211; Mind Mapping included</title>
		<link>https://www.jitendrazaa.com/blog/salesforce/10-salesforce-integration-design-considerations-from-architect-point-of-view-mind-mapping-included/</link>
					<comments>https://www.jitendrazaa.com/blog/salesforce/10-salesforce-integration-design-considerations-from-architect-point-of-view-mind-mapping-included/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Mon, 21 Dec 2015 03:28:16 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Architect]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Technical Architecture]]></category>
		<guid isPermaLink="false">http://www.jitendrazaa.com/blog/?p=5094</guid>

					<description><![CDATA[After working on multiple Salesforce implementation project as an Architect, its time to share what I learned from those implementations and would strongly suggest to be considered before designing any &#8220;Salesforce Integration&#8221;. Below image shows &#8220;integration mind mapping&#8221; used by me. I use it to consider some major aspects while discussing integration approaches with enterprise architects in [&#8230;]]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">After working on multiple Salesforce implementation project as an Architect, its time to share what I learned from those implementations and would strongly suggest to be considered before designing any &#8220;Salesforce Integration&#8221;.</p>
<p style="text-align: justify;">Below image shows &#8220;integration mind mapping&#8221; used by me. I use it to consider some major aspects while discussing integration approaches with enterprise architects in various meetings. This image is very high level however if you think some more points to be considered or have some other thoughts on same, please share.</p>
<p><figure id="attachment_5098" aria-describedby="caption-attachment-5098" style="width: 820px" class="wp-caption aligncenter"><a href="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/12/Salesforce-Integration-Mind-mapping-diagram.png?ssl=1" rel="attachment wp-att-5098"><img data-recalc-dims="1" loading="lazy" decoding="async" class="size-full wp-image-5098" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/12/Salesforce-Integration-Mind-mapping-diagram.png?resize=820%2C1000&#038;ssl=1" alt="Salesforce Integration Mind mapping diagram" width="820" height="1000" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/12/Salesforce-Integration-Mind-mapping-diagram.png?w=820&amp;ssl=1 820w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/12/Salesforce-Integration-Mind-mapping-diagram.png?resize=246%2C300&amp;ssl=1 246w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/12/Salesforce-Integration-Mind-mapping-diagram.png?resize=768%2C937&amp;ssl=1 768w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/12/Salesforce-Integration-Mind-mapping-diagram.png?resize=624%2C761&amp;ssl=1 624w" sizes="auto, (max-width: 820px) 100vw, 820px" /></a><figcaption id="caption-attachment-5098" class="wp-caption-text">Salesforce Integration Mind mapping diagram</figcaption></figure></p>
<p><strong>1. Data Compliance</strong></p>
<p style="text-align: justify;">Lets start with Compliance part first. It is possible that client has confidential data and doesn&#8217;t want to move it to Cloud. In that case, we can expose existing web application of Client using some Salesforce products like &#8220;<a href="https://www.jitendrazaa.com/blog/tag/canvas/">Canvas</a>&#8221; or &#8220;Lightning Connect&#8221;.  For Lightning Connect, data needs to be available on DMZ layer however for Canvas it can exist on Intranet and therefore end users can access data only within office, providing flexibility of cloud and security of intranet.<span id="more-5094"></span></p>
<p><strong>2. ETL tool</strong></p>
<p>As a best practice for Integration design, loading, transforming and extraction of data should be avoided within Salesforce. Salesforce is multi-tenant architect and therefore has many governor limits. I have seen many projects getting failed because of decision; not to use <a href="https://www.jitendrazaa.com/blog/tag/etl/">ETL tool</a>. There may be many reason why ETL may not have been considered, like architect didn&#8217;t foresee much in future about its necessity or Client was short on budget. Even though ETL tool adds up some budget but then it opens endless possibilities.</p>
<p>If ETL is considered, then there are some very important question needs to be answered and designed.</p>
<p><strong>a. What will happen if ETL or any System goes down</strong></p>
<p style="text-align: justify;">Software industry is full of possibilities and malfunctioning, no one can be sure about hardware and software design. Business continuity plan is very important to be considered. And this question must be considered in meetings and design &#8220;What will happen if ETL goes down&#8221; ? Simple answer is declaring clear &#8220;Accountability&#8221; between systems. Any application can go down or any application can face an error; it could be source System, middle ware or Salesforce. Defining clear accountability of system is very important. Who will be responsible to handle situation if ETL goes down ? Who will be responsible to handle situation if Salesforce goes down, or doesn&#8217;t respond in timely manner or some Apex or server error occurs ? We should be having proper error handling and logging mechanism between systems and backup plans as well. For example &#8211; If ETL goes down, maintain all request in some &#8220;<a href="https://en.wikipedia.org/wiki/Message_queue">Messaging Queue Server</a>&#8221; between Source system and ETL. once ETL comes on-line, start processing queue.</p>
<p><strong>b. Throttling capabilities</strong></p>
<p style="text-align: justify;">When more than two systems are involved in communication, not necessary that both system will perform same. Might be possible that Salesforce could be faster or slower on some unlucky days. We should consider this point as well in our design. Most ETL tool has capability of throttling to make request faster and slower on basis of error or network speed. Personally, I think this is very important in high traffic integration. In one of my project, we had to load (upsert) millions of data in Salesforce on weekly basis. Because of heavy design of Salesforce apex triggers and multiple field update workflows on same object, Salesforce performance was much slower than usual. There were no throttling capabilities and therefore there were lots of loss of data because of various error in Salesforce like &#8220;Concurrent Apex limit&#8221;, &#8220;Unable to lock rows&#8221; etc&#8230;</p>
<p style="text-align: justify;"><strong>c. Priority of incoming and outgoing messages</strong></p>
<p style="text-align: justify;">If we consider &#8220;messaging&#8221; and &#8220;throttling&#8221; in our design then most obvious question needs to be considered in &#8220;priority of messages&#8221;. As message may be sitting in queue, it is possible that some messages should be processed near real time and very important for next system. We should be having logic in &#8220;ETL&#8221; or &#8220;Messaging queue&#8221; to decide priority on basis of some message criteria.</p>
<p style="text-align: justify;"><strong>3. Fallout reporting capabilities</strong></p>
<p style="text-align: justify;">Either we are going with or without ETL tool, fallout reporting capabilities are very important in integration design. Fallout report may also be referred as &#8220;loss in data&#8221; report where few message or request has not be processed because of various errors between systems. If we skip this step, validating data accuracy could be very difficult and next to impossible. This may be considered as a part of error and log handling design.</p>
<p style="text-align: justify;"><strong>4. API limit considerations</strong></p>
<p style="text-align: justify;">If external system is trying to connect to Salesforce then it is using <a href="https://help.salesforce.com/HTViewHelpDoc?id=integrate_api_rate_limiting.htm">API limit</a> which is defined for every organization for a 24 hours. We also have a limit on Bulk API per 24 hours. My most of Salesforce implementation project has 3000+ Salesforce users and therefore I have not faced issue with API limit however good to consider in design.</p>
<p style="text-align: justify;"><strong>5. Single ETL tool to connect to every applications</strong></p>
<p style="text-align: justify;">This point I know is very debating. I am saying that every application connecting to Salesforce should have single ETL tool where few of you may disagree with me. In one of my project, I had to integrate Salesforce with around 18 Systems. <a href="http://www.boomi.com/">BOOMI</a> was ETL tool of choice and it was used to integrate around 8 systems. Other Systems were integrated using webservices, custom Java tool which implemented BULK API and <a href="https://www.jitendrazaa.com/blog/tag/cli/">command line dataloader</a>. We faced lots of issue maintaining and debugging error in all these tools. It would have been very easy if Single ETL tool could be used for all systems. As multiple tools were used, few tool were black box for us and they were using on there Will whenever they wanted to change data inside Salesforce. As discussed above, &#8220;Accountability&#8221; was main issue. If any tool was failing because of any reason, Salesforce team were to blame in every case and we were on fire <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> .</p>
<p style="text-align: justify;"><strong>6. Different user for different System</strong></p>
<p style="text-align: justify;">Lets say, if you are integrating with 10 systems using ETL tool, it is always best practice to have different users for all those system. It has lots of benefit, flexibility and control. We can have different profiles for each user, complete control and easy to debug. Imagine single &#8220;integration user&#8221; is used to interact with all system, chances of <a href="https://developer.salesforce.com/blogs/engineering/2013/04/managing-lookup-skew-to-avoid-record-lock-exceptions.html">data skew</a> is very high. We cannot switch off user from Salesforce end, hard to configure profile as it may break existing integration and many more.</p>
<p style="text-align: justify;"><strong>7. Integration User license</strong></p>
<p style="text-align: justify;">As discussed above, its good practice to have different Salesforce user for different systems. It is not necessary that we need &#8220;full Salesforce user license&#8221;. If we are not using standard objects then cost can be saved by opting &#8220;Force.com app bundle license&#8221; or any other suitable <a href="https://help.salesforce.com/apex/HTViewHelpDoc?id=users_license_types_available.htm&amp;language=en_US">Salesforce user license</a>.</p>
<p style="text-align: justify;"><strong>8. Data Volume over the time and Data archiving considerations</strong></p>
<p style="text-align: justify;">If you are integrating with multiple systems or not, Data archiving strategy is very important to be considered. There are many advantages of data archiving including improve in performance of reports, list views, global search and saving space of Salesforce. Data archiving can be done using ETL tool or even <a href="https://www.jitendrazaa.com/blog/tag/cli/">command line dataloader</a> directly connecting to databases like SQL Server. While designing Data archive strategy, easily getting data back is also very important. Example &#8211; using Dataloader, if backup is done in multiple csv files, It would be hard to find record from hundreds of csv files. Even if RDBMS like SQL Server or MySQL is considered, indexing, partition and other performance improvement techniques must be considered. It should not be like one way road where we can archive data but cannot get it back when needed. I have used &#8220;<a href="http://www.forceamp.com/">DBamp</a>&#8221; in many of projects where ETL tools were not used and would recommend to try it out.</p>
<p><strong>9. Single Sign On</strong></p>
<p style="text-align: justify;">This is also very important topic and needs much attention and thoughtful discussion. Salesforce provides lots of option to implement <a href="https://www.jitendrazaa.com/blog/tag/sso/">Single Sign On</a> using federated authentication, Delegated authentication or many other Authorization providers. In addition of all APIs available to implement SSO, Salesforce also provides &#8220;<a href="http://www.salesforce.com/platform/products/identity/">Identity Connect</a>&#8221; which could be considered for SSO implementation. There are many third party applications as well like <a href="https://appexchange.salesforce.com/listingDetail?listingId=a0N30000009wdx3EAA">Ping Identity</a> or <a href="https://appexchange.salesforce.com/listingDetail?listingId=a0N300000055spaEAA">Okta</a>. Also, as a best practice, do not enable SSO for System admin users. If something happens with Identity provider or Web services are not responding, end users will be blocked and System admin could still log into system. If we enable SSO for System admin as well then complete Salesforce instance would not be accessible by anyone.</p>
<p><strong>10.  Outbound messages are your best friend</strong></p>
<p style="text-align: justify;">Question is &#8220;Are you using or considering Outbound messages ?&#8221;. I have seen, many Salesforce implementations where integration could be easily done by using outbound messages instead of Apex callouts. You don&#8217;t need to write Apex code, Test classes and polling mechanism if communication fails. Outbound message tries until message is successfully is delivered though there are some <a href="https://resources.docs.salesforce.com/198/latest/en-us/sfdc/pdf/integration_patterns_and_practices.pdf">design considerations</a> while using Outbound messages.</p>
<p style="text-align: justify;">Please feel free to leave comment and suggestions on this topic so that we can discuss each others experience in integration design and problems.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/salesforce/10-salesforce-integration-design-considerations-from-architect-point-of-view-mind-mapping-included/feed/</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5094</post-id>	</item>
		<item>
		<title>Salesforce to Salesforce integration using Canvas</title>
		<link>https://www.jitendrazaa.com/blog/salesforce/salesforce-to-salesforce-integration-using-canvas/</link>
					<comments>https://www.jitendrazaa.com/blog/salesforce/salesforce-to-salesforce-integration-using-canvas/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Mon, 14 Sep 2015 03:05:40 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Integration Patterns]]></category>
		<category><![CDATA[SSO]]></category>
		<guid isPermaLink="false">http://www.jitendrazaa.com/blog/?p=4807</guid>

					<description><![CDATA[After writing this article Salesforce has enabled CSP (Content Security Policy) which restricts adding Salesforce in iFrame. We can add MyDomain URL as CSP whitelisting and it works only if user already logged into other Salesforce instance. However, if user is not logged into other instance , internally OAuth navigates through login.salesforce.com which is too [&#8230;]]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-tertiary-background-color has-background">After writing this article Salesforce has enabled CSP (Content Security Policy) which restricts adding Salesforce in iFrame. We can add MyDomain URL as CSP whitelisting and it works only if user already logged into other Salesforce instance. However, if user is not logged into other instance , internally OAuth navigates through login.salesforce.com which is too restrictive and canvas application fails to load. </p>
</blockquote>


<p style="text-align: justify;">In this post we will discuss how Canvas can be used to integrate Salesforce with Salesforce. On my blog we have seen many articles and possibilities to integrate Salesforce with another Salesforce instance like <a href="https://www.jitendrazaa.com/blog/salesforce/salesforce-to-salesforce-integration-using-named-credentials-in-just-5-lines-of-code/">this</a> and <a href="https://www.jitendrazaa.com/blog/salesforce/getting-record-from-one-salesforce-organization-to-other/">this </a>post.</p>
<p><strong>Whats is force.com Canvas</strong></p>
<p style="text-align: justify;">Force.com Canvas SDK from Salesforce allows developers to connect existing legacy system or any web based application with Salesforce using JavaScript and REST API. Canvas applications can be displayed in Chatter, Salesforce Mobile Cards or Visualforce page.</p>
<p><strong>Why we are accessing another Salesforce instance as Canvas app</strong></p>
<p style="text-align: justify;">To get hands on with Canvas, most of article are around creating Heroku applications. I understand there are few developers who are not comfortable with Heroku. So to keep learning curve less, lets use Visualforce page to be exposed as Canvas application after all Visualforce is very advance MVC framework in itself.<span id="more-4807"></span></p>
<p><span style="text-decoration: underline;">Note:</span></p>
<p style="text-align: justify;">For this blog post, we will need two Salesforce Org. One will act as Identity provider and other will act as Service Provider. I have enabled My Domain and below are information</p>
<ul>
<li>https://jitendrazaa5-dev-ed.my.salesforce.com &#8211; <span style="text-decoration: underline;">Service Provider</span></li>
<li>https://jitendrazaa2-dev-ed.my.salesforce.com &#8211; <span style="text-decoration: underline;">Identity Provider</span></li>
</ul>
<p><strong>Enable My Domain</strong></p>
<p style="text-align: justify;">First step is to enable My Domain in Service Provider Organization. I would suggest name your org with suffix like &#8220;spProvider&#8221; and &#8220;ipProvider&#8221; to avoid confusion.</p>
<p><strong>Enable and setup SSO in Service provider Org</strong></p>
<p style="text-align: justify;">You can read this article for <a href="https://www.jitendrazaa.com/blog/salesforce/implement-saml-based-single-sign-on-sso-salesforce-as-identity-provider-idp-salesforce-as-service-provider-sp/">more detail</a> on using Salesforce as IDp and SP. Assuming, you already have basic knowledge of SSO, we will jump start.</p>
<p style="text-align: justify;">In Service provider Organization enable SSO by navigating to &#8220;Setup | Security Controls | Single Sign-On Settings&#8221;.</p>
<p style="text-align: justify;">Download &#8220;Self Signed Certificate&#8221; from Identity provider by navigating to &#8220;Setup | Security Controls | Certificate and Key Management | Create Self Signed Certificate&#8221;.</p>
<p style="text-align: justify;">Below image shows configuration of SSO in Service provider organization, In our case domain &#8220;jitendrazaa5-dev-ed.my.salesforce.com&#8221;.</p>
<figure id="attachment_4809" aria-describedby="caption-attachment-4809" style="width: 625px" class="wp-caption aligncenter"><a href="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/SSO-Setting-in-Service-Provider-Org.png?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" class="size-large wp-image-4809" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/SSO-Setting-in-Service-Provider-Org.png?resize=625%2C302&#038;ssl=1" alt="SSO Setting in Service Provider Org" width="625" height="302" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/SSO-Setting-in-Service-Provider-Org.png?resize=1024%2C494&amp;ssl=1 1024w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/SSO-Setting-in-Service-Provider-Org.png?resize=300%2C145&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/SSO-Setting-in-Service-Provider-Org.png?resize=624%2C301&amp;ssl=1 624w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/SSO-Setting-in-Service-Provider-Org.png?w=1308&amp;ssl=1 1308w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a><figcaption id="caption-attachment-4809" class="wp-caption-text">SSO Setting in Service Provider Org</figcaption></figure>
<p style="text-align: justify;">In above image Issuer is URL of identity provider and Entity Id is URL of current org which is Service provider.</p>
<p style="text-align: justify;">Once we informed Service provider Org that SSO is enabled on basis of federation Id, we need to make sure that Federation Id on user records on both Org must match else SSO will not work and those users will not able to use Canvas application.</p>
<p><strong>Create force.com Canvas application in Identity provider Org</strong></p>
<p>Navigate to &#8220;Setup | App Setup | Create | Apps | Connected Apps | New&#8221;</p>
<figure id="attachment_4810" aria-describedby="caption-attachment-4810" style="width: 625px" class="wp-caption aligncenter"><a href="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-application-Configuration.png?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" class="size-large wp-image-4810" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-application-Configuration.png?resize=625%2C920&#038;ssl=1" alt="Force.com Canvas application Configuration" width="625" height="920" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-application-Configuration.png?resize=696%2C1024&amp;ssl=1 696w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-application-Configuration.png?resize=204%2C300&amp;ssl=1 204w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-application-Configuration.png?resize=624%2C919&amp;ssl=1 624w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-application-Configuration.png?w=1228&amp;ssl=1 1228w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a><figcaption id="caption-attachment-4810" class="wp-caption-text">Force.com Canvas application Configuration</figcaption></figure>
<p style="text-align: justify;">As you can see in above setting, Canvas application is enabled for Chatter and Mobile navigation and it uses Visualforce page of Service provider Organization.</p>
<p>Entity Id and ACS URL is copied from SSO settings of Service provided organization.</p>
<p><strong>Creating Visualforce page using Canvas SDK in Service Provider Organization</strong></p>
<p style="text-align: justify;">Instead of using any Heroku or external web based application, we will be using Visualforce page with Canvas SDK. For this, we need to download Canvas SDK from <a href="https://github.com/forcedotcom/SalesforceCanvasJavascriptSDK">this Github</a> repository and upload it as static resource. In below Visualforce page, we are simply reading Signed request from Identity provider Organization showing capabilities of Canvas SDK as well as we are displaying SessionId, OAuth token and refresh token of Service provider Organization.</p>
<p style="text-align: justify;">As Canvas application is configured to view from Chatter tab, Output will look like :</p>
<figure id="attachment_4811" aria-describedby="caption-attachment-4811" style="width: 669px" class="wp-caption alignleft"><a href="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-Application-Demo-with-Complete-Source-code.png?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" class="size-full wp-image-4811" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-Application-Demo-with-Complete-Source-code.png?resize=669%2C452&#038;ssl=1" alt="Force.com Canvas Application Demo with Complete Source code" width="669" height="452" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-Application-Demo-with-Complete-Source-code.png?w=669&amp;ssl=1 669w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-Application-Demo-with-Complete-Source-code.png?resize=300%2C203&amp;ssl=1 300w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/09/Force.com-Canvas-Application-Demo-with-Complete-Source-code.png?resize=624%2C422&amp;ssl=1 624w" sizes="auto, (max-width: 669px) 100vw, 669px" /></a><figcaption id="caption-attachment-4811" class="wp-caption-text">Force.com Canvas Application Demo with Complete Source code</figcaption></figure>
<ul>
<li> </li>
</ul>


<p></p>



<h2 class="wp-block-heading">Source code for Canvas in Salesforce</h2>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: xml; title: ; notranslate">
&lt;apex:page showHeader=&quot;false&quot;&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;{!URLFOR($Resource.CanvasSDK,&#039;SalesforceCanvasJavascriptSDK-master/js/canvas-all.js&#039;)}&quot; /&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;
        var sid=&quot;{!GETSESSIONID()}&quot;.substr(1,30) +&#039;...&#039;;
    	function refreshSR(){
        	Sfdc.canvas.client.refreshSignedRequest(function(data){
                if(data.status == 200){
                	var signedRequest = data.payload.response;
                    var part = signedRequest.split(&#039;.&#039;)&#x5B;1];
                    var obj = JSON.parse(Sfdc.canvas.decode(part));
                    updateDisplay(obj) ;
                }
            });
        }

    function updateDisplay(obj){
    	setValue(&#039;spSessionId&#039;, sid);
        setValue(&#039;ipOAuth&#039;, obj.client.oauthToken.substr(1,30)+&#039;...&#039;);
        setValue(&#039;ipUser&#039;, obj.context.user.fullName);
        setValue(&#039;ipOrg&#039;, obj.context.organization.name);
        setValue(&#039;ipRefresh&#039;, obj.client.refreshToken.substr(1,30)+&#039;...&#039;);
    }

    function setValue(eleId,val)
    {
       	var domEl = document.getElementById(eleId);
        if(domEl){
        	domEl.innerHTML = val;
        }
    }

    Sfdc.canvas.onReady(function(){
    	refreshSR();
    });
    &lt;/script&gt;

        &lt;b&gt; &lt;u&gt; Service Provider Org &lt;/u&gt;&lt;/b&gt;
        I am Canvas App from Salesforce Domain &lt;b&gt; Jitendra.zaa5@gmail.com &lt;/b&gt;
        User : {!$User.FirstName} {!$User.LastName}
        Org : {!$Organization.Name}
        Session Id : &lt;span id=&quot;spSessionId&quot;&gt;&lt;/span&gt;    

&lt;hr /&gt;

        &lt;b&gt; &lt;u&gt; Identity Provider Org  - Current Org &lt;/u&gt; &lt;/b&gt;
        User : &lt;span id=&quot;ipUser&quot;&gt;&lt;/span&gt;
         Org : &lt;span id=&quot;ipOrg&quot;&gt;&lt;/span&gt;
         OAUth Token : &lt;span id=&quot;ipOAuth&quot;&gt;&lt;/span&gt;
        Refresh Token : &lt;span id=&quot;ipRefresh&quot;&gt;&lt;/span&gt;

&lt;/apex:page&gt;
</pre></div>


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



<ul class="wp-block-list">
<li><a href="https://github.com/ccoenraets/salesforce-canvas-demo">Canvas example using Nodejs</a></li>



<li><a href="https://developer.salesforce.com/page/Force.com_Canvas">List of all Canvas resources</a></li>



<li><a href="https://resources.docs.salesforce.com/sfdc/pdf/canvas_framework.pdf">Developers guide</a></li>



<li><a href="https://github.com/forcedotcom/SalesforceCanvasJavascriptSDK">Github Canvas SDK repository</a></li>
</ul>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/salesforce/salesforce-to-salesforce-integration-using-canvas/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4807</post-id>	</item>
		<item>
		<title>Salesforce to Salesforce integration using Named Credentials in 5 lines</title>
		<link>https://www.jitendrazaa.com/blog/salesforce/salesforce-to-salesforce-integration-using-named-credentials-in-just-5-lines-of-code/</link>
					<comments>https://www.jitendrazaa.com/blog/salesforce/salesforce-to-salesforce-integration-using-named-credentials-in-just-5-lines-of-code/#comments</comments>
		
		<dc:creator><![CDATA[Jitendra]]></dc:creator>
		<pubDate>Fri, 29 May 2015 17:45:48 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Apex]]></category>
		<category><![CDATA[Authentication Provider]]></category>
		<category><![CDATA[error handling]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Named Credentials]]></category>
		<category><![CDATA[OAuth]]></category>
		<guid isPermaLink="false">http://www.jitendrazaa.com/blog/?p=4532</guid>

					<description><![CDATA[I have already written article to integrate Salesforce with other Salesforce instance around 3 years back. In last 3 years, Salesforce has changed a lot. This time I will integrate Salesforce with other Salesforce only only in 5 lines of code, can you believe it  🙂 ? Check my old article, and its around 50+ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I have already written article to <a href="https://www.jitendrazaa.com/blog/salesforce/getting-record-from-one-salesforce-organization-to-other/">integrate Salesforce with other Salesforce instance around 3 years back</a>. In last 3 years, Salesforce has changed a lot. This time I will integrate Salesforce with other Salesforce only only in 5 lines of code, can you believe it  🙂 ? Check my <a href="https://www.jitendrazaa.com/blog/salesforce/getting-record-from-one-salesforce-organization-to-other/">old article</a>, and its around 50+ lines of code with security control.</p>
<p><strong>What is Named Credential ?</strong></p>
<p>A named credential specifies the URL of a callout endpoint and its required authentication parameters in one definition. You can simplify the setup of authenticated Apex callouts by specifying a named credential as the callout endpoint. You can instead specify a URL as the callout endpoint and register that URL in your organization&#8217;s remote site settings. In that case, however, you handle the authentication in your code. Doing so can be less secure and especially complicated for OAuth authentication.</p>
<blockquote>
<p>Long description short , &#8220;using Named Credential, we can make call out to external system without supplying username or Password&#8221;.</p>
</blockquote>
<p><span id="more-4532"></span></p>
<p>To connect with external system using &#8220;Named Credential&#8221;, we need to follow below steps</p>
<ol>
<li>Create Connected App</li>
<li>Create Authorization Provider</li>
<li>Define Named Credential</li>
<li>Use Apex to connect in 5 lines of code</li>
</ol>
<p>For first 2 steps, you need to go through <a href="https://www.jitendrazaa.com/blog/salesforce/login-to-salesforce-from-salesforce-using-authentication-provider/#more-4516">this article which explains in detail how to define Connected App and Authorization Provider</a>.</p>
<p><strong>Creating Named Credential</strong></p>
<p>Now, directly start with step 3 to create Named credential by navigating to &#8220;Setup | Administer | Security Controls | Named Credentials | New Named Credential &#8220;.</p>
<p>Provide below information in settings :</p>

<table id="tablepress-22" class="tablepress tablepress-id-22">
<thead>
<tr class="row-1">
	<th class="column-1">Setting</th><th class="column-2">Value</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">Label and Name</td><td class="column-2">Any suitable value. We will need Name to refer in Apex code</td>
</tr>
<tr class="row-3">
	<td class="column-1">URL</td><td class="column-2">URL of Salesforce instance where we want to Connect</td>
</tr>
<tr class="row-4">
	<td class="column-1"><a href="https://help.salesforce.com/HTViewHelpDoc?id=named_credentials_define.htm&amp;language=en_US" alt="Define a Named Credential" title="Define a Named Credential">Identity Type </a></td><td class="column-2">Named Principal</td>
</tr>
<tr class="row-5">
	<td class="column-1">Authentication Protocol</td><td class="column-2">OAuth 2.0</td>
</tr>
<tr class="row-6">
	<td class="column-1">Authentication Provider</td><td class="column-2">Select Authentication Provider created in step 2</td>
</tr>
<tr class="row-7">
	<td class="column-1">Scope</td><td class="column-2">refresh_token full</td>
</tr>
</tbody>
</table>
<!-- #tablepress-22 from cache -->
<figure id="attachment_4538" aria-describedby="caption-attachment-4538" style="width: 520px" class="wp-caption aligncenter"><a href="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/05/Named-Credential-Salesforce.png?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" class="size-full wp-image-4538" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/05/Named-Credential-Salesforce.png?resize=520%2C570&#038;ssl=1" alt="Named Credential Salesforce" width="520" height="570" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/05/Named-Credential-Salesforce.png?w=520&amp;ssl=1 520w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/05/Named-Credential-Salesforce.png?resize=274%2C300&amp;ssl=1 274w" sizes="auto, (max-width: 520px) 100vw, 520px" /></a><figcaption id="caption-attachment-4538" class="wp-caption-text">Named Credential Salesforce</figcaption></figure>
<p>Make sure to check &#8220;Start Authentication Flow on Save&#8221; and click on Save. After clicking on &#8220;Save&#8221; new page will open to authenticate Salesforce Org using OAuth2 connected App. If authentication is success, you can see message like &#8220;Authenticated as &lt;Salesforce Username&gt;&#8221; as shown in below image.</p>
<figure id="attachment_4539" aria-describedby="caption-attachment-4539" style="width: 476px" class="wp-caption aligncenter"><a href="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/05/Authenticated-Named-Credential-in-Salesforce.png?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" class="size-full wp-image-4539" src="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/05/Authenticated-Named-Credential-in-Salesforce.png?resize=476%2C330&#038;ssl=1" alt="Authenticated Named Credential in Salesforce" width="476" height="330" srcset="https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/05/Authenticated-Named-Credential-in-Salesforce.png?w=476&amp;ssl=1 476w, https://i0.wp.com/www.jitendrazaa.com/blog/wp-content/uploads/2015/05/Authenticated-Named-Credential-in-Salesforce.png?resize=300%2C208&amp;ssl=1 300w" sizes="auto, (max-width: 476px) 100vw, 476px" /></a><figcaption id="caption-attachment-4539" class="wp-caption-text">Authenticated Named Credential in Salesforce</figcaption></figure>
<p>Now execute below code in anonymous Apex and you should be able to see list of all REST API available in Salesforce instance.</p>
<pre><pre class="brush: java; highlight: [2]; title: ; notranslate">
HttpRequest feedRequest = new HttpRequest();
feedRequest.setEndpoint('callout:Salesforce_Org/services/data/v32.0');
feedRequest.setMethod('GET');
Http http = new Http();
HTTPResponse feedResponse = http.send(feedRequest);
while (feedResponse.getStatusCode() == 302) {
                feedRequest.setEndpoint(feedResponse.getHeader('Location'));
                feedResponse = new Http().send(feedRequest);
            }
System.debug(feedResponse.getBody());
</pre></pre>
<p>As you can see in above code, we are not supplying any credentials. syntax to use Named Credential is like</p>
<pre><pre class="brush: java; title: ; notranslate">
callout:&#x5B;Named Credential Name]/&#x5B;Callout URL of other Salesforce Org]
</pre></pre>
<p>You can consume standard as well custom web-service of other org using this approach.</p>


<h2 class="wp-block-heading">Error : System.HttpResponse[Status=Moved Temporarily, StatusCode=302]</h2>



<p>Sometime you may get above error in <strong>Named Credential</strong> and that&#8217;s why in above code I have added below extra block </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; title: ; notranslate">
while (feedResponse.getStatusCode() == 302) { feedRequest.setEndpoint(feedResponse.getHeader('Location')); feedResponse = new Http().send(feedRequest); }
</pre></div>]]></content:encoded>
					
					<wfw:commentRss>https://www.jitendrazaa.com/blog/salesforce/salesforce-to-salesforce-integration-using-named-credentials-in-just-5-lines-of-code/feed/</wfw:commentRss>
			<slash:comments>23</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4532</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-06-02 06:54:13 by W3 Total Cache
-->