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.
Input masking, casing and phone formatting for CiviCRM forms, powered by Robin Herbots' Inputmask and Jack O'Connor's intl-tel-input.
The Contract Extension optimizes processes and communication related to the management of memberships, subscriptions, and other models involving recurring payment obligations. The extension integrates with CiviCRM’s membership management and offers the following features and benefits, among others:
Linking memberships to SEPA mandates
Significantly improved membership history (amount, bank accounts, etc.)
Recording and automatic processing of future changes (e.g., pausing and resuming a membership)
Custom forms in the backend for quickly entering changes
Recording specific information about membership models
Define the eligible campaigns for a contract
Supply an optimised "rapid create" form, that let's you efficiently register new members, i.e. creates a new contact and a new membership
and much more
All of these functions can also be used with or without logging in via online integrations. For example, members can independently update their bank account information, pause memberships, change bank details and dues, and much more.
Especially for organizations with a large membership base and unique, complex processes, the Contract Extension offers enormous automation potential and modern self-service solutions for your stakeholders.
Förderhinweis / Funding Acknowledgement
This extension of CiviCRM was developed by SYSTOPIA GmbH on behalf of the AWO Bundesverband e. V. (AWO Federal Association). We would like to express our special thanks to the Federal Ministry for Family Affairs, Senior Citizens, Women and Youth for its funding program “Securing the Future of Independent Welfare Services through Digitalization,” which made these developments possible.
Linking memberships to SEPA mandates
Significantly improved membership history (amount, bank accounts, etc.)
Recording and automatic processing of future changes (e.g., pausing and resuming a membership)
Custom forms in the backend for quickly entering changes
Recording specific information about membership models
Define the eligible campaigns for a contract
Supply an optimised "rapid create" form, that let's you efficiently register new members, i.e. creates a new contact and a new membership
and much more
All of these functions can also be used with or without logging in via online integrations. For example, members can independently update their bank account information, pause memberships, change bank details and dues, and much more.
Especially for organizations with a large membership base and unique, complex processes, the Contract Extension offers enormous automation potential and modern self-service solutions for your stakeholders.
Förderhinweis / Funding Acknowledgement
This extension of CiviCRM was developed by SYSTOPIA GmbH on behalf of the AWO Bundesverband e. V. (AWO Federal Association). We would like to express our special thanks to the Federal Ministry for Family Affairs, Senior Citizens, Women and Youth for its funding program “Securing the Future of Independent Welfare Services through Digitalization,” which made these developments possible.
Changes how the Location tab of the CiviCRM Event Info form works, so that Locations (LocBlock/address/email/phone records) can be safely shared between Events.
A CiviCRM extension for generating PDF invoices with a Swiss QR-bill (Swiss Payment Standard) slip, linked to CiviCRM contacts and contributions.
A CiviCRM extension that routes each outbound email to the correct SMTP server based on the From: address.
Appointment booking for practices with several practitioners sharing one or more rooms. Public WordPress form, room and practitioner availability, CalDAV sync.
Integrates CiviSepa with Twikey. Sends all transaction groups to Twikey. Twikey will collect the money.
Converts EventICS .ics attachments into proper METHOD:REQUEST calendar invites so Outlook shows Accept/Tentative/Decline buttons on event confirmation emails.
Search CiviCRM's debug log, stack traces included, however large the file.
Reads the CiviCRM debug log from Administer › Administration Console › Debug Log.
Search the full text of every entry, stack traces included, so you can find the class or file named in a backtrace and not only in the message line. Filter by date range and by severity, and open rotated log files as well as the one currently being written to.
Log files are read as a stream and are never loaded into memory whole, so the page opens immediately whatever the file size. Showing the newest entries reads only the end of the file: on a 269MB log holding 2.4 million entries, the first page costs a couple of block reads.
Log entries are also an APIv4 entity, DebugLogEntry, with the fields id, file, timestamp, severity, message, body and size. It is searchable, so you can build your own SearchKit searches, displays and dashboards over your logs — the bundled viewer is itself just a saved search and a table display.
Requires SearchKit and Afform. Because the records are files rather than database tables, the entity cannot be joined to other entities and does not support groupBy or having.
Reads the CiviCRM debug log from Administer › Administration Console › Debug Log.
Search the full text of every entry, stack traces included, so you can find the class or file named in a backtrace and not only in the message line. Filter by date range and by severity, and open rotated log files as well as the one currently being written to.
Log files are read as a stream and are never loaded into memory whole, so the page opens immediately whatever the file size. Showing the newest entries reads only the end of the file: on a 269MB log holding 2.4 million entries, the first page costs a couple of block reads.
Log entries are also an APIv4 entity, DebugLogEntry, with the fields id, file, timestamp, severity, message, body and size. It is searchable, so you can build your own SearchKit searches, displays and dashboards over your logs — the bundled viewer is itself just a saved search and a table display.
Requires SearchKit and Afform. Because the records are files rather than database tables, the entity cannot be joined to other entities and does not support groupBy or having.
Privacy-preserving image validation, transformation and storage for CiviCRM.
Separates the organisation paying an online membership from the individual member.
CiviCRM creates a lot of data that nothing ever cleans up. Log files are rotated but never
deleted, so the log directory grows until someone notices a single file measured in hundreds
of megabytes. civicrm_system_log records every incoming payment notification and keeps it
forever. The mailing event tables — one row per recipient, per open, per click — are usually
the largest tables on any site that sends email. None of it is removed by core.
Housekeeping adds a daily scheduled job that purges these on a retention you control, one
policy per task:
* Rotated log files, and the trigger SQL files CiviCRM writes when it cannot create triggers
itself. It will also rotate a live log file that has gone stale, which core only does on write.
* The system log, the contact change log, the mailing spool, orphaned queue items, mailing
event history, and Detailed Logging history.
* Everything core's "Clean-up Temporary Data and Files" job does — sessions, temporary tables,
the prevnext cache, expired cache entries, the job log and the upload directory. Housekeeping
delegates to the same core code, so it replaces that job rather than running alongside it.
The core job is disabled automatically once Housekeeping has run successfully, and restored
if you disable this extension.
Each task has its own retention, so rotated logs can be kept for three months while trigger SQL
goes after one. Manage them at Administer > System Settings > Housekeeping Tasks: enable or
disable each task, set how long it keeps things for, and see when it last ran and what it
removed. A status check tells you if an enabled task has quietly stopped running.
Tasks that destroy data you may still want are OFF by default and have to be enabled
deliberately: the contact change log, mailing statistics, and the Detailed Logging audit trail.
Deletes run in batches, so a large table cannot lock up the database.
This is also groundwork for the "CiviCRM Housekeeping / cleanup" proposal in dev/core#5347 —
each task declares its type, policy and retention, mirroring the fields proposed for a core
HouseKeeping entity.
deleted, so the log directory grows until someone notices a single file measured in hundreds
of megabytes. civicrm_system_log records every incoming payment notification and keeps it
forever. The mailing event tables — one row per recipient, per open, per click — are usually
the largest tables on any site that sends email. None of it is removed by core.
Housekeeping adds a daily scheduled job that purges these on a retention you control, one
policy per task:
* Rotated log files, and the trigger SQL files CiviCRM writes when it cannot create triggers
itself. It will also rotate a live log file that has gone stale, which core only does on write.
* The system log, the contact change log, the mailing spool, orphaned queue items, mailing
event history, and Detailed Logging history.
* Everything core's "Clean-up Temporary Data and Files" job does — sessions, temporary tables,
the prevnext cache, expired cache entries, the job log and the upload directory. Housekeeping
delegates to the same core code, so it replaces that job rather than running alongside it.
The core job is disabled automatically once Housekeeping has run successfully, and restored
if you disable this extension.
Each task has its own retention, so rotated logs can be kept for three months while trigger SQL
goes after one. Manage them at Administer > System Settings > Housekeeping Tasks: enable or
disable each task, set how long it keeps things for, and see when it last ran and what it
removed. A status check tells you if an enabled task has quietly stopped running.
Tasks that destroy data you may still want are OFF by default and have to be enabled
deliberately: the contact change log, mailing statistics, and the Detailed Logging audit trail.
Deletes run in batches, so a large table cannot lock up the database.
This is also groundwork for the "CiviCRM Housekeeping / cleanup" proposal in dev/core#5347 —
each task declares its type, policy and retention, mirroring the fields proposed for a core
HouseKeeping entity.
CiviVerify is a generic CiviCRM extension for issuing and redeeming single-use, time-limited verification links. A verification may refer to a contact, any APIv4 entity, or—when explicitly allowed—no entity at all. The extension never performs domain-specific follow-up work; consumers use its optional native CiviRules triggers or subscribe to its Symfony events.
