Monday, February 4, 2008

SharePoint Designer workflow does not start automatically.

Here is the thing I just recently ran into. In my portal, there is a site with custom list and a SharePoint Designer workflow that was starting automatically on “Item Update”. All of a sudden I realized that this workflow does not start automatically any more. You could still start the workflow manually, but it’s not a fix. The good part is that I’ve upgraded to SP1 fairly recently and it was not a problem to track back and find out when workflows stop working properly. SP1 had a lot to do with it.This behavior I by design and occurs because of a security fix in Windows SharePoint Services 3.0 SP1, the fix prevents declarative workflows from starting automatically under the system account. After you install Windows SharePoint Services 3.0 SP1, declarative workflows will not start automatically if the following conditions are true:

1. The Windows SharePoint Services Web application runs under a user's domain account.
2. The user logs in by using this domain account.
3. The site displays the user name as System Account.

Here is the link to the solution http://kbalertz.com/947284/declarative-workflow-start-automatically-after-install-Windows-SharePoint-Services-Service.aspx\

33 comments:

Pirooz Javan said...

Thanks for the post! Just what I was looking for.

Daniel Webster said...

If the user is displayed as a system account, then the application pool must also be using the same user account or that is the account that was used to install SharePoint and run the Configuration Wizard. This user account has too many rights for best practices and should not be used for local logons, IMHO.

Harry said...

That didn't fix the problem for the document library with incoming email enabled. It still creates the items in the document library with System Account and workflow never starts for those items. If I create the item in same document library with a different user id then it works fine.
How do you change the ownership for the items created with incoming emails?

Natalya Voskresenskaya said...

The only thing I can think of in your case:
You are most likely to be running all your services within the farm under this system account.
Otherwise you would get actual sender's name in the created by field.

jborean said...

I am not sure if the first post worked...

Supposedly my IMO OIC applied the fix... But they are still not working unless a site admin creates the new item.

Here is the WF (edited for security)

If __ equals __
and X equals __
or X equal __

Copy item in List A to List B
then Delete item in List A

Else If __ equals __
and X equals __
or X equal __

Copy item in List A to List C
then Delete item in List A

I have 5 Branches on 1 step. Here is the error I get:

Date Occured, Error, System Account, Error Copying a list item, list item not found

Date Occured, Error, System Account, An error has occured in __,

If you can help me fix this you will be helping alot of people.

Natalya Voskresenskaya said...

This error does not seem to be pertaining to the issue described above, but with more details about the error and the workflow itself I might be able to help.
Which list this workflow is attached to?
How do you identify the item to be deleted in list A?
Do you pass input parameters to the workflow?
Can you confirm that the item in list A still exists and does not get deleted?

Anonymous said...

i am having this same problem.

Our sharepoint is installed on a domain controller, what account should i set the app pool to run off? And what sort of permissions should they have on the servers?

skippy said...

Using an email enabled list, I found that both SPD and VS workflows would not kick off automatically when the list received an email. I also tried using an event receiver on the ItemAdded event to then fire the workflow or even update the item in the event receiver. The event receiver & workflow both started and apparently completed, they just didn’t execute any of the code that modified the item. There were no error messages.

As usual it turned out to be so much easier than all of that. Here’s how I fixed it for my setup:

