Skip to main content

Good day,

 

I trust you well, Your assistance in this regard will be highly appreciated, I got assigned a task at work to create a workflow that will send a reminder of an event to users two days before the event, I have never developed a site workflow before,

 

Please see below the snip of the current steps I did below:

1. I used query list to pull event information from my event app I developed 

2. I used set variable to declare the current date

 

 

23823i576CB3B18EA54454.png

Since I now have the information for the event, I will use a for each to loop, and collection operation to get the start date and run if to declare the rule to run if only the event is two days due but it is not working and a bit of a hassle to debug, Please assist kindly 

 

With thanks 

 

 

 

Hi @Aubrey_8 



 



The Plain and Simple method to meet your requirement.
Version : Simplest Version v0
TimeLine: 2 working days before event.
Action : You run "Event Reminder Workflow v0". You trigger the workflow manually
Input1 : Event Details - Title, Date, Time, Venue
Input2 : Email Template (Body)
Input3 : Participants List



ForEach Participants in List

Send_Email (To: %Participant%. Body: Event Details + Template

End Workflow


 



You may have not disclose any other requirements, but frankly its an overkill to use Workflow just to send 1 time use email reminders.



 



Will you be storing the Event details and participants in a SharePoint List?
- If yes, will you be using 1 list or separate lists for each event?



When you query your Event App? What does it return? Format/Structure?



How do you want to trigger the workflow? Schedule-Daily, Manually, other?
Is the Email Template generic for all the events?



 



Pseudocode



Set Variable 'dtDateToday' for Current Date

Set Variable 'dtDatePlus2' = 'dtDateToday' + AddDays(2)

Query List. Filter Events Date == 'dtDatePlus2'

Log to History List //Verify data

//not certain how you store Event Details and Participants List

//Let just say that The Query returns a list of Participants

Foreach Partificants Collection

Send_Email



 



hope this helps


Hi, @Garrett 



Thank you kindly, But I am using Nintex SharePoint 2019, So it is mostly drag, drop and config workflow, I am pulling information on this list below:





Into my workflow then I need to query the information I took from the list eg the start date of the event and I need to query two days before the event and send a reminder to the user, Please take not again this workflow needs to query all the users who applied for the training and run on a scheduled time everyday.



 



Thank you in advance


Hi @Aubrey_8 



 



What we know so far



Event Source: SharePoint List (Single List for All Events)



Workflow Trigger: Scheduled time on daily basis.



 



When you query the list...



- What is the filter that you use?





- how many and what fields/columns do you retrieve? (e.g. Event Date, Participants)



- where do you save the query result to?



- What does the Log to History for the query result show?



 



Nintex Workflow



Nintex workflow is a Drag and Drop GUI tool to arrange action icons for designing your workflow. 



I only have access to Nintex Workflow for O365 and NWC. 



 



Pseudocode



Pseudocode is the arrangement of logic. You need to translate the pseudocode into Nintex Workflow 



 



Are you able to do this?



Query the List, Filter by a Date, Retrieve a list of Participants?



Display the Participant in the History Log



ForEach Participants in List

Log to History - Participant Details

End Workflow


 



 



 



 


Hi Garrett,





Filtered fields are:



1 Created by = ID (To get each training ID by each users)



2. Where is my workflow (This is to query only approved training events)



Then I am querying



1. Training Event Name



2. Start date of the event



3. ID



Then Training Cost and Training Location to use as part in my send notification to the user,



I am storing all this information in a variable from the list I showed you on the previous reply



 



Other thing I realized the log history results show is it does not pull the training name from the query list and incorrect Start date compared to the list





The attached are the log history results, I am not sure why it is pulling incorrect dates and time, Probably could be a fault cause these details are pulled from a calendar to the training list then I am querying the training list with the site workflow, Can you advice?





The top are the training details from my training list pulling them from the calendar, then it pulls very wrong dates and time on the site workflow...



 



Please advice,



 



 



 


Hi @Aubrey_8 



 



Let's say that below is the columns in your SP list



 



ID | Created_by | Event_StartDate | Event_Name | WhereIsMyWorkflow

 



ID and "Created By" are SP System fields



Event_StartDate is Date field



Event_Name is a Single-Line Text field



WhereisMyWorkflow is Single-Line Text field. 



 



Step 1a: Create Date var



In Variables, Create a Date Variable "dtDateReminder"



Add a "Calculate Date" action. Date is Current Date. Days is "2", apply to Variable "dtDateReminder"



//If today is the 28th, we want to search for event Start Date with value of 30th 



//Log to History to verify the variable is correct



 



Step 1b: Query List



Filter1: Event_StartDate is equal to %dtDateReminder%



Fields to return include : Created_by, Event_Name



//Log to History to verify the variable is correct



 



Publish and Run



 



Lets make sure we are getting the correct value first before we proceed to the processing the collection variable with the For or ForEach loops



 


Hi Garret,



 



The below I have done, I had to create a test workflow to test the below results and returning the correct



 



1.  dllDateReminder



2. Sart date



3 Training Name



4 Created By



5 Training Location



 





 





 



 


hi @Aubrey_8 



Great! its returning the correct results. 



Do you mind to share the Query Result? (Use a Log to History)



Appreciate if you could paste the variable as a string instead of an image.



Next, we will work on processing the variable.



 



btw, I appreciate if you could mark "Accept as Solution" once your issue is resolved (half way there!)



and also click the Kudos (orange hand icon) if you found any of my post has helped you. Thanks



 


Hi Garrett,



 



Thanks a lot for your assistance, I am still with you,



Please see below snip of the results I am getting from the Site Workflow Log History 





 



The workflow was scheduled yesterday, Then now I need to find out why is it not pulling the training intervention value, We can start working on processing the variables as I am fixing the training name,



 



Thanks a lot I will do so.


Hi @Aubrey_8 



 



Did you format the Log to History results?



I just to check the Query Result. That's not how the collection variable looks like.



 



 



[{"Title":"Event1", "Status":"Approved"}, {"Title":"Event2", "Status":"Approved"}, {"Title":"Event3", "Status":"Approved"}]

 



 



Enclosed in [] is the entire result
Enclosed in {row1} is a single row
Enclosed in {col1, col2, col3} is the column
Columns are describe in a Dictionary style - Key-Value "Title":"Event1"
KEY - Title and Status are the Key
VALUE - Approved is a Value



 



Pls take a look at this thread



https://community.nintex.com/t5/Nintex-for-Office-365-Forum/Office-365-workflow-Query-List-vs-on-prem-Query-List/td-p/220428



Read it twice because that is what we are basically trying to accomplish



 



You can work from a separate Development Workflow. You don't need to wait until the schedule workflow runs



PS: You click the "accept as solution" too early... 


Hi Garrett, 



 



Apologies taking time to reply, I have a bit of issue where the fields I queried from the list returning incorrect values, I will meet with the other senior developers to actually take a look in this issue, Because I can not be able to get the workflow right even though I have all the steps correct from your help,



 



Can you help if probably this issue is within Nintex or SharePoint Central Admin, And how do we resolve this issue, 



 



it returns a date like this: Start Date and Time: 0001/01/01 00:00:00



The same with the end date, 



 



With thanks


Hi @Aubrey_8 



 



Can you verify in your list that there is an actual date?



Are you referring to the correct field/column name?



 



When you query an "empty" date field it is may return as 0001/01/01 00:00:00


Hi @Garrett ,



 



I did verify and confirmed that, That made me also to go a bit into more details in investigating the rest of the fields from the Calendar itself to the training List, And my discovery was also there, the Query List it is not pulling the correct [Time] from the Calendar to the Training List but pulling correctly the other Fields like Training Cost and Training Location, Which makes me a bit concerned because it will break the purpose of this solution as it will provide false [Time] to the users, Please take a look below of what I am referring to:





The top is the calendar please pay attention to the time and the name of the training,





Then the top is the process I ran from my Training List and it displays a complete different time I set from my calendar, Then Querying the Training List on the Event Reminder Workflow it is worse,



 



With thanks



 



 



 



 


Yes, I can see the different in Training Cost and Dates.



The time diff in SharePoint is 4 hours (2pm to 6pm) 



however the time diff in the Form is 7 hours (7am to 2pm).



 



Lets verify that we are referencing the correct record. Can you enable the following:



1. In your SharePoint List, Show the ID column.



2. In your Form, add a Short Text control that connects to the SharePoint ID column. Show the ID on the form.



 



I advise you to have a detail discussion with your senior developer to resolve these issues first.



 



 



 


Reply