Manually Start a Workflow without clicking the Start Button


Userlevel 7
Badge +11

When you build a workflow on a SharePoint list, you can configure it to start manually.  That means you click on the item you want the workflow to run on, select Workflows from the drop down menu, click on the workflow and then you click the "Start" button to start an instance of that workflow.

 

If you have start form workflow variables, then this makes sense.  But if you have no start form variables, it seems like it'd be nice to just click the name of the workflow and it just starts the workflow.

 

To get this to work, we are using Nintex Forms with Nintex Workflow.  When you have your workflow design open, in the ribbon, click on Workflow Settings.  When that pops up, click the drop down called "Edit Task Form" and then select "Edit with Nintex Forms".

 

CustomizeStartForm.pngWe aren't going to do anything with the form design, because the plan is to not really see it.

When the Form designer comes up, click on Form Settings and expand the Custom Javascript section.

 

Javascript.png

 

 

The Javascript is below.

 

NWF$(document).ready(function()

{

  var obj = NWF$(".cssSubmitButton");

  obj.click();

});

 

Finally, since the Javascript is looking for an object with a particular CSS class, we need to double click on the Start button on the form design, and set cssSubmitButton as the CSS Class.

 

CssClass.png

Now, when you go to start the workflow, the form may briefly come up, but will disappear and the workflow will start.

I hope this helps.  If you have an questions, please feel free to add them to the comments section.

 

Vadim Tabakman


14 replies

Badge +9

Vadim,

I love your trick of configuring the workflow without stopping at the start screen.

Can you add to this a formula for a url to start a workflow on another list (obviously where the workflow is installed) on a specific ListItem (probably by ID).

Userlevel 7
Badge +11

Hi Stephan,

potentially, you could make a web service call to the Nintex Workflow web service to start a workflow.

But instead, in your first workflow, use a Start Workflow or the web service action.

cheers,

Vadim

Badge +2

An alternative I use is to set the workflow to use a custom form but leave it blank. Without a form specified, the workflow starts immediately.

Badge +9

That works fine from a menu--but I'm wanting to start a workflow on a specific listitem from another list.

Badge +2

You could run a workflow on an item in the current list that uses a web service action to run a workflow for an item on another list. Is that what you need? For the URL, set "[your site]/_vti_bin/nintexworkflow/workflow.asmx" then select the "StartWorkflowOnListItem" web method. Then you just need to specify the item ID, list name and workflow name.

Badge +9

Maybe I need to try it through the web service.

Thanks,

Badge +1

Hi all, much easier way to do this without code....

Workflow Settings > Form Type > Select Custom. Clear out the URL of the Start page property (leaving it blank).

snip.PNG

This will start the workflow without a start page as detailed above.

Much more elegant solution.

Userlevel 7
Badge +11

Wow that is much easier.  Thanks Robert.

Badge +2

This is what I was suggesting in my reply last week, but I didn't explain it as clearly or include a screenshot.

I tend to use this technique almost as default unless there are start variables. It would be nice to if the "Form Type" settings could have an option of "No Start Form" or something like that so this technique is easier to find.

Badge +1

Agreed... I cant imagine this wasn't thought through in development. There will be some code somewhere that handles the redirect on workflow start to the start form. Clearly the devs thought this through and could handle a blank (or null), so why not allow the option on the workflow settings.

It makes me fear there may be some drawbacks to this approach, however a few thousand forms down the line, nothing yet!

Badge +3

This works great. Thank you Robert and Vadim!

Userlevel 3
Badge +9

I used to do that in SharePoint 2010 and it worked fine.  I just recently started at a new place that has SharePoint 2013, and when I do that, the workflow always fails.  I don't have the option to edit the start form, so don't know if the issue is related to that.  But if I use the default start page, then the workflow runs fine.

Badge +7

Great - nice and simple

Regards

Leif

Badge +1

Excellent!

It works fine when running it manually, the only problem is that if I start a workflow from a URL like the following one it will require me to click again the Start button. So for this situation I don't know how to avoid the Start Button:

Current URL that takes me to the Start Button: ="https://[MySite]/_layouts/15/NintexWorkflow/StartWorkflow.aspx?List={MyListID}&ID="&[IDtx]t&"&WorkflowName=[My Workflow name&Source=[My Home]

Reply