SSIS Dynamics CRM / Dataverse / PowerApps Destination
Bulk insert, update, upsert and delete records in Dynamics 365 Online, Dataverse, PowerApps or on-premises Dynamics CRM.
Load data from SQL Server, Oracle, JSON or any SSIS source into Dynamics CRM with bulk Insert, Update, Upsert (by primary or alternate key) and Delete. Write Lookup, PartyList and PickList fields, split inserted, updated and failed rows into separate outputs, and connect with OAuth (Azure AD app) for MFA-protected tenants.
The trial includes Dynamics CRM / Dataverse / PowerApps Destination and every other PowerPack component
- Data Flow Destination in SSIS
- Runs in your environment
- Also runs in Azure Data Factory
- Fully functional 30-day trial

At a glance
What Dynamics CRM / Dataverse / PowerApps Destination can do
Dynamics CRM / Dataverse Destination performs bulk insert, update, upsert and delete operations on Dynamics 365 Online, Dataverse / PowerApps and on-premises or IFD Dynamics CRM.
Bulk insert to CRM
Bulk insert data into Dynamics CRM / Dataverse from any source such as SQL Server, JSON or Oracle.
- Dynamics 365 Online, On-Premises and PowerApps
BatchSize: rows sent in each request
Upsert, update & delete
Bulk Upsert (Insert or Update), Update and Delete records.
Operation: Insert, Update, UpdateOrInsert or DeleteUpsertKeyField: primary key or alternate key- Delete needs only the primary key mapped
Inserted vs updated outputs
Detect new versus updated records when you upsert.
- Separate outputs for inserted, updated and error records
DoNotCreateOutputsremoves unused outputs to speed things up
Lookup, PartyList & PickList
Write advanced CRM data types such as Lookup, PartyList and Multi-Select PickList.
- Set PickList by text or numeric value
- Set Lookup by record ID or by text (JSON format)
UseDefaultIfLookupFailswrites null when a lookup fails
Error output & progress
Redirect failed records to the error output and track progress.
- Reports progress every N rows
- Summary at the end: total, inserted, updated, deleted, errors and time taken
Parallel processing
Send requests on multiple threads to speed up loading.
EnableParallelProcessingMaxParallelThreads: 1 to 40
Null, duplicate & date options
Fine-tune how values are written to CRM.
IgnoreFieldsIfInputNull/FieldsToSetNullIfInputNullEnableDuplicateDetectionblocks duplicates via CRM rulesInputDateTimeConversionMode: LocalToUtc, UtcToLocal and more
SQL Server 2012–2025 & ADF
Runs in your environment on SQL Server 2012–2025 and Azure-SSIS.
- SQL Server 2025, 2022, 2019, 2017, 2016, 2014, 2012 (32/64-bit)
- Azure Data Factory (SSIS IR)
- Design packages in Visual Studio 2017, 2019, 2022, or 2026
- Windows only (64-bit OS): Windows 7–11 or Windows Server 2012–2025
Modern CRM authentication
Connect to Dynamics 365 Online, Dataverse, PowerApps, IFD or On-Premises CRM.
AuthType: OAuth Client Credentials, OAuth Delegated (MFA / 2FA), IFD or Active Directory- Custom
TokenUrl(e.g. US GCC) - Retry on throttling (e.g. 429) and proxy settings
See all features
- Bulk Insert data to Microsoft Dynamics CRM / Dataverse from any source such as SQL Server, JSON, Oracle
- Bulk Upsert (Insert or Update) by primary key or alternate key
- Bulk Update and Bulk Delete
- Advanced data types such as Lookup, PartyList and Multi-Select PickList
- New record output (detect new vs updated records when you use Upsert)
- Error output for failed records
- Report progress every N rows and a row count summary at the end
- Multi-threaded loading (
EnableParallelProcessing, up to 40 threads) - Option to ignore NULL input values or set selected fields to NULL
- Duplicate detection during Insert, Update or Upsert
- Input date/time conversion (local / UTC)
- Azure AD App (OAuth) Client Id / Secret for modern security with MFA / 2FA
- Retry and proxy settings on the Dynamics CRM Connection Manager
Support for SQL Server 2025, 2022, 2019, 2017, 2016, 2014, 2012 (32/64-bit) and Azure Data Factory
SQL Server 2012–2025
How it works
From the toolbox to your first run.
Connect, choose the operation and key, map columns, then route inserted, updated and failed rows.
Connect to Dynamics 365, Dataverse or on-premises CRM.
Create a ZS-DYNAMICS-CRM connection and choose the authentication type: OAuth 2.0 Client Credentials or OAuth Delegated (interactive sign-in, for MFA / 2FA) for Dynamics 365 Online and Dataverse, or IFD and Active Directory for on-premises CRM. Then select the organization and click Test Connection. The older Online Federation (user name / password) mode is deprecated.
- One connection for CRM Source and CRM Destination
- Custom TokenUrl (e.g. US GCC)
- Retry on throttling such as HTTP 429

