I have worked on many SharePoint 2013 & SharePoint 2016 on-premises farms. and currently one of our customer who uses SP 2013 on-premises, want to migrate SharePoint to Office 365 (SP online). now their farm contain the following main components:-

  1. 5 site collections of type Team & Enterprise wiki.
  2. some site collections have sub-sites, and the sub-sites contain tracking, custom and discussion board lists.
  3. inside the farm I have 6 event receivers. which get fired when updating and adding list items.

Now the only thing I can be sure about the migration, is that I need to change all the event receiver (server side) to be implemented as remote event receivers.. but I am not sure which approach I need to follow to migrate the site collections, sub-sites, lists and the data? can I migrate the whole site collection at once ? or I need to migrate list by list?? can anyone provide any guidance on how the migration should be held?

second question. since I will be implementing remote event receivers as a replacement for the server side event receiver, so where I need to deploy these remote ER? should we buy a separate azure service to host the remote ERs? or SharePoint online already have the capability to host remote ERs?

Thanks for any help and answers.

2 Answers 2


Suggestion for your second question,

Better to use web-hooks instead of remote event receivers. Web hooks support only asynchronous -ed events (like updated, deleted, etc). Assess the requirements in your current farm, if none of the event receivers are fired before the database transaction happens, more precisely synchronous -ing events are not required (like updating, deleting). Then in that case go with web hooks, which are comparatively easier to develop and maintain.

Anyways if you decide to go with web-hooks follow these steps:

What you will need to get started ?

-> Microsoft Azure subscription

-> Office 365 tenant (of course)


  1. (Try understanding the basics about web hooks)

  2. Create an azure function

  3. Use this lovely tool to create a subscription to your desired list/library

  4. Azure functions more details

Final suggestion: Give it a little time till you get used to the new environment for SharePoint development.

  • now the current event receivers has synchronous event such as updating & adding & deleting so seems using web hooks will not work in my case.. but can you advice on the first point and the second point of where I should deploy remote ER??
    – John John
    Commented Dec 13, 2017 at 23:13
  • 2
    for the first question, there's no direct way to migrate SharePoint on premises to SharePoint online without a third party tool. you can try to manually recreate everything, but I would still recommend a third party tool like ShareGate.
    – Mike
    Commented Dec 18, 2017 at 17:41
  • @Mike can you reference some third party tools which can achieve this? second question, if I want to benefit from SharePoint built-in capabilities, what does SharePoint 2013 onprem provides for migrating to the cloud?
    – John John
    Commented Dec 19, 2017 at 11:17
  • 1
    @testtest SharePoint On prem doesn't offer capabiltities to migrate to the cloud PERIOD. you have to use a third party tool or do it manually PERIOD. Sharegate and matelogix are two tools to migrate sharepoint on prem to online
    – Mike
    Commented Dec 19, 2017 at 16:51
  • 1
    they will help you migrate most of the content that is supported by sharepoint online. ie, while you can migrate site templates, you won't be able to migrate site definitions or other farm solution as they are not supported by SP Online. This also means you cannot migrate any C# CSOM or SSOM solution ShareGate should be able to migrate managed metadata and termsets
    – Mike
    Commented Dec 19, 2017 at 20:03


To Migrate the whole site collection with sub-site and contents you need to use the third party tool like share-gate , metalogix etc.

However it depends on the size of site collection if it does not have more data than you can store site as template and create the site with that template in Office 365. or you can store all lists/libraries as template and can use that in office 365 -This will be useful when you have less data. You will not have to spend any amount on it. -Second approach is that , you can download the trial of Share-gate or any other tool and migrate the site.

EVENT RECEIVERS To host the event receiver you need to buy the licence of Azure and as far as i know it is not free.

As a alternative you can deprecate the event receiver and re-develop that functionality using workflow or client side object model.

  • thanks for your reply. now using templates, we will suffer from these drawback (I gain this experience when moving sites internally between different site collections ) is that after creating a new site based on the template, the created and modified fields will lose their original values.. not sure if this will also be the case when saving an on-premises site as template and then create an online site based on this template? will the created by, modified by, created, modified for the items and pages preserve their original values?
    – John John
    Commented Dec 19, 2017 at 16:58
  • so for hosting the remote event receivers I will need to buy azure storage first to deploy the apps (the remote event receivers) is this what you mean? now using workflow (2013) will not achieve everything I want. as inside my current event receivers will do actions such as creating subsites, send emails for a SharePoint group where the SharePoint group name = the current list title, create new SharePoint groups when approving certain list items... all these can not be done inside workflow... I am not exposed to CSOM, so I can not be sure if it will satisfy the requirements or not ..
    – John John
    Commented Dec 19, 2017 at 17:04
  • All these operation of event receiver you can perform using JSOM/REST API. However you need to perform these action in PreSaveAction. However To Create a subsite you need to develop a custom list where user enters the name of site and click save button. So you can overwrite save button action using PreSaveAction Method on which you can write the code to create the site,group etc. however it may have performance issue if you are creating a subsite using custom template and it has large size. otherwise it perform well and u do not need to spend over licence cost of azure.
    – Ramesh
    Commented Dec 21, 2017 at 13:56
  • Site from site template may preserve the value if it belongs to same site collection. or using share-gate you can achieve this.
    – Ramesh
    Commented Dec 21, 2017 at 13:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.