Separate Email Notifications When Multiple Records Change

  • 0
  • 1
  • Question
  • Updated 3 years ago
  • Answered

I have a "Shopping List" table where some users request items to be purchased (requester) and other users purchase those items (purchaser).  So on any given day there may be 10 requesters requesting items to be purchased, but only one purchaser goes to buy those items.  When the purchaser returns, multiple records are updated all at once (via grid edit) changing the status from "requested" to "purchased."  The requesters then come pick up their items. 


So I need separate notifications to go to each requester listing only their items that have been purchased.  I.e.: "John, the following 4 items you requested have been purchased."  "Sally, the following 10 items you requested have been purchased."


If this is not possible, it would be acceptable to have one email of all changed items go to every requester that appears on the report.  I.e. "Tom, Sally, the following 14 items have been purchased."  But I don't want to email every requester every day when 90% of those requesters have no purchased items on the report.  (This sort of "notification spam" results in people ignoring the notifications and reverting to some other method of communication.)


Also, due to the training that would be involved, self-subscribing to a report is not an option (though I admit it would work the best...). 


Photo of Ryan

Ryan

  • 88 Points 75 badge 2x thumb

Posted 3 years ago

  • 0
  • 1
Photo of Trinity_QB_Ninja

Trinity_QB_Ninja, Champion

  • 40 Points
Since you are using grid edit to modify the records, you need to edit the "Multiple Record Version" of the email notification.  If you restrict access to the requesters to only see their requests, then the email that they receive should only include the items that they requested.  These will be in an embedded report in the email.  You can add custom text above and below the records, but it would need to be generic.  For example: "Tom, the following items have been purchased.".  There will be one email per person.
I would make a report of Requestors with items purchased today.  To make that report, you will need a summary field of the # of items purchased today.  I'm assuming that there is a table of Requestors or if not, you would need to make one.  ie 1 Requestor has many requested Purchases.

I would then make a Subscription report to fire each Sunday.  In all probability you are not working Sunday if this is some kind of regular office type environment, and so that Subscription would never fire.  That is perfect.

Make a form on the a Table of Requestors the Requestor name at the top and the list of items Purchased today (embedded Report link with details listed).


When the Shoppers have all returned and the data is updated, then someone will push the URL formula button to fire that Subscription manually.  The format for that is visible when you click the button to send a test subscription.

I would just copy and paste that URL into a dashboard as a button.
Photo of Ryan

Ryan

  • 88 Points 75 badge 2x thumb
Clever idea restricting access to only the records they own, but for various reasons they all need to be able to see all the items if they log in.  The only time I want the list pared down to individual users is during the notification.
Photo of Ryan

Ryan

  • 88 Points 75 badge 2x thumb
Hi Mark, thanks for the response.  I've read your answer twice and am still trying to understand it in full before I try to implement it.  In short, you're pushing the notification to the table of Requestors, rather than firing it from the actual Shopping List table, is that correct?  

This seems like it might be a clever way to do it... I'm just really frustrated that there isn't a native notification type to handle this scenario.  Even just putting a setting at the app/table level that says "treat batch changes as multiple individual changes" would make my life a lot easier.  I rarely, if ever, want a full report of all the changes that were just uploaded/applied.  

Also, I think I saw a suggestion in the pipeline for triggering notifications based on formula fields... which would make your answer even better (remove the manual trigger step).  We'll have to see if that one gets implemented any time soon.
Well, I think that you would want to manually decide when all the shopping has been completed  and all data entry completed for the day before firing off the Subscription to "All Requesters who have had shipping done for them today.  So I think pushing a dashboard button is a very reasonable way to do this, as only you know when all data entry has been completed.
... and yes, you are firing a Subscription off to all Requestors.  In thinking about this, that means that the report will need to filter where I am the current User.  So you would need to filter the Report where the [Requestor] is the current user.  Then they would need to get a report with an obvious button to push to see their Shopped items, when really just means to display their record on a special form which includes items shopped today.

The other option is to fire a Notification for each record, by clicking a button on each record (each Requestor on the report).  That would send out a Notification as opposed to a 1 line Subscription report which would then need another click by the user to see the form.

The Notifications could be fired by kicking off a script, if there are many Requestors to Notify.
Photo of Ryan

Ryan

  • 88 Points 75 badge 2x thumb
Now that you mention it... the shoppers might not object to pushing a button on each line item of the shopping list.  The button would change the status and trigger a single-record version notification, which is easy to build.  There would definitely be less inbox clutter with a single notification when all shopping is done, but I don't think this is (currently) an issue since the number of items purchased per requester is usually not super high.  It also kicks the can down the road a bit to give QB more time to make their notification configuration screen a bit more robust.
Yup, they can push a button to update the requested item to Status of "Purchased" and that would trigger the email to the Requestor. Stupid simple.  Let me know if you need help with the button.