{"id":4318,"date":"2018-07-05T19:20:32","date_gmt":"2018-07-05T19:20:32","guid":{"rendered":"https:\/\/zappysys.com\/blog\/?p=4318"},"modified":"2025-09-19T12:31:56","modified_gmt":"2025-09-19T12:31:56","slug":"load-dynamics-crm-using-ssis-insert-upsert-delete-update","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/","title":{"rendered":"Load data into Dynamics CRM using SSIS &#8211; Insert, Upsert, Delete, Update"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/dynamics-crm-365-logo-300x300.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3577 alignleft\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/dynamics-crm-365-logo-300x300.png\" alt=\"\" width=\"104\" height=\"94\" \/><\/a>In our previous article, we talked about\u00a0how to <a href=\"https:\/\/zappysys.com\/blog\/ssis-dynamics-crm-read-import-crm-365-onpremises\/\" target=\"_blank\" rel=\"noopener\">read from Dynamics CRM \/ Dataverse (Dynamics 365 \/ On-Premises CRM \/ PowerApp)<\/a>. Now let&#8217;s look at how to Load data into Dynamics CRM \/ Dataverse (Dynamics 365 \/ On-Premises CRM \/ PowerApp) using SSIS. We will see a\u00a0few important aspects of loading data into Dynamics CRM \/ Dataverse Online (i.e. Dynamics 365) and On-premises\u00a0\/ IFD (Internet facing hosted instance).<\/p>\n<p>We will show you how to use <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-dynamics-crm-destination-connector\/\" target=\"_blank\" rel=\"noopener\">SSIS Dynamics CRM Destination<\/a> connector for Bulk Insert, Update, Delete and Upsert Operations. This article uses Dynamics 365 Online for CRM Integration Examples but concepts are same for other types of installation (e.g. IFD or On-Premises)<\/p>\n<h2>Requirements<\/h2>\n<ol>\n<li>Make sure you have SSIS Designer installed (i.e. <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/ssdt\/download-sql-server-data-tools-ssdt?view=sql-server-2017\" target=\"_blank\" rel=\"noopener\">SSDT-BI<\/a>)<\/li>\n<li>Download and Installed <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">ZappySys SSIS PowerPack<\/a>\u00a0which includes an SSIS Dynamics CRM Connectors.<\/li>\n<li>Finally, make sure you have Microsoft Dynamics CRM \/ Dataverse credentials handy.<\/li>\n<\/ol>\n<p>That&#8217;s it. So let&#8217;s get started.<\/p>\n<h2>Video Tutorial &#8211; CRM Insert, Upsert, Delete, Update<\/h2>\n<div class=\"lyte-wrapper fourthree\" style=\"width:480px;max-width:100%;margin:5px auto;\"><div class=\"lyMe qsa_\\&amp;showinfo\\=0\" id=\"WYL_fBbRzTcd3fk\"><div id=\"lyte_fBbRzTcd3fk\" data-src=\"https:\/\/zappysys.com\/blog\/wp-content\/plugins\/wp-youtube-lyte\/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FfBbRzTcd3fk%2Fhqdefault.jpg\" class=\"pL\"><div class=\"tC hidden\"><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\/fBbRzTcd3fk\" 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%2FfBbRzTcd3fk%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-dynamics-crm-destination-connector\/\" target=\"_blank\" rel=\"noopener\">SSIS Dynamics CRM Destination<\/a><\/p>\n<h3>Configure SSIS Dynamics CRM \/ Dataverse Connection<\/h3>\n<p>The first step to read or write\u00a0Dynamics CRM \/ Dataverse data is to make sure we have working Dynamics CRM 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>\n        Right click in the connection manager panel and click <strong>New connection<\/strong>:<\/p>\n<p>        <div id=\"attachment_3560\" style=\"width: 756px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/create-a-new-connection.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3560\" class=\"size-full wp-image-3560\" 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\" \/><\/a><p id=\"caption-attachment-3560\" class=\"wp-caption-text\">Create a new SSIS Dynamics CRM \/ Dataverse Connection<\/p><\/div>\n    <\/li>\n<li>In the connection type selection, Select the <strong>ZS-DYNAMICS-CRM<\/strong> Connection.<\/li>\n<li>\n        We will use a <strong>CRM Online<\/strong> (Office 365) connection, <strong>region<\/strong>, a <strong>username<\/strong> and a <strong>password<\/strong> and select <strong>organization<\/strong> from the dropdown as below and then click <strong>Test connection<\/strong>:<\/p>\n<p>        <div id=\"attachment_3559\" style=\"width: 775px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-credentials-zs.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3559\" class=\"size-full wp-image-3559\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-credentials-zs.jpg\" alt=\"SSIS Dynamics CRM \/ Dataverse credentials\" width=\"765\" height=\"633\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-credentials-zs.jpg 765w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-credentials-zs-300x248.jpg 300w\" sizes=\"(max-width: 765px) 100vw, 765px\" \/><\/a><p id=\"caption-attachment-3559\" class=\"wp-caption-text\">Configure Dynamics CRM \/ Dataverse Connection in SSIS<\/p><\/div>\n    <\/li>\n<\/ol>\n<h3><\/h3>\n<h3>Bulk Insert &#8211; SQL Server data Import into Dynamics CRM \/ Dataverse using SSIS<\/h3>\n<p>Now, let&#8217;s see steps to do SQL Server data Import into Dynamics CRM \/ Dataverse using SSIS. Below steps assume you already have sample data in some SQL Server Table which will be used to create new CRM accounts. You can enter few account names you like to create in the CRM.<\/p>\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 OLEDB Source<\/li>\n<li>\n        Configure OLEDB Source to read from some sample data table (e.g. dbo.Accounts). If you want to be lazy and just test quickly you can use <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-csv-file-source-flat-file-web-api\/\" target=\"_blank\" rel=\"noopener\">ZS CSV Source<\/a> (Direct Value Mode) instead of OLEDB Source.<strong>Sample Data May be like below<\/strong><\/p>\n<pre class=\"lang:default highlight:0 decode:true\">name,address1_city,address1_country\r\nFlipkart,Bengaluru,India\r\nMicrosoft,seattle,USA\r\nNokia,Espoo,Finland\r\n<\/pre>\n<p>        Once you configure Source (Connection, Table Name etc.) click OK to save it.<\/p>\n<p>        <div id=\"attachment_4351\" style=\"width: 785px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-insert-accounts-to-dynamics-crm-online-365.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4351\" class=\"size-full wp-image-4351\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-insert-accounts-to-dynamics-crm-online-365.png\" alt=\"CSV Source - Sample Accounts for CRM Insert Demo\" width=\"775\" height=\"602\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-insert-accounts-to-dynamics-crm-online-365.png 775w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-insert-accounts-to-dynamics-crm-online-365-300x233.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-insert-accounts-to-dynamics-crm-online-365-768x597.png 768w\" sizes=\"(max-width: 775px) 100vw, 775px\" \/><\/a><p id=\"caption-attachment-4351\" class=\"wp-caption-text\">CSV Source &#8211; Sample Accounts for CRM Insert Demo<\/p><\/div>\n    <\/li>\n<li>Drag and drop\u00a0\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-dynamics-crm-destination-connector\/\" target=\"_blank\" rel=\"noopener\">ZS Dynamics CRM Destination<\/a>\u00a0from the toolbox.<\/li>\n<li>Connect Source to your Destination component.<\/li>\n<li>Double click CRM destination to configure it.<\/li>\n<li>\n        On the Connection Managers tab, Select Dynamics CRM \/ Dataverse connection we created in the previous section.<\/p>\n<p>        <div id=\"attachment_4353\" style=\"width: 526px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-destination-select-connection.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4353\" class=\"size-full wp-image-4353\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-destination-select-connection.png\" alt=\"Select Connection for Dynamics CRM \/ Dataverse Destination\" width=\"516\" height=\"286\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-destination-select-connection.png 516w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-destination-select-connection-300x166.png 300w\" sizes=\"(max-width: 516px) 100vw, 516px\" \/><\/a><p id=\"caption-attachment-4353\" class=\"wp-caption-text\">Select Connection for Dynamics CRM \/ Dataverse Destination<\/p><\/div>\n    <\/li>\n<li>\n        On the Component Properties Tab Select <strong>Table Name<\/strong>.<\/p>\n<p>        <div id=\"attachment_4354\" style=\"width: 807px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-insert-records-settings.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4354\" class=\"size-full wp-image-4354\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-insert-records-settings.png\" alt=\"Select Target Table for Dynamics CRM \/ Dataverse Insert\" width=\"797\" height=\"429\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-insert-records-settings.png 797w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-insert-records-settings-300x161.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-insert-records-settings-768x413.png 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/><\/a><p id=\"caption-attachment-4354\" class=\"wp-caption-text\">Select Target Table for Dynamics CRM \/ Dataverse Insert<\/p><\/div>\n    <\/li>\n<li>\n        On the Mapping Tab map few columns (e.g.\u00a0\u00a0<strong>name<\/strong>, <strong>address1_city, <\/strong>and\u00a0<strong><strong><strong>address1_country)<\/strong><\/strong><\/strong><\/p>\n<p>        <div id=\"attachment_4355\" style=\"width: 792px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-target-column-mappings.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4355\" class=\"size-full wp-image-4355\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-target-column-mappings.png\" alt=\"Configure Target Column Mapping for CRM Data Load\" width=\"782\" height=\"519\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-target-column-mappings.png 782w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-target-column-mappings-300x199.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-target-column-mappings-768x510.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-target-column-mappings-272x182.png 272w\" sizes=\"(max-width: 782px) 100vw, 782px\" \/><\/a><p id=\"caption-attachment-4355\" class=\"wp-caption-text\">Configure Target Column Mapping for CRM Data Load<\/p><\/div>\n    <\/li>\n<li>Click OK to save CRM destination.<\/li>\n<li>\n        Right click in the data flow designer, click Execute Task<\/p>\n<p>        <div id=\"attachment_4356\" style=\"width: 519px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-loading-data-into-dynamics-crm-online.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4356\" class=\"wp-image-4356 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-loading-data-into-dynamics-crm-online.png\" alt=\"Execute SSIS Package - Import into Dynamics CRM \/ Dataverse using SSIS \" width=\"509\" height=\"224\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-loading-data-into-dynamics-crm-online.png 509w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-loading-data-into-dynamics-crm-online-300x132.png 300w\" sizes=\"(max-width: 509px) 100vw, 509px\" \/><\/a><p id=\"caption-attachment-4356\" class=\"wp-caption-text\">Execute SSIS Package &#8211; Loading Data into Dynamics CRM \/ Dataverse from CSV \/ SQL Server<\/p><\/div>\n    <\/li>\n<\/ol>\n<h3>Bulk Upsert &#8211; Update or Insert Dynamics CRM \/ Dataverse Records in SSIS<\/h3>\n<p>In the previous section we saw how to Insert New records. However sometimes you want to Upsert (Insert or Update). So if record already exists Update else Insert. In order to achieve this you have to set two additional attributes. For CRM Upsert you have to perform few changes to previous steps<\/p>\n<h4>Create Alternate Key for CRM Upsert<\/h4>\n<p>To perform Upsert operation you can map Table&#8217;s Primary Key or Alternate Key. Primary Key usually starts with table name and ends with &#8220;id&#8221; (e.g. for account table its accountid ).<\/p>\n<p>Many times Source system don&#8217;t have CRM Table Primary Key. In such case you may use Alternate Key in the mapping (JOIN Key). To use Alternate key for Upsert you have first define Alternate Key in CRM Portal. <a href=\"https:\/\/technet.microsoft.com\/library\/29e53691-0b18-4fde-a1d0-7490aa227898.aspx\" target=\"_blank\" rel=\"noopener\">Check this link for exact steps<\/a>.<\/p>\n<div id=\"attachment_4359\" style=\"width: 1056px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-365-create-alternate-key-upsert-records-update-insert-data.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4359\" class=\"size-full wp-image-4359\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-365-create-alternate-key-upsert-records-update-insert-data.png\" alt=\"Create Alternate Key for Dynamics CRM \/ Dataverse Online Table (Useful for Update or Upsert Operation)\" width=\"1046\" height=\"522\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-365-create-alternate-key-upsert-records-update-insert-data.png 1046w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-365-create-alternate-key-upsert-records-update-insert-data-300x150.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-365-create-alternate-key-upsert-records-update-insert-data-768x383.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-365-create-alternate-key-upsert-records-update-insert-data-1024x511.png 1024w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-365-create-alternate-key-upsert-records-update-insert-data-960x480.png 960w\" sizes=\"(max-width: 1046px) 100vw, 1046px\" \/><\/a><p id=\"caption-attachment-4359\" class=\"wp-caption-text\">Create Alternate Key for Dynamics CRM \/ Dataverse Online Table (Useful for Update or Upsert Operation)<\/p><\/div>\n<h4>Configure SSIS CRM Destination for Upsert<\/h4>\n<ol>\n<li>Double click CRM destination. On the Component Properties Tab, Change Operation to <strong>UpdateOrInsert<\/strong><\/li>\n<li>\n        Specify <strong>UpsertKeyField<\/strong> to either Table&#8217;s Primary Key Column Name or Alternate Key Name.<\/p>\n<p>        <div id=\"attachment_4360\" style=\"width: 932px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-upsert-update-insert-use-alternate-key-field.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4360\" class=\"size-full wp-image-4360\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-upsert-update-insert-use-alternate-key-field.png\" alt=\"Dynamics CRM \/ Dataverse Upsert using SSIS CRM Destination (Specify Alternate Key \/ Primary Key)\" width=\"922\" height=\"740\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-upsert-update-insert-use-alternate-key-field.png 922w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-upsert-update-insert-use-alternate-key-field-300x241.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-upsert-update-insert-use-alternate-key-field-768x616.png 768w\" sizes=\"(max-width: 922px) 100vw, 922px\" \/><\/a><p id=\"caption-attachment-4360\" class=\"wp-caption-text\">Dynamics CRM \/ Dataverse Upsert Records using SSIS CRM Destination (Specify Alternate Key \/ Primary Key)<\/p><\/div>\n    <\/li>\n<li>\n        Now go to Mappings tab and confirm Key field is mapped.<\/p>\n<p>        <div id=\"attachment_4361\" style=\"width: 866px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-upsert-mappings.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4361\" class=\"size-full wp-image-4361\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-upsert-mappings.png\" alt=\"Configure Dynamics CRM \/ Dataverse Mapping for Upsert in SSIS\" width=\"856\" height=\"642\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-upsert-mappings.png 856w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-upsert-mappings-300x225.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-upsert-mappings-768x576.png 768w\" sizes=\"(max-width: 856px) 100vw, 856px\" \/><\/a><p id=\"caption-attachment-4361\" class=\"wp-caption-text\">Configure Dynamics CRM \/ Dataverse Mapping for Upsert in SSIS<\/p><\/div>\n    <\/li>\n<li>Click OK and Run Package to test CRM Upsert Operation.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<div class=\"su-note\"  style=\"border-color:#e5dd9d;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:#FFF7B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">If you want to use primary key for Upsert or Update Operation and not sure correct column name then you may use <a href=\"\/\/zappysys.com\/products\/ssis-powerpack\/ssis-dynamics-crm-source-connector\/\" target=\"_blank\" rel=\"noopener\">ZappySys Dynamics CRM \/ Dataverse Source<\/a> FetchXml Query Mode and check Object Browser (Table Info Tab &gt;&gt; <strong>PrimaryIdAttribute<\/strong> in the grid).<\/p>\n<p>Primary Key name usually starts with table name and ends with &#8220;id&#8221; (e.g. for account table its <strong>accountid<\/strong> ).<\/p>\n<div id=\"attachment_4358\" style=\"width: 602px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-find-primarykey-column.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4358\" class=\" wp-image-4358\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-find-primarykey-column.png\" alt=\"Find Primary Key for Dynamics CRM \/ Dataverse Table\" width=\"592\" height=\"424\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-find-primarykey-column.png 792w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-find-primarykey-column-300x215.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/dynamics-crm-find-primarykey-column-768x550.png 768w\" sizes=\"(max-width: 592px) 100vw, 592px\" \/><\/a><p id=\"caption-attachment-4358\" class=\"wp-caption-text\">Find Primary Key for Dynamics CRM \/ Dataverse Table<\/p><\/div>\n<\/div><\/div>\n<h4>Handling Inserted \/ Updated Records\u00a0Output<\/h4>\n<p>Now lets look at how to detect which records got inserted and which records got Update? In Upsert Mode each record can be directed to one of the following three Outputs.<\/p>\n<ul>\n<li>Inserted Records [Blue Arrow]<\/li>\n<li>Updated Records [Blue Arrow]<\/li>\n<li>Records with Error [Red Arrow]<\/li>\n<\/ul>\n<p>You can select Red or Blue arrow coming out from CRM Destination component. Drag and drop output arrow on any down stream component.<\/p>\n<h3>Bulk Update &#8211; Modify Dynamics CRM \/ Dataverse Records in SSIS<\/h3>\n<p>If you want to do bulk Update its very same steps as Upsert Operation except you have to set <strong>Operation = Update<\/strong> in the properties grid. For Key field you have to set primary key or Alternate Key.<\/p>\n<div id=\"attachment_4362\" style=\"width: 482px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-update-records.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4362\" class=\"size-full wp-image-4362\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-update-records.png\" alt=\"Dynamics CRM \/ Dataverse Update in SSIS\" width=\"472\" height=\"474\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-update-records.png 472w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-update-records-150x150.png 150w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-update-records-300x300.png 300w\" sizes=\"(max-width: 472px) 100vw, 472px\" \/><\/a><p id=\"caption-attachment-4362\" class=\"wp-caption-text\">Dynamics CRM \/ Dataverse Update in SSIS<\/p><\/div>\n<h3>Bulk Delete &#8211; Delete Dynamics CRM \/ Dataverse Records in SSIS<\/h3>\n<p>Bulk delete doesn&#8217;t require many settings. All you have to change is <strong>Operation = Delete<\/strong> on Component Properties Screen. On the Mapping Screen Map only one column (Primary Key). If you are not sure which one is primary key please refer to the previous section (Upsert Operation).<\/p>\n<div id=\"attachment_4363\" style=\"width: 687px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-delete.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4363\" class=\"size-full wp-image-4363\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-delete.png\" alt=\"Delete records from Dynamics CRM \/ Dataverse Online using SSIS (Primary Key mapping for CRM Bulk Delete)\" width=\"677\" height=\"483\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-delete.png 677w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-delete-300x214.png 300w\" sizes=\"(max-width: 677px) 100vw, 677px\" \/><\/a><p id=\"caption-attachment-4363\" class=\"wp-caption-text\">Delete records from Dynamics CRM \/ Dataverse Online using SSIS (Primary Key mapping for CRM Bulk Delete)<\/p><\/div>\n<p>Some times you may get below errors. If you get this error make sure you delete all child records first before deleting parent. For example if you are deleting account then make sure you have to delete leads \/ contacts for that account or update leads \/ contacts so they don&#8217;t refer to account being deleted.<\/p>\n<pre class=\"\">Error: 0xC0047062 at Dynamics CRM \/ Dataverse Bulk Delete, Delete Accounts [2]: System.Exception: Exception: The object you tried to delete is associated with another object and cannot be deleted.\r\nError Details: \r\nApiExceptionSourceKey=Plugin\/Microsoft.Crm.Common.ObjectModel.AccountService<\/pre>\n<h2>Error Handling<\/h2>\n<p>Many times you want to ignore bad records and continue processing good records. In such case you can use Dynamics CRM \/ Dataverse Error Output. Just grad Red arrow from CRM Destination and Drop on target component. Select Redirect Option for Error , Truncation both and Click OK.<\/p>\n<p>Once you set Error Handling your component will continue to run without failing whole data flow. Later you can review errors (if you saving to destination).<\/p>\n<div id=\"attachment_4364\" style=\"width: 863px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-destination-configure-error-output.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4364\" class=\"size-full wp-image-4364\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-destination-configure-error-output.png\" alt=\"Configure Error Handling in SSIS Dynamics CRM \/ Dataverse Destination\" width=\"853\" height=\"801\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-destination-configure-error-output.png 853w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-destination-configure-error-output-300x282.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-dynamics-crm-destination-configure-error-output-768x721.png 768w\" sizes=\"(max-width: 853px) 100vw, 853px\" \/><\/a><p id=\"caption-attachment-4364\" class=\"wp-caption-text\">Configure Error Handling in SSIS Dynamics CRM \/ Dataverse Destination<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_4365\" style=\"width: 853px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/insert-dynamics-crm-records-ssis.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4365\" class=\"size-full wp-image-4365\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/insert-dynamics-crm-records-ssis.png\" alt=\"Loading records into Dynamics CRM \/ Dataverse Table using SSIS . Redirect Bad rows to Error Output.\" width=\"843\" height=\"422\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/insert-dynamics-crm-records-ssis.png 843w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/insert-dynamics-crm-records-ssis-300x150.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/insert-dynamics-crm-records-ssis-768x384.png 768w\" sizes=\"(max-width: 843px) 100vw, 843px\" \/><\/a><p id=\"caption-attachment-4365\" class=\"wp-caption-text\">Loading records into Dynamics CRM \/ Dataverse Table using SSIS . Redirect Bad rows to Error Output.<\/p><\/div>\n<h2>Handling Special Data Types (PartyList, Lookup, PickList)<\/h2>\n<p>Certain datatypes in CRM requires special handling. <a href=\"https:\/\/zappysys.zendesk.com\/hc\/en-us\/articles\/360004361833-How-to-handle-Dynamics-CRM-PartyList-Lookup-and-PickList-datatypes-in-SSIS\" target=\"_blank\" rel=\"noopener\">Check this article<\/a> to learn more about how to insert data into columns with <strong>PartyList<\/strong>, <strong>Lookup<\/strong> or <strong>PickList<\/strong> field.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this article, We have seen how easy it is to integrate SQL Server data with Dynamics CRM \/ Dataverse. Using drag and drop connector you can perform Bulk insert, update, delete and Upsert operations. 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","protected":false},"excerpt":{"rendered":"<p>Introduction In our previous article, we talked about\u00a0how to read from Dynamics CRM \/ Dataverse (Dynamics 365 \/ On-Premises CRM \/ PowerApp). Now let&#8217;s look at how to Load data into Dynamics CRM \/ Dataverse (Dynamics 365 \/ On-Premises CRM \/ PowerApp) using SSIS. We will see a\u00a0few important aspects of loading data into Dynamics [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3577,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[351],"tags":[352,227,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 into Dynamics CRM using SSIS - Insert, Upsert, Delete, Update | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"SSIS Tutorial for Dynamics CRM Integration. Load data from SQL Server to CRM Online (Office 365) \/ On-Premises. CRM Bulk Insert, Update, Delete and Upsert\" \/>\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\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/\" \/>\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 into Dynamics CRM using SSIS - Insert, Upsert, Delete, Update | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"SSIS Tutorial for Dynamics CRM Integration. Load data from SQL Server to CRM Online (Office 365) \/ On-Premises. CRM Bulk Insert, Update, Delete and Upsert\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/\" \/>\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-07-05T19:20:32+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2025-09-19T12:31:56+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/dynamics-crm-365-logo-300x300.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"300\" \/>\r\n\t<meta property=\"og:image:height\" content=\"270\" \/>\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=\"10 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/\",\"url\":\"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/\",\"name\":\"Load data into Dynamics CRM using SSIS - Insert, Upsert, Delete, Update | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/dynamics-crm-365-logo-300x300.png\",\"datePublished\":\"2018-07-05T19:20:32+00:00\",\"dateModified\":\"2025-09-19T12:31:56+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\"},\"description\":\"SSIS Tutorial for Dynamics CRM Integration. Load data from SQL Server to CRM Online (Office 365) \/ On-Premises. CRM Bulk Insert, Update, Delete and Upsert\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/dynamics-crm-365-logo-300x300.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/dynamics-crm-365-logo-300x300.png\",\"width\":300,\"height\":270},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Load data into Dynamics CRM using SSIS &#8211; 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 into Dynamics CRM using SSIS - Insert, Upsert, Delete, Update | ZappySys Blog","description":"SSIS Tutorial for Dynamics CRM Integration. Load data from SQL Server to CRM Online (Office 365) \/ On-Premises. CRM Bulk Insert, Update, Delete and Upsert","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\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/","og_locale":"en_US","og_type":"article","og_title":"Load data into Dynamics CRM using SSIS - Insert, Upsert, Delete, Update | ZappySys Blog","og_description":"SSIS Tutorial for Dynamics CRM Integration. Load data from SQL Server to CRM Online (Office 365) \/ On-Premises. CRM Bulk Insert, Update, Delete and Upsert","og_url":"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/","og_site_name":"ZappySys Blog","article_author":"https:\/\/www.facebook.com\/ZappySys\/","article_published_time":"2018-07-05T19:20:32+00:00","article_modified_time":"2025-09-19T12:31:56+00:00","og_image":[{"width":300,"height":270,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/dynamics-crm-365-logo-300x300.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":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/","url":"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/","name":"Load data into Dynamics CRM using SSIS - Insert, Upsert, Delete, Update | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/dynamics-crm-365-logo-300x300.png","datePublished":"2018-07-05T19:20:32+00:00","dateModified":"2025-09-19T12:31:56+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82"},"description":"SSIS Tutorial for Dynamics CRM Integration. Load data from SQL Server to CRM Online (Office 365) \/ On-Premises. CRM Bulk Insert, Update, Delete and Upsert","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/dynamics-crm-365-logo-300x300.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/dynamics-crm-365-logo-300x300.png","width":300,"height":270},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/load-dynamics-crm-using-ssis-insert-upsert-delete-update\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Load data into Dynamics CRM using SSIS &#8211; 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\/4318"}],"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=4318"}],"version-history":[{"count":15,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4318\/revisions"}],"predecessor-version":[{"id":11471,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4318\/revisions\/11471"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/3577"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=4318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=4318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=4318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}