cancel
Showing results for 
Search instead for 
Did you mean: 

Nintex Workflow Migration from on premise to Office 365

Automation Master
Automation Master
22 34 18K

Recently I've been involved in that project, where data and information that was being created for years in on premise SharePoints had to be migrated to the sharepoint online environment in office 365‌. All migration was said to be a simple, straightforward and easy due to the usage of sharegate, but... the real truth turned out to be way more dark.

Before the real migration started I sat down and started reading about the process and possible obstacles. I can now divide them into 3 groups:

  1. Limitations of Sharegate
  2. Limitations of SharePoint Online
  3. Limitations of Nintex for Office 365.

First things first. I will guide you through all and each from them.

Limitations of Sharegate

Sharegate is a really great tool. Honestly. It saved me dozens of hours but as well made me frustrated. But still it is great. It really allows not straightforward migrations to be possible (like from SP2007 directly to SP2013 and so on), is the only tool that allows automatic migration from on premise to online, allows migration of sites, users, managed metadata and many, many more.

Currently Sharegate supports migration of 30 actions that are present in on premise (source: Nintex FAQ – Sharegate):

Action Name On PremisesMapped Action in Office 365
Action SetAction Set
Assign Flexi taskStart a Task Process
Calculate dateAdd Time to Date
Change stateChange State
Check in itemCheck In Item
Check out itemCheck Out Item
Convert ValueConvert Value
Create itemCreate List Item
Delete itemDelete Item WM Action
Discard check outDiscard Check Out Item
End workflowTerminate Current Workflow
FilterFilter
Log in history listLog to History List
LoopLoop with Condition
Math operationDo Calculation
Pause for...Pause For Duration
Pause until...Pause Until
Query ListQuery List
Regular expressionRegular Expression
Run ifRun If
Run parallel actionsParallel Block
Send notificationSend an email
Set a conditionConditional Branch
Set field valueSet field in current item
Set variableSet Workflow Variable
Set workflow statusSet Workflow Status
State machineState Machine
SwitchSwitch
Twitter TweetTwitter Tweet
Update itemUpdate List Item
Yammer MessageYammer Message 
Build StringBuild String
For EachFor Each
Commit Pending Changes ---

To use Sharegate you have to really review each from your workflows and re-build it, so that you can expect that it will be migrated. Note, that:

  1. there are some crucial actions, that are totally unsupported but can be "workarouned".
  2. there are actions that just cannot be migrated and must be re-created after the migration.

What to do with them? I recommend the following approach:

BEFORE MIGRATION

  1. user defined actions - During migration they will be replaced with a blank placeholder leaving you with nothing. All actions from inside will be lost. I recommend converting them into a "Run If" action block (which is "migrate-able") and putting all actions from UDA inside it. Then if I needed to reuse those actions replacing UDAs. Oh, and the rule to execute it was always set to "true".
  2. query list must have a defined number of rows to be returned. Field cannot be left empty. Oh, and by default querying list is always "recursive" in O365
  3. action set is not supported as UDA. See point no. 1 how to resolve.
  4. for each loop actions are as well not supported as UDA and Action Sets. See point no. 1 how to resolve;
  5. workflow constants are not supported in Nintex for O365, thus Sharegate cannot migrate them. You should either remove them, turn them into workflow variables or create a SP List to keep them (so if you are using them in many workflows) and then just query the list.
  6. workflow context‌ variables - some are not supported in Nintex for O365, thus Sharegate cannot migrate them (like the one with Approval Comments). You should either replace them with a workflow variable, or remove because may cause troubles during migration;
  7. inline functions - are not supported in Nintex for O365, thus Sharegate cannot migrate them. You should either replace them with a workflow variable, or remove because may cause troubles during migration;
  8. commit pending changes‌ - this action is not present in O365 as the architecture is different. Actions are not grouped and executed with batches. Everything goes synchronously. All such actions should be deleted before.

AFTER MIGRATION

On premise actionOffice 365 action counterpartRemarks
Query/ Update XMLQuery/ Update XML

Actions are not supported because of the architecture differences. Sharegate will migrate them as a blank placeholders.

