Walkthrough: How to move or copy a SharePoint Designer 2010 List Workflow to another list on the same site or another site.


I had to develop a Holiday Approval Workflow with SharePoint Designer 2010. – I used a “List Workflow”. – Bad mistake! – It’s not possible to copy this kind of workflow to another list on the same site or another site.

I thought I could use the “Export to Visio” functionality with the workflow at my development site and the “Import from Visio” functionality at the destination list. – That’s impossible. You get this message:

image

(“This workflow cannot be imported because it was created in SharePoint Designer for a different site, or the original workflow has been moved or deleted. To move a workflow between sites, use Save as Template (.wsp file) instead of a Visio workflow drawing.”)

You cannot “Save as Template” because it’s a “List Workflow”.

Okay. – I’ve found a workaround.

Let’s do it in detail.

1. Create a site collection “http://sharepoint.local/sites/dev”.

2. Open SharePoint Designer 2010. Open the previously created site.

3. Open the “Workflows” view.

4. On the Ribbon click “List Workflow” and select “Shared Documents”. – We will create a workflow for the list “Shared Documents”.

image

Name the workflow “Workflow 1”. Leave “Description” empty.

image

5. Insert any workflow steps you like.

image

6. Change the workflow settings. Select “Task List” and “History List”.

image

7. Click “Publish” to publish the workflow Winking smile

8. Click “Export to Visio”. Save to Workflow as .vwi file, e.g. on the desktop.

image

9. Let’s test the workflow. – I’ve created a text file “test.txt” on the desktop. Now I upload the file to the “Shared Documents” library of “http://sharepoint.local/sites/dev”.

image

Open the item context menu. Click “Workflow”.

image

Manually start the “Workflow 1”.

*image

Click “Start”.

image

In the list view you see the workflow status.

image

Click on the status. In my case it’s “Completed”.

image

The workflow history says “Workflow executed” as specified in the workflow definition above.

10. Okay. Let’s copy the workflow to the production site “http://sharepoint.local”. – A simple “import” is impossible, because it’s a list workflow… Follow my steps.

11. Start the SharePoint Designer 2010 and open the site “http://sharepoint.local”.

12. On the Ribbon click “List Workflow” and select “Shared Documents”. – We will create a workflow for the list “Shared Documents”.

image

Name the workflow “Workflow 1 Production”. Leave “Description” empty.

image

11. Do not add any workflow step!

12. Click on “Workflow Settings” menu item on the Ribbon.

13. Click “Publish” to publish the (empty) workflow.

14. After publishing click “Export to Visio” and save the file as “workflow 1 production.vwi” on the desktop.

15. Open a Windows Explorer. Select “Desktop”. You see both “.vwi” files.

16. Add the extension “.zip” to both files.

image

 

17. Open both “.vwi.zip” files. You see:

image

18. Copy “workflow.xoml.wfconfig” from “workflow 1 production.vwi.zip” to “workflow 1.vwi.zip”.

image

19. Now remove the “.zip” extension from both files. You’ll get two “.vwi” files.

image

20. In SharePoint Designer 2010 open the site “http://sharepoint.local”.

21. Click “Import from Visio” and select “workflow 1.vwi”

image

image

Click “Next”. (Maybe you get a message: “You must close all views of this workflow before importing this file.” Then stop the import. Close all views of the Workflow and restart from Step 21.)

22. Now you see the this window:

image

That it!

23. Now the workflow designer opens:

image

24. Now you can publish the workflow and test it…

25. Be as happy as me with that !!!

PS: Of course you can use any library as destination. In the sample above it does not have to be “Shared Documents” on “http://sharepoint.local” It could be another list or library as well!

