Skip to main content

Bulk User Properties Import with SharePoint Online

Overview

When we are working with Office 365 in our organization, some time there is requirement to connect on premise AD to get feed and update it.
In this article, I’m explaining a case; export data from AD only for specific (custom) attribute and update it in SharePoint user profile.






Requirement

We are working on Office 365 and in user profile we have created some additional custom attribute. By default, Office 365 supports sync only default properties with AD. To sync additional custom properties, we have to write custom sync engine. Microsoft has released API to sync additional attributes.

Solution

Microsoft has released Bulk update custom user profile properties for SharePoint Online APIs to direct sync custom attributes from JSON feed file.


To achieve solution, below are the steps
  1. Create and upload JSON feed file
  2. Feed output of step 1, to Microsoft Bulk User Import API
  3. Check the status of an import job

Create and upload a JSON feed file

It’s the important steps that needs to take care, use TechNet Gallery code snippet to generate JSON file for your environment and upload it to you’re a document library on your tenant.

Used UPN as unique key to update user properties. Sample output JSON file is below

{ "value":



 [



 {



 "IDName": "jagga.v@sharepointexcellence.com",



 "Company": "SharePoint Excellence",



 "StreetAddress": "some value",



 "PostalCode": " some value",



 "city": " some value",



 "Country": "some value"



 }



]



 }


Execute Microsoft Bulk User Import CSOM API

Microsoft has releases his CSOM API for the same, you can find the Source code CSOM and PowerShell from here. Make sure the you need to update this w.r.t. your business needs.

The source JSON file must be uploaded to the same SharePoint Online tenant where the process is started.

Check the status of an import job

You can check the status of your import job by MS CSOM APIs. There are two methods to validate the status and the same is detailed documented here

Exception Handling

Now you are done with your custom sync engine but the main thing is how to handle exceptions while import job progress? Microsoft CSOM bulk user import APIs is handling it automatically, it used two types of validation process
  • Queue the bulk user import script JSON feed file as initial screening
  • Log exception if any exception is in between bulk user import for specific user
These log file have placed automatically at the location where your JSON file is exist. For more detailed information on exception handling read detailed documentation here

Limitation

  • Maximum file size of JSON file is 2 GB
  • Maximum number of properties in JSON file is 500,000
  • The import only works for user profile properties that have not been set to be editable by end users
  • The import only allows custom properties that are not Active Directory core properties. These must be synchronized to Azure AD
  • Taxonomy based custom user properties not supported with this API

Comments

Popular posts from this blog

GPT-5.2 Lands in Microsoft 365 Copilot: Smarter Reasoning for Workflows

 Today Microsoft announced that GPT-5.2 is now available in Microsoft 365 Copilot and Copilot Studio , bringing two tuned variants: GPT-5.2 Thinking for deep reasoning and strategic work, and GPT-5.2 Instant for fast writing, translation, and skill-building. In Copilot, the model connects to Work IQ to surface insights across your meetings, emails, and documents—helping you turn scattered information into actionable plans. If you use Copilot Chat or Copilot Studio, you can pick GPT-5.2 from the model selector and try prompts like asking for strategic takeaways from a meeting, building comparative tables of market leaders, or preparing focused talking points for upcoming conversations. Microsoft emphasizes model choice , so teams can select the model that best fits the task while keeping security, compliance, and privacy controls in place. Rollout starts today 11-Dec-2025 for users with a Microsoft 365 Copilot license and will expand over the coming weeks; Microsoft 365 Premium...

Why MFA Matters in Microsoft 365 (and How to Enforce It the Right Way)

If you’re still relying on passwords to protect Microsoft 365, you’re leaving a critical gap in your security. A single phished credential can be enough to access email, files, chats, and sensitive business data. Multi-Factor Authentication (MFA) adds a second verification step—such as an Authenticator prompt, a one-time code, or a security key—so a password alone can’t grant access. As a Microsoft 365 administrator and technology enthusiast, I’ve seen firsthand how implementing MFA dramatically reduces account takeover risk and strengthens organisational security. Who this is for This guide is aimed at Microsoft 365 administrators, IT teams, and business leaders looking for practical steps to bolster tenant security with consistent MFA enforcement. Whether you’re managing a small business or a larger enterprise, the principles here apply to everyone seeking to protect critical business data. The goal: require MFA for interactive sign-ins Enforcing MFA for all interactive use...

6 ways to check SharePoint Usage reports

Introduction SharePoint administrators always want to know which user is accessing any site or site collection extensively and which user has access to the site but not using it. The other site details required are related to traffic, access, edit, etc. The user's behavior changes as per the nature of the site and their working department like project team site, department site, and managerial workspace. Fortunately, Microsoft 365 has given multiple methods to generate or view various reports related to SharePoint usage. We will check all the methods one by one and see how they provide the required results. Several options are available at different parts in SharePoint Site or Admin Center where the Administrator can check status or create reports. Method-1. Check Site Usage in Site Contents Page. The Site contents page shows the analytics data like their unique visitors, total site visits, average time spent by the user, etc. The report can be generated for multiple days like 7, 3...