Upsert and split inserted, updated and failed rows.
Set Operation to UpdateOrInsert and put the table’s primary key (for example accountid) or an alternate key in UpsertKeyField; the key must be mapped. Each row then goes to the Inserted or Updated output (blue arrows), or to the error output (red arrow).
- Primary key or alternate key
DoNotCreateOutputsremoves unused outputs for speed

Bulk update or delete existing records.
Update uses the same settings as upsert with Operation = Update and a primary or alternate key. For Delete, set Operation = Delete and map only the primary key column. Delete child records first if CRM reports that the record is associated with another object.
BatchSizerows per requestEnableParallelProcessing, 1 to 40 threads

Keep good rows flowing; capture bad ones.
Drag the red error arrow to a downstream component and set Redirect for both Error and Truncation. Failed records land there while the remaining rows are still loaded. A summary at the end reports total, inserted, updated, deleted and error counts.
- Progress reported every N rows
UseDefaultIfLookupFailswrites null for unmatched lookups

Inside the UI
Key settings, as they appear in SSDT.
Real screens from the Dynamics CRM / Dataverse / PowerApps Destination product page. Step through them, or open any shot at full size.
Configure Dynamics CRM Connection
Shared by Dynamics CRM Source and Destination: choose the authentication type, credentials and organization, then test the connection.
Articles
Worked examples that use Dynamics CRM / Dataverse / PowerApps Destination.
Compatibility and requirements
Designed to stay inside your SSIS runtime.
- SQL Server 2012 through 2025, 32-bit and 64-bit
- Windows only, 64-bit OS required. SQL Server Express and Web editions do not include SSIS
- Azure Data Factory SSIS Integration Runtime
- Self-hosted: credentials and data stay in your environment (external API calls still reach that service)
- Fully functional 30-day trial of SSIS PowerPack
FAQ
Questions teams ask before they drop Dynamics CRM / Dataverse / PowerApps Destination on the canvas.
What is Dynamics CRM / Dataverse / PowerApps Destination?
It is an SSIS data flow destination that performs bulk insert, update, upsert and delete operations on Microsoft Dynamics CRM, including Dynamics 365 Online, Dataverse / PowerApps and on-premises or IFD installations.
Can I upsert without the CRM record ID?
Yes. Define an alternate key on the CRM table, map it, and enter its name in UpsertKeyField. You can also use the table’s primary key (for example accountid). See Load data into Dynamics CRM.
How do I set Lookup, PartyList or PickList fields?
Set a PickList by its text or numeric value. Set a Lookup or PartyList by record ID (simple key/value or JSON format), or by text using JSON, which is slower on large tables. Set UseDefaultIfLookupFails to write null instead of failing when a text lookup finds no match.
How do I know which rows were inserted or updated?
In upsert mode the destination has Inserted and Updated outputs plus an error output for failed records. At the end of the run it also logs total, inserted, updated, deleted and error counts.
Which SQL Server versions can I run it on?
SQL Server 2025, 2022, 2019, 2017, 2016, 2014, and 2012 (32- and 64-bit), plus Azure Data Factory with an SSIS Integration Runtime (packages must target SQL Server 2017). See Compatibility and requirements.
Start your free trial today
Install SSIS PowerPack and drag Dynamics CRM / Dataverse / PowerApps Destination onto the Data Flow.
Bulk insert, update, upsert and delete Dynamics 365, Dataverse and on-premises CRM records from any SSIS source.
- Data Flow Destination in SSISDynamics CRM / Dataverse / PowerApps Destination appears in the toolbox after you install PowerPack.
- Fully functional 30-day trialSSIS PowerPack, running in your environment.
- Live supportHelp during your trial and after purchase.
Open Help FileBrowse all SSIS PowerPack tasks
New purchases may be eligible for refund review within 30 days. See the refund policy.
Talk to an engineer before or during your trial.