- Set the Service Account to a domain admin account. Go to the Central Admin portal for your Sharepoint server, select Operations, Service Accounts (see http://kbalertz.com/947284/declarative-workflow-start-automatically-after-install-Windows-SharePoint-Services-Service.aspx for more info).
- Set the Windows SharePoint Services Timer to log on as the SAME domain admin account. To do this go to Start -> Programs -> Administrative Tools -> Services. Find the Windows SharePoint Services Timer and open the properties. Go to the Log On tab and set the service to log on using the same account you used for the step above.

Using this solution all of the following will run automatically & execute as expected when the list receives an email:

- Event Receivers
- Visual Studio Workflows
- Sharepoint Designer Workflows

Ahh Sharepoint. Gotta love it.

Natalya Voskresenskaya said...

Interesting one

Ricky Singh said...

I have a another issue not related to the current post but i thought one of you might be able to help on this. I am not able to either fix the height or width of the List view Webparts.Is there any way to correct this bug??

Ricky Singh said...

I have another problem.
I have site colection that is using only one content database but my site collection has many subsites and i want to check the size that each subsite is using in the database..is there any way that i can get the size of subsites?

Natalya Voskresenskaya said...

Ricky, If you have one site collection, it should be easy to see how much space you subsites are using.
USE:
stsadm -o enumsites -url [your site collection url]
The output will give you StorageSpaceMB parameter

Ricky Singh said...

stsadm -o enumsites -url [your site collection url]
will give the storage spaced used for the entire site collection but i need to know how much space my subsites indvidually are using.
like if i have a Subsite A and a SubSite B in the Site Collection, i need to know the Space used by Site A and not the whole site collection.How do i find it??

Jaime said...

Please help,

I have a workflow that was created in SharePoint designer. The workflow is setup to collect data from a user (the user is a sharepoint group that has several users in it). The workflow starts and the e-mail is sent to all the users in the group but when someone makes changes to the task the "modified by" shows system account. How can I get this to show the employee that made the changes? The application pool is a unique account that has domain admin rights and that is it...any ideas

Carsten said...

I have as well the incoming email / notification topic. (automatic start for direct entered discussion list topc works well)
Unfortunatly skippys solution didn't work for me (followed KB947284 and used same account for the service timer with and without domain admin permission)
Found this issue in other forums / blogs, but no solution that is working for me up to now.

Christy said...

Hi Guys, I have the same problem and by the looks of the following it aint gonna be fixed soon :( http://forums.microsoft.com/technet/showpost.aspx?postid=2884818&siteid=17&sb=0&d=1&at=7&ft=11&tf=0&pageid=0

Jeffrey Buckner said...

Hello to those you know more about Sharepoint than I!

I have a problem that may be related to this. I'm using WSS3 and Sharepoint Designer 2007.

I AM able to get my workflow to start correctly if the form library is not configured to receive email. However, to get my general user community that only has View and Read permissions, I had to enable incoming email on the form library. (otherwise Edit permission is required because checkout/checkin is performed.

In any event, with email enable on the form library, my community can add okay, but the workflow will now not initiate the workflow. The workflow will start if I save a document after creation, but will not start when the form is submitted to the library via email.

Is there a solution to this problem? I sure do appreciate any suggestions!

Natalya Voskresenskaya said...

This might be a big overhead, but small event handler might help.
It's probably not what you are looking for, but if all fails, try this.

Books said...

Skippy,

I tried your solution but it broke a bunch of other things. Is this all you changed? Other servies of mine went haywire...can the timer account be changed from within Sharepoint? It is not good practice to change service accounts manually within SharePoint.

Carsten said...

The sharepoint infrastructure update fixed my problem: http://www.microsoft.com/downloads/details.aspx?FamilyId=3A74E566-CB4A-4DB9-851C-E3FBBE5E6D6E&displaylang=en

Be sure to read the instructions regarding the necessary stsadm command described here: http://support.microsoft.com/kb/953289/

Hope this works for all others with this problem too...

Ariab67 said...

thanx!

Jose I said...

Thank you for the post, itis really pratical
Seemingly I have repaired the beginning of the workflow autmatically with apply the patch of infrastructure of wss3, but I continue with some really strange problems.

Now if a user does not exist logging in Sharepoint they continue without start the workflows automatically :-((
If Any user logging with the exception of the managers and administrators does that the workflows associated with a email enabled list

It seems that there is a problem of permissions but I do not how manage to discovers which is the mistake.

I have followed the recommendations of the type of the users for the accounts of the application web, service of timer, IIS, etc ... for what I do not achieve to discover that it can be happening.

Any help will be welcome.

Sinceraly grateful

Sorry about my bad english :-)

Christopher said...

Hi Natalya,

i have a problem with my pause workflow, they dont seem to resume after the specified delay (it still shows as “in progress”), and i have tried to use the KB932394 and the KB953630 but i have had no luck, and my boss is now on me for taking too long. would you happen to have a simpler way of solving it please. i will really appreciate your help. By the way, am using MOSS 2007 and i dont want to upgrade my wss 3.0 to SP1 as i had a database error the last time i did this, where the SharePoint products and technologies could not connect to the database and i lost the farm.

Your help is much appreciated.

Chris.

me said...

Hi,

I'm running into this problem. I tried the solution in kb947284, but it did not work.

I'm a beginner in SharePoint, so I want to ask when it said 'set the application pool account to use a different user account', what kind of different that it's talking about?

Thanks in advance.

Anonymous said...

I couldn't find a solution, so I just make an event on item_created/changed to fire the workflow .
Better luck next time!!

Richard said...

Hey Natalya, do you know of any other link where there's a workaround for this? the link on your post says Service Unaviable.

Anonymous said...

After days of changing user accounts and installing patches and SP2, deleting and recreating Workflows, and trying every suggestion I could find eventually I discovered that hitting my site via IP was the problem, used the host name and it all started to work!!! I've no idea why though.

Rodrigo kiltrus@hotmail.com said...

I spent a couple of weeks try to find the solution, updating credentials, different kind of workflwngs (using 1, 2 even 3 workflows) but nothing has helped at this time... workflows simply does not start when are triggered by the system..so looks like the final solution would be SP2, but could be the medicine worst than the sickness?? I don't want to find it out!


http://blogs.msdn.com/sharepointdesigner/archive/2009/07/13/service-pack-2-prevents-an-on-change-workflow-from-starting-itself.aspx

Rtodrigo kiltrus@hotmail.com said...

wow could be possible?
the solution:

http://support.microsoft.com/kb/953749

I'll let you know how it works

Rodrigo kiltrus@hotmail.com said...

Hello Natalya. At the end I couldn't install the hotfix. It said I have not the right product installed (WSS SP1) however I do.

Anyway, my solution was:

1- Your solution.
2- Modify users that work with the workflow at much as Contributor. If are more powerful than it, WF does not start by 2nd time.

3- Create 2 WF similar to the example. I never was able to start with just one, between other reasons due to 1 WF can run per item.

http://blogs.msdn.com/sharepointdesigner/archive/2009/07/13/service-pack-2-prevents-an-on-change-workflow-from-starting-itself.aspx

I hope it could complement your post,

good luck!

PaKeR said...

Hi Natalya!
I'm having the problem explained in your post, but i can't solve it.
I've installed WSS 3.0 w/SP2, but my workflows won't seem to start automatically.
Do you know about some other workaround?
Thanks!

Natalya Voskresenskaya [SharePoint MVP] said...

make sure you are not trying to run it under system account

Principle Centered said...

My workflow doesn't start automatically but my situation doesn't meet the criteria here. In my situation, the workflows start and run as expected when we access the site with a url using the machine name of the server (i.e, http://mymachinename:1001/), but they don't start when we access the site with a url that uses an alias that resolves to the same machine (i.e, http://somename.domain.com:1001/)