A client has asked that an email or SMS reminder be sent if a user fails to submit a weekly report. The weekly report would be created as an activity - for example, by noon every Friday. I can't quite see how this can be done, but others may have more imagination then me! So, is this possible? Perhaps using a combination of CiviRules and Scheduled Reminders?

  • What CMS are you using? – Tony Horrocks Nov 25 '18 at 14:18
  • Tony, using Drupal as the CMS – Andy Clark Nov 25 '18 at 14:36

How about something like

  • create a Group of all possible recipients of the reminder (X)

  • create a Smart Group of all those who did the Report (Y)

  • create a Smart Group Z = X-Y (use 'Custom Search = Include/Exclude)

  • use Z as your 'target' in Scheduled Reminders


  • create the Activity for every person who needs to do this

  • set the Activity to Scheduled

  • ensure that submitting the Report sets the Activity to Completed

  • set Reminder to go to all those that are still set as Scheduled

  • Thanks Pete, I really like the first idea and will give it a try – Andy Clark Nov 25 '18 at 18:55
  • 1
    In fact, I found the second to be best. I used CiviRules to create the scheduled activities weekly for each member of a group. Then used Scheduled Reminders to remind contacts to do the weekly report, and then same again if they didn't do the report after a certain time. Works a treat - thanks! – Andy Clark Nov 30 '18 at 16:12
  • Do you want to add your own recipe as the Answer and 'accept' it - or one of us Edit mine to include CiviRules? just makes it easier for other folk if they can see the solution in the Answer rather than reading through all the comments – petednz - fuzion Nov 30 '18 at 20:25
  • I'll set out the winning recipe as the anser, but you should get the credit, Pete! – Andy Clark Dec 3 '18 at 9:07

Another idea is not CiviCRM native, but you can use Drupal Rules. Create a Rule Set component that sends the reminder email. Maybe call it reminder. Make it accept either the Drupal UserID or the CiviCRM ID plus the Activity ID as a parameter.

Get all the people you need to a CiviCRM group.

Create an activity and assign it to each person in the group.

Then create a rule that is triggered by the activity being created and scheduled.

The rule schedules the Reminder email to be sent in a week's time

Then create a rule for when the activity is updated and completed.

This rule unschedules any existing reminders the same user and the same activity ID.


Here's one workable solution to having a Scheduled Reminder occur when something doesn't happen - as opposed to when it does. I used CiviRules to create scheduled activities weekly for each member of a group who must do a report - to make it weekly I selected 'Daily trigger for group' and then selected 'Delay action' to 'Every week'. The activity type is 'Weekly Report'. Then I used Scheduled Reminders to remind users to update the weekly report activity and set it to completed. - based on looking for the activity types as 'Scheduled' - 1 hour after they were created by CiviRules. And then another Scheduled Reminder at a later time - checking if the activity was still 'Scheduled' and not 'Completed'. Works a treat - credit to Pete!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.