web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Microsoft Dynamics 365 | Integration, Dataverse...
Suggested Answer

Can't preserve createdby migrating between two Dataverse environments — SSIS Toolkit v25.2

(0) ShareShare
ReportReport
Posted on by 2

Migrating Account records from one Dataverse env (Dev) to another (UAT) using KingswaySoft SSIS Toolkit v25.2 (CRM Source → CRM Destination, Upsert on Primary Key, GUIDs preserved).

Separate environments, so users exist in both but with different systemuserid GUIDs.

createdon preserves fine — mapped source createdon into overriddencreatedon, works on fresh Create. Connection's app user has System Administrator (so the import override privilege is present).

For createdby, I set a Text Lookup on the field: Target entity systemuser, input createdbyname → target fullname, Smart Name Match on. Deleted existing UAT accounts first, then re-ran as fresh Creates.Result: Package succeeds, but Created By still shows the application user, not the original creator. Created On preserves correctly on the same run, so the create path and privilege work — only createdby isn't honored.

Questions:


  1. Can createdby be set to a different user through the Destination component, or does the platform always stamp the calling user?

  2. If yes, what am I missing — endpoint type (SOAP vs Web API), a destination option, a specific privilege?

  3. If not possible via the component, is a pre-operation plugin on Create the only route?


  4.  
 

Env: SSIS Toolkit v25.2.0.27301, Dataverse online (both), OAuth Client Credentials.

Categories:
I have the same question (0)
  • Suggested answer
    11manish Profile Picture
    990 on at
    In Dataverse, createdby is a system-controlled audit field and cannot be set during record creation through SSIS, Web API, SOAP, or plugins.

    Even with KingswaySoft and System Administrator privileges, Dataverse will always stamp the calling user (service principal/app user).
    • createdby →  Not editable on create (platform enforced)
    • createdon → Can be preserved using overriddencreatedon
    • Endpoint type (SOAP/Web API) → No impact
    • Pre-operation plugin → Not a reliable or valid solution
    Why your current setup works partially
    • createdon works because Dataverse explicitly allows override with privilege
    • createdby does not because it is fixed at system level during insert
     
    Instead of forcing createdby, use:
    • A custom field (e.g., Source Created By) to store original user
    • Optionally map source user identity (email/name) for reporting
    You cannot set createdby directly in Dataverse during migration. The correct enterprise approach is to store original creator information in custom fields instead of system audit fields.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Microsoft Dynamics 365 | Integration, Dataverse, and general topics

#1
Subra Profile Picture

Subra 142

#2
11manish Profile Picture

11manish 112

#3
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 86 Super User 2026 Season 1

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans