can I bypass the Start Button, and just start a workflow


Badge +4

When you manually start a workflow, it loads the flowchart diagram and has a button for you to press "Start or Cancel" to Initiate the Workflow. Then I get the start form where I populate my start values and then actually start the workflow.  As a user who is initiating the workflow, pressing that start button seems rhetorical and just an extra step that is inconvenience and confusing to people.

 

I understand that even OTB workflows have that initial "start button" when starting workflows manually, but Nintex is way cooler than OTB SharePoint. Is there a way to start the workflow without manually pressing "start" after just having clicked the workflow from the Item's Edit Menu?


7 replies

Badge +11

Hi Peter Behler ,

Nintex is built on the Sharepoint workflow engine. You cannot bypass this as long as you are starting the workflow manually.

Userlevel 6
Badge +16

A workaround could be the following:

You could start your workflow by adding a new column on your list named "StartColumn" (Yes/No Type) and a user could set it to Yes when he/she wants to start the workflow.

Also you should configure your workflow to start conditionally (When Startcolumn=Yes) on changes.

Badge +4

Yeah, I'm about to try something like that and see what happens when it requires some information up front as soon as the workflow starts.  The scenario that came up for me to design also has a requirement that the item is also read only. So editing a column won't work unless I get really tricky.

Userlevel 5
Badge +12

See if the solution suggested here works for you: Re: Start workflow with one click

Thanks

Userlevel 7
Badge +17

Any updates on your progress? Which solution worked best in your case?

Userlevel 6
Badge +16

Perhaps you could use another list that starts a workflow on your current list

Badge +7

Hi Peter,

I've just done something similar and used SharePoint's client side rendering to create a button on the view that calls the Nintex web service using the StartWorkflowOnListItem method. I've pasted the javascript function below and it works great, just pass in the workflow name, item id and the list name.

function startworkflowonlistitemcsr(wfName, itemId, listName) {
  

    var associationData = '';
    var webMethod = _spPageContextInfo.webAbsoluteUrl + '/_vti_bin/NintexWorkflow/Workflow.asmx';
    var soap = "<?xml version=""1.0"" encoding=""utf-8""?>" +
                            "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=""http://www.w3.org/2001/XMLSchema" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/">" +
                              "<soap:Body>" +
                                "<StartWorkflowOnListItem xmlns=""http://nintex.com">" +
                                  "<itemId>" + itemId + "</itemId>" +
                                  "<listName>" + listName + "</listName>" +
                                  "<workflowName>" + wfName + "</workflowName>" +
                                  "<associationData></associationData>" +
                                "</StartWorkflowOnListItem>" +
                              "</soap:Body>" +
                            "</soap:Envelope>";

    $.ajax({
        type: "POST",
        url: webMethod,
        beforeSend: function (xhr) { xhr.setRequestHeader("SOAPAction", "http://nintex.com/StartWorkflowOnListItem"); },
        data: soap,
        contentType: "text/xml; charset=utf-8",
        dataType: "xml",
        success: function (data) {
           
        },
        error: function (e) {         
           
        }

    });
}

Jan

Reply