{"id":5539,"date":"2018-12-07T18:09:59","date_gmt":"2018-12-07T18:09:59","guid":{"rendered":"https:\/\/zappysys.com\/blog\/?p=5539"},"modified":"2019-09-17T15:56:21","modified_gmt":"2019-09-17T15:56:21","slug":"loading-data-salesforce-using-ssis-bulk-insert-update-delete","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/","title":{"rendered":"Load data in Salesforce using SSIS  \u2013 Insert, Upsert, Delete, Update"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1764 alignleft\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\" alt=\"\" width=\"158\" height=\"158\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png 180w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180-150x150.png 150w\" sizes=\"(max-width: 158px) 100vw, 158px\" \/><\/a>In this article we&#8217;re going to focus on load data in Salesforce using SSIS (Bulk Insert, Update, Delete and Upsert). If you like to know how to read from Salesforce then refer to <a href=\"https:\/\/zappysys.com\/blog\/export-data-from-salesforce-to-sql-server-using-ssis\/\">previous post here<\/a>. For Demo purpose we will use AdventuresWorks sample database as our source but you can use your own Database for testing.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<div class=\"content_block\" id=\"custom_post_widget-2523\"><h2><span id=\"Prerequisites\">Prerequisites<\/span><\/h2>\r\nBefore we perform the steps listed in this article, you will need to make sure the following prerequisites are met:\r\n<ol style=\"margin-left: 1.5em;\">\r\n \t<li><abbr title=\"SQL Server Integration Services\">SSIS<\/abbr> designer installed.\u00a0Sometimes it is referred to as <abbr title=\"Business Intelligence Development Studio\">BIDS<\/abbr> or <abbr title=\"SQL Server Data Tools\">SSDT<\/abbr> (<a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/ssdt\/download-sql-server-data-tools-ssdt\" target=\"_blank\" rel=\"noopener\">download it from the Microsoft site<\/a>).<\/li>\r\n \t<li>Basic knowledge of SSIS package\u00a0development using\u00a0<em>Microsoft SQL Server Integration Services<\/em>.<\/li>\r\n \t<li>Make sure\u00a0<span style=\"text-decoration: underline;\"><a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">ZappySys SSIS PowerPack<\/a><\/span>\u00a0is installed (<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/download\/\" target=\"_blank\" rel=\"noopener\">download it<\/a>, if you haven't already).<\/li>\r\n \t<li>(<em>Optional step<\/em>)<em>.<\/em>\u00a0<a href=\"https:\/\/zappysys.zendesk.com\/hc\/en-us\/articles\/360035974593\" target=\"_blank\" rel=\"noopener\">Read this article<\/a>, if you are planning to deploy packages to a server and schedule their execution later.<\/li>\r\n<\/ol><\/div>\n<h2>Salesforce developer account<\/h2>\n<p>To develop ETLs in\u00a0Salesforce using SSIS you&#8217;ll need a Salesforce developer account. If you don&#8217;t have one, don&#8217;t worry, you can create a limited version FREE developer account. Click here to Sign up for <a href=\"https:\/\/developer.salesforce.com\/signup\" target=\"_blank\" rel=\"noopener\">FREE developer<\/a> account.<\/p>\n<h2>Video Tutorial \u2013 Salesforce Insert, Upsert, Delete, Update<\/h2>\n<div class=\"lyte-wrapper fourthree\" style=\"width:480px;max-width:100%;margin:5px auto;\"><div class=\"lyMe\" id=\"WYL_ulQLMIaSdJQ\"><div id=\"lyte_ulQLMIaSdJQ\" data-src=\"https:\/\/zappysys.com\/blog\/wp-content\/plugins\/wp-youtube-lyte\/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FulQLMIaSdJQ%2Fhqdefault.jpg\" class=\"pL\"><div class=\"tC\"><div class=\"tT\"><\/div><\/div><div class=\"play\"><\/div><div class=\"ctrl\"><div class=\"Lctrl\"><\/div><div class=\"Rctrl\"><\/div><\/div><\/div><noscript><a href=\"https:\/\/youtu.be\/ulQLMIaSdJQ\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/plugins\/wp-youtube-lyte\/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FulQLMIaSdJQ%2F0.jpg\" alt=\"\" width=\"480\" height=\"340\" \/><br \/>Watch this video on YouTube<\/a><\/noscript><\/div><\/div><div class=\"lL\" style=\"max-width:100%;width:480px;margin:5px auto;\"><\/div><\/p>\n<p>&nbsp;<\/p>\n<h2>Getting Started<\/h2>\n<p>In this section, we will see how to perform bulk insert, update delete and upsert operations using\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-salesforce-destination-connector\/\" target=\"_blank\" rel=\"noopener\">ZS Salesforce Destination<\/a><\/p>\n<h3>Configure Salesforce Connection<\/h3>\n<p>First, we&#8217;ll need setup a connection to read or write Salesforce data is to make sure we have a working connection in SSIS.<\/p>\n<ol>\n<li>Create new or open existing SSIS Project in Visual Studio.<\/li>\n<li>Open SSIS Package and Go to SSIS designer.<\/li>\n<li>Right click in the connection manager panel and click <strong>New connection<\/strong>\n<div id=\"attachment_3560\" style=\"width: 756px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3560\" class=\"wp-image-3560 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/create-a-new-connection.jpg\" alt=\"SSIS create a new connection CRM Dynamics\" width=\"746\" height=\"403\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/create-a-new-connection.jpg 746w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/create-a-new-connection-300x162.jpg 300w\" sizes=\"(max-width: 746px) 100vw, 746px\" \/><p id=\"caption-attachment-3560\" class=\"wp-caption-text\">Create a new SSIS Salesforce Connection<\/p><\/div><\/li>\n<li>In the connection type selection, Select the <strong>ZS-SALESFORCE\u00a0<\/strong>Connection.<\/li>\n<li>We&#8217;ll use this information: Username, Password, Security Token (<em>click the link learn how to obtain<\/em> <a href=\"https:\/\/zappysys.zendesk.com\/hc\/en-us\/articles\/360000220714-How-to-obtain-alesforce-Security-Token\" target=\"_blank\" rel=\"noopener\">Salesforce Security Token<\/a>\u00a0)<\/li>\n<li>Click OK\u00a0to add the connection.\n<div id=\"attachment_5979\" style=\"width: 682px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5979\" class=\"size-full wp-image-5979\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-salesforce-connection.png\" alt=\"Salesforce using SSIS, Salesforce connection\" width=\"672\" height=\"531\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-salesforce-connection.png 672w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-salesforce-connection-300x237.png 300w\" sizes=\"(max-width: 672px) 100vw, 672px\" \/><p id=\"caption-attachment-5979\" class=\"wp-caption-text\">Salesforce using SSIS, Salesforce connection<\/p><\/div><\/li>\n<li>Save all changes<\/li>\n<\/ol>\n<h2>Bulk Insert &#8211; Import data into Salesforce using SSIS<\/h2>\n<p>Let&#8217;s start with the a bulk insert in Salesforce using SSIS. On this section, we&#8217;re going to generate retrieve data from and OLEDB Source and proceed to Insert the records into Salesforce using\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-salesforce-destination-connector\/\" target=\"_blank\" rel=\"noopener\">ZS Salesforce Destination<\/a>.<\/p>\n<h3>Configure SQL Server Source (OLEDB)<\/h3>\n<ol>\n<li>Open SSIS Package and drag Data Flow task from Control Flow SSIS Toolbox\n<div id=\"attachment_8028\" style=\"width: 470px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8028\" class=\"size-full wp-image-8028\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/02\/drag-and-drop-data-flow-task.png\" alt=\"\" width=\"460\" height=\"155\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/02\/drag-and-drop-data-flow-task.png 460w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/02\/drag-and-drop-data-flow-task-300x101.png 300w\" sizes=\"(max-width: 460px) 100vw, 460px\" \/><p id=\"caption-attachment-8028\" class=\"wp-caption-text\">Dragging and dropping Data Flow Task into Control Flow<\/p><\/div><\/li>\n<li>Go to data flow designer. Drag and drop an OLE DB Source<\/li>\n<li>Open the OLE DB Source and configure as follow:\n<div id=\"attachment_5964\" style=\"width: 512px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5964\" class=\"size-full wp-image-5964\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-source-oledb-1.png\" alt=\"salesforce-using-ssis-insert-source-oledb\" width=\"502\" height=\"399\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-source-oledb-1.png 502w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-source-oledb-1-300x238.png 300w\" sizes=\"(max-width: 502px) 100vw, 502px\" \/><p id=\"caption-attachment-5964\" class=\"wp-caption-text\">Configure SQL Server Source<\/p><\/div><\/li>\n<\/ol>\n<h3>Configure SSIS Salesforce Destination for Bulk Insert<\/h3>\n<p>Once SQL Server source is configure. Now let&#8217;s configure Salesforce Destination for Bulk Insert like below.<\/p>\n<ol>\n<li>Drag and drop\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-salesforce-destination-connector\/\" target=\"_blank\" rel=\"noopener\">ZS Salesforce Destination<\/a><\/li>\n<li>Open the destination component<\/li>\n<li>Connection Manager\n<div id=\"attachment_5972\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5972\" class=\"size-full wp-image-5972\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager.png\" alt=\"\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-5972\" class=\"wp-caption-text\">Salesforce using SSIS, upsert destination connection manager<\/p><\/div><\/li>\n<li>Component Properties\n<div id=\"attachment_5966\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5966\" class=\"size-full wp-image-5966\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-properties-1.png\" alt=\"salesforce-using-ssis-insert-properties\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-properties-1.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-properties-1-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-5966\" class=\"wp-caption-text\">salesforce-using-ssis-insert-properties<\/p><\/div><\/li>\n<li>Column Mappings\n<div id=\"attachment_5967\" style=\"width: 762px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5967\" class=\"size-full wp-image-5967\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-mapping.png\" alt=\"salesforce-using-ssis-insert-mapping\" width=\"752\" height=\"379\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-mapping.png 752w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-mapping-300x151.png 300w\" sizes=\"(max-width: 752px) 100vw, 752px\" \/><p id=\"caption-attachment-5967\" class=\"wp-caption-text\">salesforce-using-ssis-insert-mapping<\/p><\/div><\/li>\n<li>Click OK<\/li>\n<li>Drag and drop two\u00a0<a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/index.htm#page=trash-destination.htm\" target=\"_blank\" rel=\"noopener\">Trash Destination<\/a>\u00a0components<\/li>\n<li>Connect ZS Salesforce Destination for:\u00a0New records Output and Error Output<\/li>\n<li>Right click on the joining arrows and enable data viewers on all previous connections<\/li>\n<li>Save all changes<\/li>\n<li>Right click in the data flow designer, click Execute Task\n<div id=\"attachment_5968\" style=\"width: 864px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5968\" class=\"size-full wp-image-5968\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-results.png\" alt=\"salesforce-using-ssis-insert-results\" width=\"854\" height=\"280\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-results.png 854w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-results-300x98.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-insert-results-768x252.png 768w\" sizes=\"(max-width: 854px) 100vw, 854px\" \/><p id=\"caption-attachment-5968\" class=\"wp-caption-text\">salesforce-using-ssis-insert-results<\/p><\/div><\/li>\n<\/ol>\n<h2>Bulk Update &#8211; Modify data in Salesforce using SSIS<\/h2>\n<p>In this section we&#8217;re going to perform a bulk update on Salesforce using SSIS. We&#8217;re going to list some information from our source, list all our Salesforce Account data, merge it and only update the data we match. In below example what we will do is Find out matching records in Salesforce and our Source System based on some External Key field (e.g. AccountNumber in our case). And then obtain Salesforce Record <strong>Id<\/strong> for matching AccountNumber and use it to Update target record.<\/p>\n<div class=\"su-note\"  style=\"border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#fff8b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">If you are storing Salesforce Id fields part of your Source System then you don&#8217;t need to use Merge Transform to lookup by External ID field (e.g. AccountNumber in our case). Simply Attach Source with Salesforce Destination and map Id field along with other fields you like to Update.\u00a0<\/div><\/div>\n<h3>Configure SQL Server Source (OLEDB Source)<\/h3>\n<ol>\n<li>Open SSIS Package and drag Data Flow task from Control Flow SSIS Toolbox<\/li>\n<li>Go to data flow designer. Drag and drop OLE DB Source<\/li>\n<li>Open the OLE DB Source and configure\n<div id=\"attachment_5981\" style=\"width: 486px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5981\" class=\"size-full wp-image-5981\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-oledb-source.png\" alt=\"Salesforce using SSIS, Update OLEDB source\" width=\"476\" height=\"402\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-oledb-source.png 476w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-oledb-source-300x253.png 300w\" sizes=\"(max-width: 476px) 100vw, 476px\" \/><p id=\"caption-attachment-5981\" class=\"wp-caption-text\">Salesforce using SSIS, Update OLEDB source<\/p><\/div><\/li>\n<\/ol>\n<h3>Configure SSIS Salesforce Source<\/h3>\n<ol>\n<li>Now lets Drag and drop <strong>ZS Salesforce Source<\/strong><\/li>\n<li>Open the ZS Salesforce and configure. You can select <strong>Query Mode<\/strong> and enter query like this because we only care about two fields for now. Use query mode whenever possible because it transfers less data.\n<pre class=\"lang:tsql decode:true\">select Id,AccountNumber from account<\/pre>\n<div id=\"attachment_5982\" style=\"width: 896px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5982\" class=\"size-full wp-image-5982\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-salesforce-source.png\" alt=\"Salesforce using SSIS, Update Salesforce source\" width=\"886\" height=\"508\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-salesforce-source.png 886w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-salesforce-source-300x172.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-salesforce-source-768x440.png 768w\" sizes=\"(max-width: 886px) 100vw, 886px\" \/><p id=\"caption-attachment-5982\" class=\"wp-caption-text\">Salesforce using SSIS, Update Salesforce source<\/p><\/div><\/li>\n<\/ol>\n<h3>Configure Sort Transforms<\/h3>\n<p>Now lets sort both previous datasets using Sort Transforms. This is needed to JOIN dataset using Merge Transform (See next section)<\/p>\n<ol>\n<li>Drag and drop: 2 Sort and 1 Merge Join components<\/li>\n<li>Connect the OLE DB Source to the <strong>first<\/strong> Sort component, and configure\n<div id=\"attachment_5983\" style=\"width: 719px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5983\" class=\"size-full wp-image-5983\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-oledb-sort.png\" alt=\"Salesforce using SSIS, Update OLEBD sort\" width=\"709\" height=\"330\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-oledb-sort.png 709w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-oledb-sort-300x140.png 300w\" sizes=\"(max-width: 709px) 100vw, 709px\" \/><p id=\"caption-attachment-5983\" class=\"wp-caption-text\">Salesforce using SSIS, Update OLEBD sort<\/p><\/div><\/li>\n<li>Connect the Salesforce Source to the <strong>second<\/strong> Sort component, and configure\n<div id=\"attachment_5984\" style=\"width: 720px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5984\" class=\"size-full wp-image-5984\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-salesforce-sort.png\" alt=\"Salesforce using SSIS,update Salesforce sort\" width=\"710\" height=\"332\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-salesforce-sort.png 710w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-salesforce-sort-300x140.png 300w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><p id=\"caption-attachment-5984\" class=\"wp-caption-text\">Salesforce using SSIS,update Salesforce sort<\/p><\/div><\/li>\n<\/ol>\n<h3>Configure Merge Transforms<\/h3>\n<p>No next step would be to join previous datasets based on AccountNumber and then we will output Id from Salesforce which is needed for later step.<\/p>\n<ol>\n<li>Drag and Drop Merge Transform from SSIS Toolbox like below.\n<div id=\"attachment_6267\" style=\"width: 448px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/ssis-merge-join-transform-toolbox-item.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6267\" class=\"size-full wp-image-6267\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/ssis-merge-join-transform-toolbox-item.png\" alt=\"Drag SSIS Merge Join Transform from Toolbox\" width=\"438\" height=\"340\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/ssis-merge-join-transform-toolbox-item.png 438w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/ssis-merge-join-transform-toolbox-item-300x233.png 300w\" sizes=\"(max-width: 438px) 100vw, 438px\" \/><\/a><p id=\"caption-attachment-6267\" class=\"wp-caption-text\">Drag SSIS Merge Join Transform from Toolbox<\/p><\/div><\/li>\n<li>Connect Sorts to the Merge component (<em>sort from OLEDB Source most be on the left<\/em>)<\/li>\n<li>Configure the Merge component\n<div id=\"attachment_5985\" style=\"width: 771px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5985\" class=\"size-full wp-image-5985\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-merge.png\" alt=\"Salesforce using SSIS, update merge\" width=\"761\" height=\"714\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-merge.png 761w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-merge-300x281.png 300w\" sizes=\"(max-width: 761px) 100vw, 761px\" \/><p id=\"caption-attachment-5985\" class=\"wp-caption-text\">Salesforce using SSIS, update merge<\/p><\/div><\/li>\n<\/ol>\n<h3>Configure SSIS Salesforce Destination for Bulk Update<\/h3>\n<ol>\n<li>Drag and drop\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-salesforce-destination-connector\/\" target=\"_blank\" rel=\"noopener\">ZS Salesforce Destination<\/a><\/li>\n<li>Open the ZS Salesforce Destination and configure<\/li>\n<li>Connection Manager tab\n<div id=\"attachment_5972\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5972\" class=\"wp-image-5972 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager.png\" alt=\"\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-5972\" class=\"wp-caption-text\">Salesforce using SSIS, update destination connection manager<\/p><\/div><\/li>\n<li>Component Properties tab\n<div id=\"attachment_5986\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5986\" class=\"size-full wp-image-5986\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-destination-component-properties.png\" alt=\"Salesforce using SSIS, update destination component properties\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-destination-component-properties.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-destination-component-properties-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-5986\" class=\"wp-caption-text\">Salesforce using SSIS, update destination component properties<\/p><\/div><\/li>\n<li><div class=\"su-note\"  style=\"border-color:#e5ae9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#ffc8b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">For Update purposes, Salesforce Destinations needs to map the ID from the Account object. For more information, please use the following link <a href=\"https:\/\/zappysys.zendesk.com\/hc\/en-us\/articles\/360008228693-SSIS-Salesforce-Destination-Update-Insert-with-Lookup-Fields-Text-to-Id-\">SSIS Salesforce Destination &#8211; Update \/ Insert with Lookup Fields (Text to Id)<\/a> <\/div><\/div><\/li>\n<li>Column Mapping\n<div id=\"attachment_5987\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5987\" class=\"size-full wp-image-5987\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-destination-column-mappings.png\" alt=\"salesforce using SSIS, update destination column mappings\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-destination-column-mappings.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-destination-column-mappings-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-5987\" class=\"wp-caption-text\">salesforce using SSIS, update destination column mappings<\/p><\/div><\/li>\n<li>Click OK<\/li>\n<li>Drag and drop three <a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/index.htm#page=trash-destination.htm\" target=\"_blank\" rel=\"noopener\">Trash Destination<\/a>\u00a0components<\/li>\n<li>Create two connections from ZS Salesforce Destination as follows: <strong>Update records and\u00a0Error Output<\/strong><\/li>\n<li>Right click on the joining arrows and enable data viewers on all previous connections<\/li>\n<li>Save all changes<\/li>\n<li>Right click in the data flow designer, click Execute Task\n<div id=\"attachment_5988\" style=\"width: 951px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5988\" class=\"size-full wp-image-5988\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-results.png\" alt=\"Salesforce using SSIS, update results\" width=\"941\" height=\"485\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-results.png 941w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-results-300x155.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-results-768x396.png 768w\" sizes=\"(max-width: 941px) 100vw, 941px\" \/><p id=\"caption-attachment-5988\" class=\"wp-caption-text\">Salesforce using SSIS, update results<\/p><\/div><\/li>\n<\/ol>\n<h2>Bulk Upsert &#8211; Import\/Modify data in Salesforce using SSIS<\/h2>\n<p>In this section we&#8217;re going to perform a bulk upsert of 25 record&#8217;s on Salesforce using SSIS. Upsert is an operation that combines both insert an update.<\/p>\n<p><a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-salesforce-destination-connector\/\" target=\"_blank\" rel=\"noopener\">ZS Salesforce Destination<\/a>\u00a0allows Upserts operations. You&#8217;ll need to select the Upsert as an action and indicate the Key value for the comparison.<\/p>\n<h3>Creating\u00a0External ID field for\u00a0Salesforce Upsert<\/h3>\n<p>For the Upsert action we have to use an Upsert Keyfield (i.e. External ID field).\u00a0For more information read here\u00a0<a href=\"https:\/\/help.salesforce.com\/articleView?id=000005395&amp;language=en_US&amp;type=1\">External ID<\/a>.\u00a0Follow these steps to add a External ID field on Salesforce Accounts object:<\/p>\n<ol>\n<li>Login to your Salesforce account.<\/li>\n<li>Click on the configuration icon and select &#8220;Service Setup&#8221;\n<div id=\"attachment_6090\" style=\"width: 382px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6090\" class=\"wp-image-6090\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-upsert-keyfield-1.png\" alt=\"salesforce-using-ssis-salesforce-edit-object\" width=\"372\" height=\"404\" \/><p id=\"caption-attachment-6090\" class=\"wp-caption-text\">Salesforce using SSIS, Salesforce edit object<\/p><\/div><\/li>\n<li>On the new Tab, look for USER INTERFACE -&gt; Objects And Fields -&gt; Object Manager<\/li>\n<li>Select Account object<\/li>\n<li>Select Fields &amp; Relationships<\/li>\n<li>Click New, to create a field\n<div id=\"attachment_6091\" style=\"width: 683px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6091\" class=\"wp-image-6091 \" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-salesforce-fieldsandconfiguration.png\" alt=\"salesforce-using-ssis-salesforce-fieldsandconfiguration\" width=\"673\" height=\"241\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-salesforce-fieldsandconfiguration.png 627w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-salesforce-fieldsandconfiguration-300x108.png 300w\" sizes=\"(max-width: 673px) 100vw, 673px\" \/><p id=\"caption-attachment-6091\" class=\"wp-caption-text\">Salesforce using SSIS, Salesforce Fields &amp; Configuration<\/p><\/div><\/li>\n<li>For the field type, choose Number and click next<\/li>\n<li>For Field Label and Field Name, type\u00a0TableID. Check Unique and External ID boxes and click next<\/li>\n<li>Leave field-level security as default, click next<\/li>\n<li>Leave page layouts as default, click next.<\/li>\n<li>After finishing the configuration, the field should appear in the Fields &amp; Relationships page<\/li>\n<\/ol>\n<h3>Configure SQL Server Source<\/h3>\n<ol>\n<li>Open SSIS Package and drag Data Flow task from Control Flow SSIS Toolbox\n<div id=\"attachment_8028\" style=\"width: 470px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8028\" class=\"size-full wp-image-8028\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/02\/drag-and-drop-data-flow-task.png\" alt=\"\" width=\"460\" height=\"155\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/02\/drag-and-drop-data-flow-task.png 460w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/02\/drag-and-drop-data-flow-task-300x101.png 300w\" sizes=\"(max-width: 460px) 100vw, 460px\" \/><p id=\"caption-attachment-8028\" class=\"wp-caption-text\">Dragging and dropping Data Flow Task into Control Flow<\/p><\/div><\/li>\n<li>Go to data flow designer. Drag and drop OLE DB Source<\/li>\n<li>Open the OLE DEB Source and configure as follow\n<div id=\"attachment_5971\" style=\"width: 489px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5971\" class=\"size-full wp-image-5971\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-oledb-source.png\" alt=\"Salesforce using SSIS, Upsert OLE DB source\" width=\"479\" height=\"408\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-oledb-source.png 479w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-oledb-source-300x256.png 300w\" sizes=\"(max-width: 479px) 100vw, 479px\" \/><p id=\"caption-attachment-5971\" class=\"wp-caption-text\">Salesforce using SSIS, Upsert OLE DB source<\/p><\/div><\/li>\n<\/ol>\n<h3>Configure SSIS Salesforce Destination for Upsert<\/h3>\n<ol>\n<li>Drag and drop\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-salesforce-destination-connector\/\" target=\"_blank\" rel=\"noopener\">ZS Salesforce Destination<\/a><\/li>\n<li>Open the ZS Salesforce and configure<\/li>\n<li>Connection Manager\n<div id=\"attachment_5972\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5972\" class=\"size-full wp-image-5972\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager.png\" alt=\"\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-5972\" class=\"wp-caption-text\">Salesforce using SSIS, upsert destination connection manager<\/p><\/div><\/li>\n<li>Component Properties\n<div id=\"attachment_5973\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5973\" class=\"size-full wp-image-5973\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-component-properties.png\" alt=\"Salesforce using SSIS, upsert destination component properties\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-component-properties.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-component-properties-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-5973\" class=\"wp-caption-text\">Salesforce using SSIS, upsert destination component properties<\/p><\/div><\/li>\n<li>Column Mapping\n<div id=\"attachment_5974\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5974\" class=\"size-full wp-image-5974\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-column-mapping.png\" alt=\"salesforce using SSIS, upsert destination column mapping\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-column-mapping.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-column-mapping-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-5974\" class=\"wp-caption-text\">salesforce using SSIS, upsert destination column mapping<\/p><\/div><\/li>\n<li>Click OK<\/li>\n<li>Drag and drop three\u00a0<a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/index.htm#page=trash-destination.htm\" target=\"_blank\" rel=\"noopener\">Trash Destination<\/a>\u00a0components<\/li>\n<\/ol>\n<h3>Configure Error Handling, Outputs for New, Updated, Failed Records<\/h3>\n<p>If you like to capture which rows are inserted and which rows are updated then you can drag Blue arrows coming from Salesforce destination component. You can also connect Red arrow to detect failed records and reason for error.<\/p>\n<ol>\n<li>Connect ZS Salesforce Destination for:\u00a0New records Output, Updated Records Output and Error Output<\/li>\n<li>Right click on the joining arrows and enable data viewers on all previous connections<\/li>\n<li>Right click in the data flow designer, click Execute Task\n<div id=\"attachment_5975\" style=\"width: 1131px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5975\" class=\"size-full wp-image-5975\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-results.png\" alt=\"Salesforce using SSIS, upsert results\" width=\"1121\" height=\"485\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-results.png 1121w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-results-300x130.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-results-768x332.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-results-1024x443.png 1024w\" sizes=\"(max-width: 1121px) 100vw, 1121px\" \/><p id=\"caption-attachment-5975\" class=\"wp-caption-text\">Salesforce using SSIS, upsert results<\/p><\/div><\/li>\n<\/ol>\n<h2>Bulk Delete &#8211; Delete data in Salesforce using SSIS<\/h2>\n<p>In this section, we&#8217;re going to perform a bulk delete on Salesforce using SSIS\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-salesforce-destination-connector\/\" target=\"_blank\" rel=\"noopener\">ZS Salesforce Destination<\/a>. In this example we&#8217;re going to list all our source customers (from previous sections), merge it wit the Salesforce Account object, retrieve the Salesforce Account Id and delete the rows. Delete Operation also requires to map Id field so we will use similar technique we used for Update.<\/p>\n<h3>Configure SQL Server Source (OLEDB Source)<\/h3>\n<ol>\n<li>Go to data flow designer. Drag and drop OLE DB Source<\/li>\n<li>Open the OLE DEB Source and configure as follow\n<div id=\"attachment_6020\" style=\"width: 516px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6020\" class=\"size-full wp-image-6020\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-oledb-source.png\" alt=\"\" width=\"506\" height=\"406\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-oledb-source.png 506w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-oledb-source-300x241.png 300w\" sizes=\"(max-width: 506px) 100vw, 506px\" \/><p id=\"caption-attachment-6020\" class=\"wp-caption-text\">salesforce-using-ssis-delete-oledb-source<\/p><\/div><\/li>\n<\/ol>\n<h3>Configure SSIS Salesforce Source<\/h3>\n<ol>\n<li>Drag and drop <strong>ZS Salesforce Source<\/strong><\/li>\n<li>Open the ZS Salesforce and configure.<\/li>\n<li>You can select <strong>Query Mode<\/strong> and enter query like this because we only care about two fields for now. Use query mode whenever possible because it transfers less data.\n<pre class=\"lang:tsql decode:true\">select Id,AccountNumber from account<\/pre>\n<\/li>\n<\/ol>\n<h3>Configure Sort Transforms<\/h3>\n<p>Now lets sort both previous datasets using Sort Transforms. This is needed to JOIN dataset using Merge Transform (See next section)<\/p>\n<ol>\n<li>Drag and drop: 2 Sort and 1 Merge Join components<\/li>\n<li>Connect the OLE DB Source to the <strong>first<\/strong> Sort component, and configure\n<div id=\"attachment_5983\" style=\"width: 719px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5983\" class=\"size-full wp-image-5983\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-oledb-sort.png\" alt=\"Salesforce using SSIS, Update OLEBD sort\" width=\"709\" height=\"330\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-oledb-sort.png 709w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-oledb-sort-300x140.png 300w\" sizes=\"(max-width: 709px) 100vw, 709px\" \/><p id=\"caption-attachment-5983\" class=\"wp-caption-text\">Salesforce using SSIS, Update OLEBD sort<\/p><\/div><\/li>\n<li>Connect the Salesforce Source to the <strong>second<\/strong> Sort component, and configure\n<div id=\"attachment_5984\" style=\"width: 720px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5984\" class=\"size-full wp-image-5984\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-salesforce-sort.png\" alt=\"Salesforce using SSIS,update Salesforce sort\" width=\"710\" height=\"332\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-salesforce-sort.png 710w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-update-salesforce-sort-300x140.png 300w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><p id=\"caption-attachment-5984\" class=\"wp-caption-text\">Salesforce using SSIS,update Salesforce sort<\/p><\/div><\/li>\n<\/ol>\n<h3>Configure Merge Transforms<\/h3>\n<p>No next step would be to join previous datasets based on AccountNumber and then we will output Id from Salesforce which is needed for later step.<\/p>\n<ol>\n<li>Now drag Merge Transform from SSIS toolbox\n<div id=\"attachment_6267\" style=\"width: 448px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/ssis-merge-join-transform-toolbox-item.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6267\" class=\"size-full wp-image-6267\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/ssis-merge-join-transform-toolbox-item.png\" alt=\"Drag SSIS Merge Join Transform from Toolbox\" width=\"438\" height=\"340\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/ssis-merge-join-transform-toolbox-item.png 438w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/ssis-merge-join-transform-toolbox-item-300x233.png 300w\" sizes=\"(max-width: 438px) 100vw, 438px\" \/><\/a><p id=\"caption-attachment-6267\" class=\"wp-caption-text\">Drag SSIS Merge Join Transform from Toolbox<\/p><\/div><\/li>\n<li>Connect both Sort to the Merge component (<em>sort from OLEDB Source most be on the left<\/em>)<\/li>\n<li>Configure the Merge component\n<div id=\"attachment_6021\" style=\"width: 749px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6021\" class=\"size-full wp-image-6021\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-merge.png\" alt=\"\" width=\"739\" height=\"375\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-merge.png 739w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-merge-300x152.png 300w\" sizes=\"(max-width: 739px) 100vw, 739px\" \/><p id=\"caption-attachment-6021\" class=\"wp-caption-text\">salesforce-using-ssis-delete-merge<\/p><\/div><\/li>\n<\/ol>\n<h3>Configure SSIS Salesforce Destination for Bulk Delete<\/h3>\n<ol>\n<li>Drag and drop\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-salesforce-destination-connector\/\" target=\"_blank\" rel=\"noopener\">ZS Salesforce Destination<\/a><\/li>\n<li>Connect the Merge and\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-salesforce-destination-connector\/\" target=\"_blank\" rel=\"noopener\">ZS Salesforce Destination<\/a> components. Right click the arrow and enable data viewer<\/li>\n<li>Connection Manager tab\n<div id=\"attachment_5972\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5972\" class=\"wp-image-5972 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager.png\" alt=\"\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-upsert-destination-connection-manager-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-5972\" class=\"wp-caption-text\">Salesforce using SSIS, delete destination connection manager<\/p><\/div><\/li>\n<li>Component Properties tab\n<div id=\"attachment_6022\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6022\" class=\"wp-image-6022 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-destination-component-properties.png\" alt=\"\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-destination-component-properties.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-destination-component-properties-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-6022\" class=\"wp-caption-text\">Salesforce using SSIS, delete destination component properties<\/p><\/div><\/li>\n<li><div class=\"su-note\"  style=\"border-color:#e5ae9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#ffc8b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">For Delete purposes, Salesforce Destinations needs to map the ID from the Account object.For more information, please use the following link <a href=\"https:\/\/zappysys.zendesk.com\/hc\/en-us\/articles\/360008228693-SSIS-Salesforce-Destination-Update-Insert-with-Lookup-Fields-Text-to-Id-\">SSIS Salesforce Destination &#8211; Update \/ Insert with Lookup Fields (Text to Id)<\/a>\u00a0<\/div><\/div><\/li>\n<li>Column Mapping\n<div id=\"attachment_6025\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6025\" class=\"size-full wp-image-6025\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-destination-column-mapping.png\" alt=\"\" width=\"758\" height=\"563\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-destination-column-mapping.png 758w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-destination-column-mapping-300x223.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><p id=\"caption-attachment-6025\" class=\"wp-caption-text\">salesforce-using-ssis-delete-destination-column-mapping<\/p><\/div><\/li>\n<li>Click OK<\/li>\n<li>Save all changes<\/li>\n<li>Right click in the data flow designer, click Execute Task\n<div id=\"attachment_6023\" style=\"width: 908px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6023\" class=\"size-full wp-image-6023\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-results.png\" alt=\"\" width=\"898\" height=\"487\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-results.png 898w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-results-300x163.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/salesforce-using-ssis-delete-results-768x416.png 768w\" sizes=\"(max-width: 898px) 100vw, 898px\" \/><p id=\"caption-attachment-6023\" class=\"wp-caption-text\">salesforce-using-ssis-delete-results<\/p><\/div><\/li>\n<\/ol>\n<h2>Error Handling<\/h2>\n<p>When working on Salesforce with SSIS, we recommend <a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/index.htm#page=trash-destination.htm\" target=\"_blank\" rel=\"noopener\">Trash Destination<\/a>\u00a0component to help debugging outputs without performing DML on destinations.<\/p>\n<p>Main benefits of usage:<\/p>\n<ol>\n<li>Enable data viewers and get live feedback of the data<\/li>\n<li>Save the results on different formats (<em>XML, JSON, plain text files<\/em>).<\/li>\n<\/ol>\n<h2>Conclusion<\/h2>\n<p>In this article, We have seen how easy it is to integrate Salesforce using SSIS. Using drag and drop connector you can perform Bulk insert, update, delete and Upsert operations.<\/p>\n<p>Download\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">ZappySys SSIS PowerPack<\/a>\u00a0to learn more about\u00a0other possible scenarios which are not discussed in this article.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this article we&#8217;re going to focus on load data in Salesforce using SSIS (Bulk Insert, Update, Delete and Upsert). If you like to know how to read from Salesforce then refer to previous post here. For Demo purpose we will use AdventuresWorks sample database as our source but you can use your own [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1764,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[439],"tags":[270,210,12,83],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update - ZappySys Blog\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update - ZappySys Blog\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ZappySys\/\" \/>\r\n<meta property=\"article:published_time\" content=\"2018-12-07T18:09:59+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2019-09-17T15:56:21+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"180\" \/>\r\n\t<meta property=\"og:image:height\" content=\"180\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/zappysys\/\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/\",\"url\":\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/\",\"name\":\"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\",\"datePublished\":\"2018-12-07T18:09:59+00:00\",\"dateModified\":\"2019-09-17T15:56:21+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\"},\"description\":\"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update - ZappySys Blog\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png\",\"width\":180,\"height\":180},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\",\"name\":\"ZappySys\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"caption\":\"ZappySys\"},\"sameAs\":[\"http:\/\/www.zappysys.com\/\",\"https:\/\/www.facebook.com\/ZappySys\/\",\"https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/\"],\"url\":\"https:\/\/zappysys.com\/blog\/author\/admin\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update | ZappySys Blog","description":"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update - ZappySys Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/","og_locale":"en_US","og_type":"article","og_title":"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update | ZappySys Blog","og_description":"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update - ZappySys Blog","og_url":"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/","og_site_name":"ZappySys Blog","article_author":"https:\/\/www.facebook.com\/ZappySys\/","article_published_time":"2018-12-07T18:09:59+00:00","article_modified_time":"2019-09-17T15:56:21+00:00","og_image":[{"width":180,"height":180,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png","type":"image\/png"}],"author":"ZappySys","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/zappysys\/","twitter_misc":{"Written by":"ZappySys","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/","url":"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/","name":"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png","datePublished":"2018-12-07T18:09:59+00:00","dateModified":"2019-09-17T15:56:21+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82"},"description":"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update - ZappySys Blog","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/09\/salesforce-logo-180x180.png","width":180,"height":180},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/loading-data-salesforce-using-ssis-bulk-insert-update-delete\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Load data in Salesforce using SSIS \u2013 Insert, Upsert, Delete, Update"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82","name":"ZappySys","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","caption":"ZappySys"},"sameAs":["http:\/\/www.zappysys.com\/","https:\/\/www.facebook.com\/ZappySys\/","https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/"],"url":"https:\/\/zappysys.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/5539"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=5539"}],"version-history":[{"count":115,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/5539\/revisions"}],"predecessor-version":[{"id":8031,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/5539\/revisions\/8031"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/1764"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=5539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=5539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=5539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}