I am very new to Nintex workflow. I know that Nintex has
quite a lot of functionality but haven’t got much chance to work on it. I am
trying to build a workflow with the following requirement. Please share your
thoughts which will help me build these or give me better understanding what I
need to do to achieve it.
We have a SharePoint List which user generates once a year.
This list will have lots of list item/task (500 or more each year). Each task
is associated with a process which is a different list and has on/off text
field to indicate if the list item associated with the process need to trigger
workflow or not. Each of the list Item has a “start date” and “preparer (AD
person/user)”. Each task on the list will have different start date. The business need is for preparers to receive a notification
email at the start date of the individual list item.
In my understanding I need to find a way which will trigger
the workflow every day. Let’s say workflow need to run at 12:01 am each day.
When it run it need to look at the logic if start date = today. If yes send email
to the task that has start date =today. Then stop the workflow and run again
after 24 hours.
Is there a way I can achieve this. I thought this could be
simple since all the value including process on/off in a single list (current
item). But not exactly sure what I need to do to achieve this in nintex.
Solved! Go to Solution.
You can definitely create this functionality using a Site Workflow. The best practice here is to have a single workflow run each day that completes each day. This is better than having an instance of a workflow sleep for 24 hours and attempt to loop through the items in each attempt.
A Site Workflow is a workflow that is not attached to a list or library but rather to a site itself. The creation and management of site workflows is the same as for workflows that are attached to a list or library.
In the Settings Icon, in the top right-hand corner, hover over Nintex Workflow 2013 and click on Create Site Workflow
In the workflow query the list items in the specified list and return IDs of the items that are filtered by Today = Start Date and Off value into a collection variable. Then loop on that collection. Then Query those items again in the loop by the individual id and send an email to the Preparer and include any relevant information. (This is a great method if each task is unique, and you need to notify about the task without concern that one person can be the preparer for multiple items).
Thanks a lot for your reply. However, I would actually require a List workflow since everything is tied to a master list which has over 35 lookup column.
Just wondering is the difference between site and list workflow same as sharePoint site and list workflow?
If the trigger is a point in time, then you can use a site workflow to query the list and all 35 columns. If you use a list workflow, then you are only starting an instance of a workflow on a single list item and not the entire list (though you can query items beyond the current item). You can trigger a list workflow through a schedule as well, but standard triggers for list workflows are list item events (Create new item). It is better to run a workflow from a scope where you are looking down into your lists, than from a single item on the site looking out to process over more items that are not in context.
One alternative you could use is having a scheduled site workflow that starts a list workflow on a single item. But in your case, this would cause starting an instance of a workflow on every item in the list, and is not recommended.
Thanks a lot for your explanation. I completely agree with what you mentioned about workflow trigger and limitation of using list workflow vs site workflow.
Yesterday I have noticed schedule option for the site workflow which not available in list workflow. My initial idea was to tigger the workflow when Item=created/modified. Since the list will create all the task once a year I would trigger the workflow when Item get created then use a loop to check the startdate=today and based on the condition email the user. I realise this will entually make the workflow run endless and will cause performence issue.
Saything this I have created the logic ysterday where I create a varriables which return current date. Then I created the condition where I have selected current Item in the list where Startdate= Workflow variables current date. If this satisfies send email. Run the workflow on a single list item and got all green on workflow preview. However still need to check the email.
Do you think I was in right path to achieve this?
I will create a site workflow and use lookup to do the same today and see if I can achieve that. another alternative I was thinking is creating a site workflow and call the list workflow I have created? Not sure if this will work at all or not?
Having an initial site workflow that is scheduled that determines which items to run on then starting a list workflow on that item is a popular alternative.
To schedule a list workflow for an item, see below:
3.11 Scheduling a workflow
Workflows can be configured automatically to run at a certain time.
A library or list item can be regularly subjected to a workflow. This might be useful for running recurring checks on items. To schedule a workflow for an item:
Navigate to the item's location.
Click on the context menu , and then the dots again to activate the menu. Click Schedule Workflows.
If no schedule have been defined before, none will be shown. To create a new Scheduled Workflow, click the Add Schedule button.
Configure the workflow schedule for the item:
o Workflow: Select an existing workflow from the drop-down menu.
o Schedule Start: Set a date and time when the workflow schedule is to begin.
o Repeat Settings: The frequency of the scheduled repetition for the workflow. Select the hours, days or months. There is no maximum number which can be entered. Numbers entered must be integers (whole numbers, not decimals).
o Workdays only: Checking this option will ensure that the scheduled workflow will only run on workdays.
Note: Workdays are set by the Administrator via the 'Site Settings > Site Administration > Regional settings' section. Public holidays and any other special occasions are set using the 'Site Settings > Nintex Workflow > Manage Holidays' page.
o Schedule End: The end of the scheduling cycle. Either set a specific end date and time or by defining the number of times the workflow should run or set it to run indefinitely. o When all settings are configured, click on the Save button. The scheduled workflow will now appear on the Scheduled Workflows page.
To configure an existing schedule, click the hyperlink of the schedule in the list and edit the settings in the same manner as above.
Note: If you make a change to a schedule it will take effect immediately. If the item is currently in the workflow, changing the schedule will not disrupt it, the schedule will be updated once the workflow has been completed.