Skip to content

List of all dispatched events

Below a list of all events to which you can listen to.

Event Dispatched from Event Class Alias on Description More info
civi.order.complete CRM_Contribute_BAO_Contribute
civi.dao.preUpdate CRM_Core_DAO Civi\Core\DAO\Event\PreUpdate
civi.dao.postUpdate CRM_Core_DAO Civi\Core\DAO\Event\PostUpdate
civi.dao.preInsert CRM_Core_DAO Civi\Core\DAO\Event\PreInsert
civi.dao.postInsert CRM_Core_DAO Civi\Core\DAO\Event\PostInsert
civicrm_postSave_* CRM_Core_DAO Civi\Core\Event\GenericHookEvent The * indicates the table name. E.g. civicrm_contact.
civi.dao.preDelete CRM_Core_DAO Civi\Core\DAO\Event\PreDelete
civi.dao.postDelete CRM_Core_DAO Civi\Core\DAO\Event\PostDelete
hook_civicrm_pre CRM_Core_Hook Civi\Core\Event\PreEvent Entity
hook_civicrm_post CRM_Core_Hook Civi\Core\Event\PostEvent Entity
hook_civicrm_postCommit CRM_Core_Hook Civi\Core\Event\PostEvent Entity
hook_civicrm_customPre CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_custom CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
civi.core.exit CRM_Core_Error CRM_Utils_System void
civi.core.install CRM_Core_Config Civi\Core\Event\SystemInstallEvent
civi.invoke.auth CRM_Core_Invoke Civi\Core\Event\GenericHookEvent
civi.region.render CRM_Core_Regiion Civi\Core\Event\GenericHookEvent
civi.smarty.error CRM_Core_Smarty Civi\Core\Event\SmartyErrorEvent
civi.esm.loader.default Civi\Core\Container Civi\Core\Event\GenericHookEvent`
civi.esm.useModule CRM_Core_Resources_CollectionTrair Civi\Core\Event\GenericHookEvent
hook_civicrm_esmImportMap CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
civi.session.storeObjects CRM_Core_BAO_Cache Civi\Core\Event\GenericHookEvent
civi.session.restoreObjects CRM_Core_BAO_Cache Civi\Core\Event\GenericHookEvent
civi.core.clearcache Civi\Core\Rebuilder void
civi.cache.*.clear CRM_Utils_Cache_CacheWrapper Civi\Core\Event\GenericHookEvent The * indicates the name of the service
civi.mailing.track CRM_Mailing_BAO_MailingTrackableURL Civi\Core\Event\GenericHookEvent
civi.queue.check CRM_Queue_Runner Civi\Api4\Action\Queue\RunItems Civi\Core\Event\GenericHookEvent
civi.queue.runTask.start CRM_Queue_Task Civi\Core\Event\GenericHookEvent
civi.queue.runTask.finally CRM_Queue_Task Civi\Core\Event\GenericHookEvent
hook_civicrm_queueTaskError CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_queueStatus CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_queueRun CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_queueActive CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_initiators CRM_Utils_Hook Civi\Core\Event\GenericHookEvent Context For
hook_civicrm_userContentPolicy CRM_Core_Smarty_UserContentPolicy Civi\Core\Event\GenericHookEvent
hook_civicrm_permissionList Civi\Api4\Action\Permission\Get CRM_Core_SelectValues Civi\Core\Event\GenericHookEvent
hook_civicrm_permission_check CRM_Core_Permission Civi\Core\Event\GenericHookEvent
hook_civicrm_permission CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_buildAsset Civi\Core\AssetBuilder Civi\Core\Event\GenericHookEvent
hook_civicrm_getAssetUrl Civi\Core\AssetBuilder Civi\Core\Event\GenericHookEvent
hook_civicrm_alterBundle CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_coreResourceList CRM_Core_Resources_Common Civi\Core\Event\GenericHookEvent
hook_civicrm_alterResourceSettings CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterAngular CRM_Core_Hook Civi\Core\Event\GenericHookEvent
hook_civicrm_angularModules CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterExternUrl CRM_Core_Utils_System Civi\Core\Event\GenericHookEvent
hook_civicrm_unhandled_exception CRM_Core_Hook Civi\Core\Event\UnhandledExceptionEvent
hook_civicrm_eventDefs CRM_Core_Hook Civi\Core\Event\GenericHookEvent
hook_civicrm_post_case_merge CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_pre_case_merge CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_caseChange CRM_Core_Hook Civi\CCase\Event\CaseChangeEvent
hook_civicrm_alterMailStore CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterMailParams CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterMailingLabelParams CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_emailProcessorContact CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterMailer CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterMailingRecipients CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_postMailing CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_postEmailSend CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_inboundSMS CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_check CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_cryptoRotateKey Civi\Api4\Action\System\RotateKey Civi\Core\Event\GenericHookEvent
hook_civicrm_relativeDate Civi\Core\Event\GenericHookEvent
hook_civicrm_invalidateChecksum CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterCustomFieldDisplayValue CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterUFFields CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_postIPNProcess CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_geocoderFormat CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_idsException CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_postJob CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_preJob CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_entityRefFilters CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterEntityRefParams CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_batchItems CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_batchQuery CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterDeferredRevenueItems CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_fileSearches CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_container CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterDisplayName CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_dashboard_defaults CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_queryObjects CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterReportVar CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterBarcode CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterBadge CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_searchProfile CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_viewProfile CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_processProfile CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_validateProfile CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_buildProfile CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_cron CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_apiWrappers CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterSettingsMetaData CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterSettingsFolders CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_disable CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_enable CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_install CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_postInstall CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_uninstall CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_upgrade CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_scanClasses CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_entityTypes CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterLogTables CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_translateFields CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_triggerInfo CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_crypto CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_buildGroupContactCache CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_buildUFGroupsForModule CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_searchColumns CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_summaryActions CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterAPIPermissions CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_importAlterMappedRow CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_import CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_export CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_emailProcessor CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_findExistingDuplicates CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_findDuplicates CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_dupeQuery CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterLocationMergeData CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_merge CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_navigationMenu CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_optionValues CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_config CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_caseEmailSubjectPatterns CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_caseTypes CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_caseSummary CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterMailContent CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterCalculatedMembershipStatus CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_membershipTypeValues CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterPaymentProcessorParams CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_contactListQuery CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_summary CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_mailingTemplateTypes CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_mailingGroups CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_mailSetupActions CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_eventDiscount CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_searchTasks CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_fieldOptions CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_unsubscribeGroups CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_copy CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_tokenValues CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
civi.token.list Civi\Token\TokenProcessor Civi\Token\Event\TokenRegisterEvent
civi.token.eval Civi\Token\TokenProcessor Civi\Token\Event\TokenValueEvent
civi.token.render Civi\Token\TokenProcessor Civi\Token\Event\TokenRenderEvent
hook_civicrm_tokens CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterAdminPanel CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_tabset CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_buildStateProvinceForCountry CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_buildAmount CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_referenceCounts CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_recent CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_dashboard CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_managed CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_activeTheme CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_themes CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterMenu CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_xmlMenu CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_selectWhereClause CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_aclGroup CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_aclWhereClause CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_validateForm CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_postProcess CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_buildForm CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_preProcess CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_pageRun CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterContent CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_alterTemplateFile CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
hook_civicrm_links CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
civi.api4.getLinks Civi\Api4\Action\GetLinks Civi\Core\Event\GenericHookEvent
civi.api4.validate Civi\Api4\Action\WorkflowMessage\Render Civi\Api4\Generic\AbstractCreateAction Civi\Api4\Generic\AbstractSaveAction Civi\Api4\Generic\AbstractUpdateAction Civi\Api4\Event\ValidateValuesEvent Entity
civi.search.autocompleteDefault Civi\Api4\Generic\AutocompleteAction Civi\Core\Event\GenericHookEvent Autocomplete
civi.entity.fields Civi\Schema\EntityProvider Civi\Core\Event\GenericHookEvent Entity
civi.api4.entityTypes Civi\Api4\Provider\ActionObjectProvider Civi\Core\Event\GenericHookEvent
civi.api4.authorizeRecord Civi\Api4\Utils\CoreUtil Civi\Api4\Event\AuthorizeRecordEvent Entity
civi.api.authorize
civi.api.resolve
civi.api.prepare
civi.api.respond
civi.api.exception
civi.api4.report.get Civi\Api4\Action\Report\Get Civi\Core\Event\GenericHookEvent
civi.search.defaultDisplay Civi\Api4\Action\SearchDisplay/GetDefault Civi\Core\Event\GenericHookEvent
civi.import.bundledActions Civi\Import\ImportParser Civi\Core\Event\GenericHookEvent
civi.richtext.formats Civi\Core\RichText Civi\Core\Event\GenericHookEvent
civi.url.render.* Civi\Core\Url Civi\Core\Event\GenericHookEvent
hook_civicrm_alterRedirect CRM_Utils_Hook Civi\Core\Event\GenericHookEvent All Hooks
civi.schema.fts_indices Civi\Schema\FullTextSearch Civi\Core\Event\GenericHookEvent The * indicates the scheme (e.g. https or mailto etc.)
civi.actionSchedule.getMappings CRM_Core_BAO_ActionSchedule Civi\ActionSchedule\Event\MappingRegisterEvent
civi.afform_admin.metadata Civi\AfformAdmin\AfformAdminMeta Civi\Core\Event\GenericHookEvent
civi.afform.createToken Civi\Afform\Tokens Civi\Core\Event\GenericHookEvent
civi.afform.input_types Civi\Afform\Utils Civi\Core\Event\GenericHookEvent
civi.afform.sort.prefill Civi\Api4\Action\Afform\AbstractProcessor Civi\Afform\Event\AfformEntitySortEvent
civi.afform.prefill Civi\Api4\Action\Afform\AbstractProcessor Civi\Afform\Event\AfformPrefillEvent
civi.afform.sort.submit Civi\Api4\Action\Afform\AbstractProcessor Civi\Afform\Event\AfformEntitySortEvent
civi.afform.submit Civi\Api4\Action\Afform\AbstractProcessor Civi\Afform\Event\AfformSubmitEvent
civi.afform.get Civi\Api4\Action\Afform\Get Civi\Core\Event\GenericHookEvent
civi.afform.validate Civi\Api4\Action\Afform\Submit Civi\Afform\Event\AfformValidateEvent
civi.afform.searchPaths CRM_Afform_AfformScanner Civi\Core\Event\GenericHookEvent
civi.authx.checkCredential Civi\Authx\Authenticator Civi\Authx\CheckCredentialEvent
civi.authx.checkPolicy Civi\Authx\Authenticator Civi\Authx\CheckPolicyEvent
civi.checkout.options Civi\Checkout Civi\Core\Event\GenericHookEvent
civi.iframe.allowRoutes Civi\Iframe\Router Civi\Core\Event\GenericHookEvent
civi.standalone.login Civi\Api4\Action\User\Login Civi\Standalone\Event\LoginEvent
civi.standalone.loadUser Civi\Standalone\Security Civi\Core\Event\GenericHookEvent
civi.standalone.checkPassword Civi\Standalone\Security Civi\Core\Event\GenericHookEvent
civi.standalone.altermfaclasses Civi\Standalone\MFA\Base Civi\Core\Event\GenericHookEvent
civi.setup.init Civi\Setup Civi\Setup\Event\InitEvent
civi.setup.checkAuthorized Civi\Setup Civi\Setup\Event\CheckAuthorizedEvent
civi.setup.checkRequirements Civi\Setup Civi\Setup\Event\CheckRequirementsEvent
civi.setup.checkInstalled Civi\Setup Civi\Setup\Event\CheckInstalledEvent
civi.setup.installFiles Civi\Setup Civi\Setup\Event\InstallFilesEvent
civi.setup.installDatabase Civi\Setup Civi\Setup\Event\InstallDatabaseEvent
civi.setup.uninstallFiles Civi\Setup Civi\Setup\Event\UninstallFilesEvent
civi.setup.uninstallDatabase Civi\Setup Civi\Setup\Event\UninstallDatabaseEvent
civi.setupui.construct Civi\Setup Civi\Setup\UI\Event\UIConstructEvent
civi.setupui.run Civi\Setup\UI\SetupController Civi\Setup\UI\Event\UIBootEvent
civi.setupui.boot Civi\Setup\UI\SetupController Civi\Setup\UI\Event\UIBootEvent
civi.phpstorm.flush phpstorm.php void

The Dispatched from column means where in the CiviCRM code this event is dispatched.

The Event class column gives the class name of the event. In CiviCRM all event classes inherit Civi\Core\Event\GenericHookEvent class.

When the Alias on column has a value it means you can listen to the event event::alias. E.g. hook_civicrm_pre::Contribution

Every event which starts with hook_civicrm_ are CiviCRM Hooks. See All Hooks for a full description of those hooks.