User Profile actionsOffice 365 User Profile actionsSharegate will migrate them as a blank placeholders.
flexi taskStart a task process/ Assign a task (based on how many approvers you have)No "To Do" task either. You cannot set mail priority, you cannot chose to which from "assigned" user the notification will be sent, you cannot delegate (workaround: https://community.nintex.com/community/build-your-own/blog/2015/02/26/delegation-in-o365aA), you cannot calculate time to send reminder. Oh, and you cannot attach files to the notification message. Some workarounds are possible after the migration, some are not available at all.
search query‌Office 365 Search QuerySharegate will migrate it as a blank placeholder.
dynamics crm‌"Dynamics CRM" actionsSharegate will migrate it as a blank placeholder.
convert document action‌"Document Generation"Sharegate will migrate it as a blank placeholder.
set item permissions Office 365 update item permissionsSharegate will migrate it as a blank placeholder.
Update documentNo direct counterpartSharegate will migrate it as a blank placeholder.
Create item in another siteOffice 365 Create List Item or Document SetSharegate will migrate it as a blank placeholder.
Update/ Delete multiple itemsPossibly by some HTTP Request callSharegate will migrate it as a blank placeholder.
Build stringBuild stringAction is not supported for migration because of the architecture differences. Sharegate will migrate them as a blank placeholders.
Collection operationBy a proper Collection operationActions differs. There is a dedicated "Collection operation" per each operation, not one for all as in on premise. Sharegate will migrate them as a blank placeholders.
Store/ Retrieve dataNo direct counterpartThere is no possibility for the workflows in O365 to "talk" with each other. Consider change of the workflow design.
Start workflowStart workflowAction is not supported for migration because of the architecture differences. Sharegate will migrate them as a blank placeholders.
Create site collectionBy a proper Office 365 create site collection
Delete site By a proper Office 365 delete site 
Delegate workflow taskBy Assign a task and custom workFor example: https://community.nintex.com/community/build-your-own/blog/2015/02/26/delegation-in-o365 
Request approvalOffice 365 set approval status Action is not supported for migration because of the architecture differences. Sharegate will migrate them as a blank placeholders.
And many, many more... Read the attachment

Complete list of "non-migratable" actions is listed here: Nintex FAQ – Sharegate.

Limitations of SharePoint Online

One and the most irritating limitations are the thresholds (Software boundaries and limits for SharePoint 2013). And in Online you CANNOT CHANGE THEM  Be aware of them and don't get angry when migrating:

  1. Workflow file cannot exceed 5MB - (source: https://community.nintex.com/message/57706-re-what-is-the-default-limitation-in-nintex-for-exporting...) that simply means, it shouldn't have more than 100 actions inside.
    HOWEVER I had a "pleasure" to migrate workflows having like 5 actions without a success and so far I have no idea why Sharegate was reporting errors when migrating.
  2. Infopath file cannot be larger than 5MB (be aware if you have forms with attachments).
  3. List/ library cannot hold more than 5.000 items. If you do exceed it during the migration, be prepared to observe abnormal behavior of your tenant.

Limitations of Nintex for Office 365

Those limits have already been described during in the "Sharegate limitations" - those limits are most often caused by the differences in the SharePoint Online hosted environment limitations, thus some actions were just impossible to be re-created and had to be done from a scratch, some has different architecture and cannot be directly migrated. And still, there is a huge lack of functionality in Nintex for Office 365:

  1. There is no conditional start for workflows, however it can be replaced with

    Conditional Start is present in NWO365 since January 2018

        
  2. There are no site scheduled workflows, but you can workaround it by either using 3rd party: Plumsail Workflow Scheduler or simply work them around: Scheduled Workflows in Office 365;
    Scheduled Workflows are present in NWO365 since end of July 2017
  3. When comparing you are more than often not able to verify if a value "is empty". You can only compare whether it equals or not (but you cannot set equation to nothing );
  4. No "workflow constants".

    Some functionality related to "Workflow Constants": Connection Manager, allowing workflow designer to define credentials that will be then used to authenticate all "Office 365" actions, across a tenant, is present in NWO365 since February 2018.

  5. No "inline functions".
  6. No "UDA" actions.
  7. No action sets. 
    Action Sets are present in NWO365 since end of June 2017
  8. No support for custom actions.

Summary

I just felt that this post cannot end up like this. So there is a hope for all of that. Both Sharegate and Nintex are working to develop their products - Sharegate to support migration for new actions (I heard UDAs and Action Sets are on their roadmap), what is Nintex working on you can find here: 3 - Nintex Workflow for Office 365: Hot (300 ideas) – Customer Feedback for Nintex.

I wish you all all best in your migration projects

If you have any questions or stories you'd like to share feel free to leave them in comments. I'm sure there are more issues I am not aware of yet  

Regards,

Tomasz

34 Comments
glenda
Nintex Newbie

Hi Tomasz,

Great post, thanks for sharing your insights!

Glenda

Automation Master
Automation Master

Lovely write-up Tomasz,

Migration is always bigger than what people expect.

Tools like Sharegate make the actual migration process more streamlined and much faster but the thing that always seems to take the most time is the analysis of the existing content/workflows and what you actually want to do with it!  Sharegate certainly helps out here too with pre-check reports that identify the potential issues that will be encountered.

Cheers,

Chris

sandy_s
Nintex Newbie

Great Post ‌ ..thanks for sharing 

npd
Nintex Newbie

Excellent post - we'll be using the lessons learned you've published which will really help us fix some of these issues upfront.

rychwals
Nintex Newbie

Tomasz-

Just wanted to let you know that this is information is very informative and i am thankful that you posted this! ‌...I am in the process of sizing a migration and this will help tremendously!

Automation Master
Automation Master

I am glad. Very glad to read such nice words  Thank you - this is what this information is here for - to help you with migration which is really not very straightforward, but full of traps

Regards,

Tomasz 

murphybp2
Nintex Newbie

No UDA's? Uggh!  I use those all the time.  

murphybp2
Nintex Newbie

‌, do you know if there are any plans from Nintex to add support for the missing features that you mentioned (UDA's, Inline functions, etc.), or if there is something that will replace it?

murphybp2
Nintex Newbie

It looks like Action Sets (# 3 before migration) are supported in O365  

Automation Master
Automation Master

HI Brendan,

From what I can tell, the component workflows introduced at the xchange conference are effectively UDAs for o365.  Not sure about inline functions though.

Cheers,

Chris

Automation Master
Automation Master

Thanks. Fixed already

Err no. Not fixed. That chapter is related to Sharegate limits, and tells how to overcome migration of not supported actions. And as far as I know, action sets despite their availability in O365 are not yet supported by Sharegate during migration.

Automation Master
Automation Master

Regarding the inline functions I saw them on some roadmap, but not sure when are planned to arrive. And IF

Now what Chris Ben wrote is true - as UDAs that we know from on-premise are not going to arrive, there is going to be something different - the "Component Workflows" is going to bring you the functionality of creating subworkflows, to which you will be able to pass data and then wait for their outcome. Just remember what is your subscription quota

Regards,

Tomasz

Nintex Employee
Nintex Employee

Hey ‌ thanks for this really great blog post! This is a perfect reference for anyone planning on doing a migration. ! I did a migration earlier for a little side project I am working on, and my action sets pulled through, I think this is supported now


Automation Master
Automation Master

Hi ‌,

That is true action sets are now available in Office365, however the article tells about the migration you can do with Sharegate. I see they did an update month ago, updating what is supported. Now I need to review it. Thanks for the hint! 

fransl
Nintex Newbie

Great info on workflows but what about Nintex Forms where data is not stored in a sharepoint field only in a Nintex form field. How is this handled to get the data across and visible in the O365 ? what is the best tried and tested method for this. Appreciate any info. Many thanks.

jamesodom
Nintex Newbie

Is delegation still available in "flexi Task" Start a task process?

Automation Master
Automation Master

No, there is no such feature as "delegation" in Office 365. As well as possibility to decide which assigners should receive a notification.

Automation Master
Automation Master

Updated

sneomal
Nintex Newbie

Hi Tomasz Poszytek‌,

This is a great post and I really do appreciate your efforts on getting this together because it is a great article for people who are looking at doing the same exercise.

One question I had was did you experience and issues with migrating any onprem mobile forms to the cloud using the Sharegate tool? if so what is the experience you had. I am planning to migrate some forms that we have created onprem in out SP2013 environment and many of them are coupled with a mobile form.

Cheers,

Shanaka.  

nintex_orbid
Nintex Newbie

Thank you!!!!

Nice starting point for an upcoming project. I'll send some updates if needed.

Greets,

Peter

Automation Master
Automation Master

Hi,

no, I haven't had migrating mobile forms to O365 yet. Only regular, desktop forms. But migrating forms is far more stable and predictable than workflows. In fact, there are only three controls not supported (sql web request, request and list view).

However as I recall they are not supported in mobile forms as well, as they're not compliant with offline functionalities, thus I guess you are not using them as well.

Be sure to review your forms after migration


Regards,

Tomasz

sneomal
Nintex Newbie

Thanks Tomasz,

I will thanks for your tip . The biggest problem I am experiencing right now is that when you migrate forms with mobile layouts that are not supported or available on O365, it creates a ghost from.... the forms starts appearing on the Nintex app but not on the SharePoint side to edit or delete. This is very frustrating because if you are doing a direct migration from production to O365 you are not able to delete the mobile forms so you need to stage the forms in a different location, delete the mobile forms and then move to O365. Do you have any recommendations or insights on forms that are ghosted on O365? how to access them and delete them? 

Cheers,

Shanaka

fransl
Nintex Newbie

Make sure you don't have unbound fields in your on prem Nintex forms. The data won't migrate if you have unbound fields.

Automation Master
Automation Master

Great post as always, Tomasz!

Running a ShareGate migration from On-Prem to O365 surprised me. There is a lot where Nintex/Sharegate tell us there is parity -- but there isn't. Even when an action successfully goes 1:1, there are SO MANY "little" things that aren't supported in O365. Here are some examples from a recent migration:

The parameter 'Outcomes Comments' of the action 'Resubmit Request' will be ignored because it is not supported by Nintex Workflow for Office 365.
The parameter 'Item permissions' of the action 'Resubmit Request' will be ignored because it is not supported by Nintex Workflow for Office 365.
The parameter 'Notification Delivery type' of the action 'Resubmit Request' will be ignored because it is not supported by Nintex Workflow for Office 365.
The parameter 'Notification Attachments' of the action 'Resubmit Request' will be ignored because it is not supported by Nintex Workflow for Office 365.
The parameter 'Notification From, CC and BCC' of the action 'Resubmit Request' will be ignored because it is not supported by Nintex Workflow for Office 365.
The parameter 'Reminders Time calculation' of the action 'Resubmit Request' will be ignored because it is not supported by Nintex Workflow for Office 365.
The parameter 'Body' of the action 'Resubmit Request' contains a contextual variable 'LastTaskRespondentDisplayName' that isn't supported on Office 365.
The parameter 'Body' of the action 'Resubmit Request' contains a contextual variable 'AllApproverCommentsHtml' that isn't supported on Office 365.

That's just a snippet from a full page of those from one relatively small workflow.

Additionally, if there is an Action they DON'T support in the migration -- and it has branches? Goodbye, branches. Ie, you have a "Request Data" and have 3 branches with several actions within them depending on outcome, they are all gone. SMOOSHED into NOTHINGNESS. That was kind of a shock - I thought they'd be safe in some way. 

Automation Master
Automation Master

You welcome. I wrote about it. Unsupported actions are replaced by blank placeholders. So is everything underneath lost.

That small piece of log you pasted - it is all related to missing functionality in flexi task, that is not present in Office365.

Regards, 

Tomasz Poszytek 

Automation Master
Automation Master

This is a great tip as well.

Caitlin Naude

caitlin_naude
Nintex Newbie

Thank you Rhia Wieclawek‌. This is a good read and will definitely come in handy during our migration project. 

Automation Master
Automation Master

Hi, 

If you need any support in your migration project send me PM  

Regards, 

Tomasz 

rahulbarua
Nintex Newbie

Hi Tomasz,

Could you please tell me what is the alternative to wait for item update in .

And if action is available then how do i put below condition.

  • if Column A is not empty.
murphybp2
Nintex Newbie

Is there a way to find all the UDA's in your farm?

Automation Master
Automation Master

Hi Rahul:


Unfortunately what I've had to do to get around that is set an Item Property into a variable, and then perform the "Is Not Empty" on the variable itself. A bit messy but gets the job done. 

Cheers,

Rhia

Automation Master
Automation Master

It looks like the last comment on this was around a Nintex User Voice post which has gone untouched for some time...

 

murphybp2
Nintex Newbie

Thanks.  I had seen that one out there, but it looked fairly old so I was hoping someone else had come up with a solution.  

Automation Master
Automation Master

It looks like we are now able to use most of the expected operations for Conditions re: comparisons. I noticed what you said as well before (only "equals" or "not equals") and they seem to have updated it, but I see nothing in the release notes about it. I had this problem in a current client's environment.

Alex Burton I am not sure who else to @ here, but I'm just curious if it is something that was added recently?