In the Ask-the-Experts-June-QA, a question was answered indicating it is possible to hide the Start Screen for a Workflow. How exactly is this done please?
Assuming you asking to remove start form when initiating a Nintex Workflow.
You can archieve it by go to Workflow Settings dialog in your Workflow Designer, change Form Type as Custom and leave blank for Start page textbox. As shown in image below:
Then, click save.
Once you publish the workflow and you will achieve your requirement without the start page.
To make this more intuitive in the product it would be nice to see an option against Form Type of "No Form" - just a thought.
Also if you have any of your workflow variables set to "show on start form" then make sure you have default values set for them as now the start form no longer shows the user has no chance to enter values.
Defitinely you can add your thought/idea on Nintex UserVoice
1 - Nintex Workflow for SharePoint: Hot (160 ideas) – Customer Feedback for Nintex‌
And, Please kindly mark as "Answered" if the post has answered your question, so it is removed from the unanswered questions list and it will help others
Yes, you are right, but removing Start page, the workflow are expected to be start with default value for those parameter
I have just added this to the user voice.
Thanks for your very illustrative answer. I do have another question now based on what I'm trying to achieve.
I need to present a hyperlink to start workflow on a library item and was able to do that by copying the url (which includes the List ID, Item ID & Template ID) to the Start Workflow Page. So I have the basic url format.
But having followed this approach to hide the Start Page and now re-published, I no longer have access to see the new Template ID which changes every time there's a republish.
How can I get the Template ID for a published Workflow with no Start Page?
I have a code snippet to get workflow template id by using Javascript.
function getWorkflowId(listName, workflowName) {
var clientContext = new SP.ClientContext.get_current();
var list = clientContext.get_web().get_lists().getByTitle(listName);
clientContext.load(list);
this.workflows = list.get_workflowAssociations();
clientContext.load(workflows);
clientContext.executeQueryAsync(Function.createDelegate(this, function(){ retrieveTemplateId(workflowName); }), Function.createDelegate(this, this.onQueryFailed));
}
function retrieveTemplateId(workflowName) {
var enumerator = this.workflows.getEnumerator();d
while(enumerator.moveNext())
{
var workflow = enumerator.get_current();
if(workflow.get_name() == workflowName)
console.log(workflow.get_id());
}
}
function onQueryFailed() { throw "Error with retrieve workflow template id." }
Usage:
getWorkflowId("<ListName>", "<WorkflowName>");
You can launch and authenticate onto your SharePoint site, open up your IE Developer tools (F12), then use javascript above to retrieve the template id.
If you saying by using SharePoint PowerShell cmdlets, then the approach will be much more easier, you archieve it by using similar PowerShell command below:
$web = Get-SPWeb <WebUrl>
$list = $web.Lists["<List Name>"]
$list.WorkflowAssociations | Where-Object { $_.Name -eq "<Workflow Name>" } | Select Name, Id
Thanks. PowerShell worked for me.
Now having got the whole Url and creating a hyperlink, I still get the Start Page when I click on the link.
What exactly am I missing?