CiviRules is an extension originally developed by CiviCooP with funding from MAF Norge, Amnesty International Flanders, Ilja de Coster and CiviCooP themselves.

The aim of the extension is to provide a rule-based engine to automate administrative processes like contact classification, sending of emails, adding contacts to groups, adding tags or activities to contacts etc. Although it has initially been developed with fundraising in mind, it could be used in many ways with CiviCRM entities like memberships, activities, mailings, contacts.....

Each CiviRule has three basic elements:

Triggers that gets CiviRules into action. This will be things like:

  • contribution is added
  • contact is changed
  • activity is deleted
  • but also cron type where the CiviRule is executed when the CiviRules scheduled job runs.

Conditions that determine the conditions to be compared when the trigger occurs. The conditions determine if the action will be executed and can be combined with AND or OR. This could be stuff like:

  • when it is the first contribution of a donor
  • when the contribution is of a certain financial type AND the total amount is more than
  • when the contact is member of group xxx.

Actions that specify what is to happen if the trigger occurs and the conditions are met. Each CiviRule can have one or more actions. This could be:

  • send an emai, SMS or PDF
  • add a contact to a group
  • add an activity to a contact
  • remove a tag from a contact


This guide has two parts each aimed at a different audience.

  • Basic examples shows the CiviCRM administrator how he can configure CiviRules by means of a number of examples.
  • Create your own shows the CiviCRM developer how he can expand the extension by creating own triggers, delays, and actions.

CiviCRM versions

CiviRules has been developed for CiviCRM 4.4 and has been tested with CiviCRM 4.6 (release 1.2), as this is the version our sponsors are on. If you want CiviRules updated to a newer version you can do so (check CiviRules on GitHub: https://github.com/CiviCooP/org.civicoop.civirules. Alternatively, if you want us to do it and have some funding, contact Jaap Jansma (jaap.jansma@civicoop.org) or Erik Hommel (erik.hommel@civicoop.org)


There are a couple of blog post about the development of the extension (in descending publication date):