44 thoughts on “Walkthrough: How to move or copy a SharePoint Designer 2010 List Workflow to another list on the same site or another site.

  1. Good tip – I didn’t know that the vwi files were simply zips. Bookmarking blog!

    I ended up modifying a bit for my case which was to copy a list workflow to a reusable workflow (to attached to a content type). Case being that I wanted to put multiple content types in a list that I had a workflow attached to, but didn’t want list workflow to run on all content types.

    1) Export list workflow, create new reusable workflow in same environment, export reusable workflow
    2) Open both workflows as zip files
    3) Copy the workflow.xoml file from list workflow to reusable workflow
    4) Import reusable workflow

    On editing I needed to re-input some of the conditions and actions that were linked to other lists (although not all) but the structure of workflow and bulk of actions came through great. I had some quite complex security assignments in the workflow, these were retained so saved me having to rewrite.

    I’m pretty sure that this won’t work if you aren’t using content types & site columns already, and am tempted to compare the old and new xoml files to see where the discrepancies are.

    Thanks!

  2. I am consistently getting “You must close all view of this workflow before importing this file.” I closed all my SharePoint sites, designer and explorer, but when I reopen designer and attempt to import the vwi file, I get the same message.

    Please advise. Thank you!!

  3. i am facing a problem all the previous steps fine when i add .zip extension to the both files system shows a message (if you change file extension, you may unable to use this file). after adding .zip extension my both files converted into zip format files.

    sharepoint designer unable to import it as .vwi file. how i could resolve this issue ??????

    1. hi!

      you have made mistakes while manipulating the file. you should start over. may be you have infopath forma to collect user input. if so you have to do some additional steps.

      ingo

    2. I did this again today (after moving all my workflows from Prod to Dev)
      and then Tried going back from Dev to Prod

      I made the silly mistake of naming the workflows in dev what i wanted the final workflows to be called , so when I tried to put the new ones on Prod I had the same error you had

      So thats something to be aware of as well.

      Now I would just need to write some power shell script to cancel some of the running workflows
      and kick off the new ones, Ideally I would have liked to do it in PS but I havent found a decent script which would also let me check the state of a list item before it cancelled and started the new workflow
      unfortunately I have been told I dont have time to do that so im giving that stop-start business to the owners of the list items to do

  4. When I look in the source workflow zip, it includes a workflow.xoml.rules file that is not in the target zip, should I copy this also?

    Also, the workflow.xoml file in the target zip is 2kb, whereas the file in the source is 27kb.

    Thanks

  5. Hi,

    This is an amazing post, worked so very well… So very clear in understanding and following. One thing I would like to add is about renaming it. Once the file is renamed to .vwi.zip and to rename it back to .vwi use the folder options in the folder where you save and choose and uncheck “Hide file extensions for known file types”. Then click rename and delete the .zip from it.

    Thanks again….

  6. This is the most helpfully post regarding to workflow moving I have ever read. Thank you

  7. Awesome! It works like charm.. i have been running around for this and finally got urs and made my day easier. Though it looks a bit unorthodox, it works.

    Thanks,
    Senthil.

  8. Hi Karstein,

    Thanks for the post………

    Is it possible to create loops inside a List workflow………like in a workflow with steps 1,2,3,4,5,6,7,8,9 …..
    If “Yes” there will be steps in between like 1,2,3,4,5,6,7,8, else if “No” few steps will be skipped like 1,2,6,7,8 ….

    Is this possible…….in SPD2010 Worflows……..

    else atleast is it possible to copy a few steps in a workflow and paste them elsewhere in the same workflow…….

    Need a quick solution….. Thanks a lot

    Regards,
    Thendral

    1. Moe,

      this forms are XSN files, aren’t they? You shout be able to copy them with SharePoint designer. Maybe you need to change their names in the Workflow Visio file. Just rename the Visio-Export-File to “.zip”, open it as described in my article, and look for the workflow forms. I’ve seen them. – Try to copy them with SharEPoint Designer 2010 from the source location to the destination after importing the workflow.

      Ingo

      1. hi ingo,

        this doesn’t seem to work for me. i got a list workflow which includes two approval workflows with forms. i cannot find these forms in the zip file. in sharepoint designer i’m also unable to copy the forms; the only options i get are open and delete.

        everything works as you describe regarding the copying, but when i check the approval steps, not only the forms are missing, the outcomes are not there either. i cannot add any outcomes manually for some reason.

        so the copied workflow starts off as expected, sends the emails out and all, but the user cannot open the form, as they are not there.

        any ideas?

        thank you very much for your brilliant blog and especially these instructions. they have helped me copy a number of list workflows from my dev to production …

        kind regards,

        Daniel

  9. AWESOME – thanks so much! I was about to make huge changes to a workflow at the client’s request, and I really wanted to save a copy of all the work I’d already put into the thing, just in case she changed her mind later.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s