New Extensions

Extensions are installable packages which give CiviCRM new functionality, and this directory provides a centralized list of extensions which the CiviCRM community has created.

This listing displays CiviCRM extensions that were recently added to this extension directory. We also have an RSS feed. Click here to return to the extension directory.

The CiviCRM Case Roles extension replaces the default CiviCRM Roles on a case. It creates roles between the contact with the role and the case only, without using relationships.
Current Usage: 6
A CiviCRM extension that pushes GA4-compatible 'dataLayer' events at every step of Contribution Pages and Event Registration forms, enabling Google Analytics 4 (GA4) e-commerce tracking via Google Tag Manager (GTM).
Current Usage: 1
You wouldn't install this on a real site. It's just a collection of unit tests. But feel free to make a PR to add another test since these run regularly and once in a while catch something.
Current Usage:
This extension helps to manage reimbursements. Reimbursements usually occur while working with applications for funding programs.

It can facilitate the implementation of a reimbursement application workflow in CiviCRM (as backend) and a frontend (through the SYSTOPIA Remote Framework).
Current Usage: 2
An extension that draws Gantt charts for CiviCase and CiviGrant:

Case Gantt — one row per case, a bar from start date to end date (or “today” for ongoing cases), with each case activity plotted as a dated milestone marker. Cases are colour-coded by status.
Grant Gantt — one row per grant, a bar from the application date to the report-due date, with the decision / payment / report due dates as milestones.

Each view appears only if its component is enabled (Case Gantt needs CiviCase, Grant Gantt needs CiviGrant), so a site that uses only one never sees the other. Both share one renderer, one settings page, and the same look.

Dashlets — Each view is also available to be added to the CiviCRM Home.
Current Usage:
Adds per-field Select all/Select none actions for multi-select and checkbox custom fields on contact edit forms
Current Usage:
Adds functionality for custom invoice number cycles in a user chosen format and a new contribution type 'offers' with it's own number cycle, menu structure and custom displays.

It creates a custom table to the database, where the numbers are stored. It also creates a new financial type, payment method, financial account, message template, custom fields, overview page and navigation menu entry, when offers are activated. Please alter the message template for your own needs. It copies the invoice message template on first install, changes some labels and adds custom fields. When creating new offers, you can add custom text above and below the line items table. Position of the text may be changed in the message templates.

To add different line items to invoices or offers, it is recommended to also install the Line Item Editor Extension.

Uninstalling the extension will reset and delete all changes, except for the numbers for invoices, that have been written using the extension. Deleting the last invoice or offer in the cycle will set the counter back to the number before. Works only for the last, so no gaps in the number cycle should occure.
Current Usage: 4
Enhances the contact Change Log tab. Shows what changed inline (no need to open each row) with client-side filters for action and component.
Current Usage: 3
This extension provides password expire functionality to CiviCRM standalone.

Once a password is expired the user can still login but has to set a new password after logging in.

With scheduled reminders once can setup e-mails to remind people to set a new password or to inform them that their password is expired.
Current Usage:
The Postmark bounce handler CiviCRM extension helps track email bounces by listening for webhooks from the Postmark mail server and adding a contact activity indicating that the email bounced. The specific details regarding why the email bounced are logged as well.
Current Usage: 1
Adds an input type of "Signature" to file fields in FormBuilder.
Current Usage: 3
This extension adds a card display type for SearchKit, which allows you to create a responsive card grid from your SearchKit search results.
Current Usage: 2
This extension aims to be a toolkit to help you comply with the GDPR.

What does it do?

The core of this toolkit is a new custom group where you can store consent records with your contacts. These records can be explicit or implicit consent, opt-outs, and similar things.

It integrates neatly with the UI, and gives you some search and data entry helpers.

Each record has the following fields:

date and time
category (e.g. "newsletter")
source (e.g. "main website")
type (e.g. "opt-in", "opt-out", "soft opt-in")

In addition, there are also some optional fields for each consent record:

expiry date (consent expires after the given date/time)
terms and conditions. (the full text of the TOC that the user agreed to*)
note (in case you want to add a remark)

(*) it has a clever mechanism so that it doesn't store the same TOC text over and over.
How do I use this?

Since the actions or consequences derived from the collected data differ greatly between organisations, this toolkit doesn't do anything automatically. However, it can be used as a basis for further automation, e.g. by using the SQL Tasks extension to tag contacts for deletion if the basis for a contact's retention is not there anymore.


That's it?

Yes and no. There are some additional features that might interest you as a developer:

- There is a feature to make the communication preferences read-only, in case you want to derive them from the contact's consent record.
- There is a fully functioning API
- It defines a custom hook to be triggered if the consent records are modified for a contact. This way you can add code update the contact's permissions/subscripts/whatever right away.

What's next?

We'll keep on extending the built-in functionality of this extension, while aiming to keep it compatible with earlier versions. However, since the implementation of the GDPR is very specific to the individual organisation, this will never be "plug&play" solution for any user.

Feel free to raise ticket if you have a question.
Current Usage: