Skip to content
CiviCRM Documentation
Introduction
Initializing search
Home
User Guide
Administrator Guide
Developer Guide
About
CiviCRM Documentation
Home
Home
Welcome
User Guide
User Guide
Home
Introduction
Introduction
What is CiviCRM?
Is CiviCRM for You?
Real World Examples
Components
Extensions
Who is CiviCRM?
Initial set up
Initial set up
Installation and basic set-up
Customizing the user interface
Dates
Addresses
Mapping
Users contacts
Permissions and access control
Logging
Error handling
Scheduled Jobs
Searching and reporting
Searching and reporting
Introduction
Search URL Filtering
Reporting
Reporting
What is CiviReport?
What You Need To Know
Set-up
Everyday Tasks
External reporting
Search Kit
Search Kit
Introduction to Search Kit
Search For
With (Optional) / With (Required) / Without
Group By
Where
Having
Field Transformations
Query Info
Search Button
Actions
Save
Title
Description
Expires
Tags
Relative Date Formats
Export and Import
Example: Create a Soft Credit Search and Display
Example: Create an Upcoming Events Form
Example: Create a filterable public Membership List with Logo Grid
Example: Create a List of Donor Members to Invite
Example: Listing Contacts who have relationships of the same type
Customising the user interface
Customising the user interface
FormBuilder
Menu, dashboard and dashlets
Search Results Actions
Organising your data
Organising your data
Overview
Mapping your data
Contacts
Groups and tags
Smart groups
Activities
Relationships
Creating Custom Fields
Profiles
Undelete
Common workflows
Common workflows
Importing Data into CiviCRM
Exporting Your Contacts
Deduping and Merging
Tokens and mail merge
Postal mail communications
Automating tasks
Contributions
Contributions
What is CiviContribute?
Key concepts and configurations
Online contributions
Offline fundraising
Manual entry of contributions
Finding and viewing contributions
Manual receipts and thank-you letters
Reports and analysis
Soft credits
Personal Campaign Pages
Accounting Integration
Payment processors
Invoicing
Sales tax and VAT
Premiums
Widgets
Importing contributions
Pledges
Pledges
What is CiviPledge?
What you need to know
Set-up
Everyday tasks
Pledges Reports and Analysis
Events
Events
What is CiviEvent?
Event planning and management
Creating an event
Online event registration
Integrating events with your website
Manual event registration
Keeping track of events and participants
Complex event fees
Event templates
Reports
Custom data for events
Repeating Events
Membership
Membership
What is CiviMember
Defining memberships
Online membership sign up
Manual entry of memberships
Membership price sets
Finding and viewing memberships
Membership Reports
Renewals
Cancelling and expiring memberships
Making member only websites
Email
Email
What is CiviMail?
What You Need To Know
Set-up
Maintaining Healthy Email Lists
Everyday tasks
Mass mailings using CiviMail
Reports and analysis
Scheduled reminders
CiviMail A/B Testing
Message templates
SMS (text messaging)
SMS (text messaging)
What is SMS?
Set-up
Everyday tasks
Reports and Analysis (SMS)
Case management
Case management
What is CiviCase?
What You Need To Know
Set-up
Everyday Tasks
Reports and analysis
Campaign
Campaign
What is CiviCampaign?
What You Need To Know
Set-up
Everyday tasks
Reports and analysis
Survey
Survey
What is CiviSurvey?
What You Need To Know
Set-up
Everyday Tasks
Reports and analysis
What is GOTV (Voter Tracking)?
Petition
Petition
What is CiviPetition?
What You Need To Know
Set-up
Everyday Tasks
Reports and analysis
Civic Engagement
Civic Engagement
What is CiviEngage?
What You Need To Know
Set-up
Everyday Tasks
Reports and analysis
Grants
Grants
What is CiviGrant?
What You Need To Know
Set-up
Everyday tasks
Reports and analysis
The CiviCRM Community
The CiviCRM Community
The CiviCRM Community
Bug Reporting
Localising CiviCRM
Contributing to this guide
Asking for help in Chat
Appendices
Appendices
History of this book
Free Software?
Glossary
Credits
Administrator Guide
Administrator Guide
Home
Setup
Setup
Setup
Backups
Secrets
Securing your site
Scheduled jobs
Directories
Caches
OAuth
API Keys
CiviMail setup
CiviMail setup
CiviMail setup
Outbound mail
Inbound mail
Deliverability
Payment processors
Payment processors
Payment processors
Recurring payments
Authorize.net
Card access
First data
iATS
Moneris
PayFlow
PayJunction
PayPal Standard
PayPal Pro and Express
Ogone
Detailed logging
Optimizations
Multisite
Upgrades
Upgrades
Upgrades
Upgrade in Drupal 7
Upgrade in Drupal 8/9/10
Upgrade in WordPress
Upgrade in Joomla
Upgrade in Backdrop
Version-specific upgrade steps
Troubleshooting
Customization
Customization
Extensions
Override settings
Override paths
Theme information
CMS Integration
CMS Integration
Drupal integration
Drupal integration
Drupal users, roles and groups integration
Drupal views
Webform (Drupal 8)
Webform (Drupal 7)
WYSIWYG integration
Bootstrap CSS
Mailhandler
Backdrop integration
Backdrop integration
Backdrop users, roles and groups integration
Backdrop views
Webform
WordPress integration
WordPress integration
WordPress integration
Base page
Clean URLs
Forms in WordPress
Plugin integration
Joomla integration
Joomla integration
Joomla integration
Dashboard in Joomla
Forms in Joomla
Special situations
Special situations
Staging and production
Running CiviCRM behind a firewall
Switching servers
Switching CMS
Switching CMS
Switch CMS
Switch from Drupal to Backdrop
Switch from Drupal to Wordpress
Switch from Joomla to Drupal
Developer Guide
Developer Guide
Home
Basics
Basics
Developer Community
Requirements
Useful Skills
Planning Your Project
Buildkit
Buildkit
Overview
Docker
Generic
Nix
Virtual Desktop
Tools
Tools
Development Tools
civibuild
cividist
civilint
civi-test-run
Issue Tracking
Git, GitHub, & GitLab
Jenkins
PhpStorm
Debugging
Universe
Core
Core
When to Edit Core
How to Contribute
Reviewing a PR
Verifying a Bug Fix
Release Process
Dependencies
FormBuilder (Afform)
FormBuilder (Afform)
Overview
Afform Core
FormBuilder
Search Forms
Embedding
Events
Behaviors
Search Kit
Search Kit
Overview
Query Building with APIv4
Links and Tasks
Displays and the AngularJS UI
Add Saved Search to Your Own Extension
Financial
Financial
Overview
Order API
Payment API
Entities
Recurring Contributions
Extensions
Extensions
Basics
Packaging Options
civix
civix (legacy)
Extension Structure
info.xml File
Managed Entities
Documentation
Pop-up Help
Translation
Publishing Extensions
Extension Lifecycle
Troubleshooting
Advanced Patterns
Payment Processors
Payment Processors
Overview
The Payment Class
Testing
CMS-specific development
API
API
API Intro
APIv4
APIv4
APIv4 Usage
APIv4 Actions
APIv4 Fields
Relational Data
Relational Data
Implicit Joins
Explicit Joins
Set Operations
Option Lists
Chaining
Custom Data
Managed APIv4 Entities
Differences Between Api v3 and v4
APIv4 Architecture
APIv4 Changelog
APIv4 REST
APIv3
APIv3
APIv3 Usage
APIv3 Interfaces
APIv3 Actions
APIv3 Options
APIv3 Joins
APIv3 Chaining
APIv3 Custom Data
APIv3 Examples
APIv3 Changelog
APIv3 REST
WordPress REST Interface
API ERDs
Hooks
Hooks
Hooks Introduction
Hooks Changelog
Usage
Usage
Hooks in Extensions
Hooks in Symfony
Hooks in Drupal
Hooks in Joomla
Hooks in WordPress
All Hooks
Batch Hooks
Batch Hooks
hook_civicrm_batchItems
hook_civicrm_batchQuery
Case Hooks
Case Hooks
hook_civicrm_caseChange
hook_civicrm_caseEmailSubjectPatterns
hook_civicrm_caseTypes
hook_civicrm_post_case_merge
hook_civicrm_pre_case_merge
Database Hooks
Database Hooks
hook_civicrm_alterLocationMergeData
hook_civicrm_copy
hook_civicrm_custom
hook_civicrm_customPre
hook_civicrm_managed
hook_civicrm_merge
hook_civicrm_post
hook_civicrm_postCommit
hook_civicrm_postSave_table_name
hook_civicrm_pre
hook_civicrm_referenceCounts
hook_civicrm_triggerInfo
Dedupe Hooks
Dedupe Hooks
hook_civicrm_dupeQuery
hook_civicrm_findDuplicates
Entity Hooks
Entity Hooks
hook_civicrm_entityTypes
Extension Lifecycle Hooks
Extension Lifecycle Hooks
hook_civicrm_disable
hook_civicrm_enable
hook_civicrm_install
hook_civicrm_postInstall
hook_civicrm_uninstall
hook_civicrm_upgrade
Form Hooks
Form Hooks
hook_civicrm_alterAngular
hook_civicrm_alterContent
hook_civicrm_alterTemplateFile
hook_civicrm_buildForm
hook_civicrm_idsException
hook_civicrm_postProcess
hook_civicrm_preProcess
hook_civicrm_validate
hook_civicrm_validateForm
GUI Hooks
GUI Hooks
hook_civicrm_activeTheme
hook_civicrm_alterBundle
hook_civicrm_alterCustomFieldDisplayValue
hook_civicrm_alterEntityRefParams
hook_civicrm_alterMenu
hook_civicrm_alterAdminPanel
hook_civicrm_buildAmount
hook_civicrm_caseSummary
hook_civicrm_contact_get_displayname
hook_civicrm_customFieldOptions
hook_civicrm_dashboard
hook_civicrm_dashboard_defaults
hook_civicrm_entityRefFilters
hook_civicrm_fieldOptions
hook_civicrm_links
hook_civicrm_navigationMenu
hook_civicrm_pageRun
hook_civicrm_searchColumns
hook_civicrm_searchTasks
hook_civicrm_searchKitTasks
hook_civicrm_summary
hook_civicrm_summaryActions
hook_civicrm_themes
hook_civicrm_tabs
hook_civicrm_tabset
hook_civicrm_xmlMenu
Import Hooks
Import Hooks
hook_civicrm_importAlterMappedRow
hook_civicrm_import
Mail Hooks
Mail Hooks
hook_civicrm_alterMailContent
hook_civicrm_alterMailer
hook_civicrm_alterMailParams
hook_civicrm_alterMailStore
hook_civicrm_alterMailingRecipients
hook_civicrm_emailProcessor
hook_civicrm_emailProcessorContact
hook_civicrm_mailingGroups
hook_civicrm_mailSetupActions
hook_civicrm_postEmailSend
hook_civicrm_postMailing
hook_civicrm_unsubscribeGroups
Membership Hooks
Membership Hooks
hook_civicrm_alterCalculatedMembershipStatus
hook_civicrm_membershipTypeValues
Permission Hooks
Permission Hooks
hook_civicrm_aclGroup
hook_civicrm_aclWhereClause
hook_civicrm_alterApiRoutePermissions
hook_civicrm_alterAPIPermissions
hook_civicrm_invalidateChecksum
hook_civicrm_notePrivacy
hook_civicrm_permission
hook_civicrm_permission_check
hook_civicrm_permissionList
hook_civicrm_selectWhereClause
Profile Hooks
Profile Hooks
hook_civicrm_buildProfile
hook_civicrm_buildUFGroupsForModule
hook_civicrm_processProfile
hook_civicrm_searchProfile
hook_civicrm_validateProfile
hook_civicrm_viewProfile
Queue Hooks
Queue Hooks
hook_civicrm_queueActive
hook_civicrm_queueRun
hook_civicrm_queueStatus
hook_civicrm_queueTaskError
Report Hooks
Report Hooks
hook_civicrm_alterReportVar
SMS Hooks
SMS Hooks
hook_civicrm_inboundSMS
Scheduled Job / cron Hooks
Scheduled Job / cron Hooks
hook_civicrm_cron
hook_civicrm_preJob
hook_civicrm_postJob
Token Hooks/listeners
Token Hooks/listeners
civi.token.eval
civi.token.list
hook_civicrm_tokens
hook_civicrm_tokenValues
Uncategorized Hooks
Uncategorized Hooks
hook_civicrm_alterBadge
hook_civicrm_alterBarcode
hook_civicrm_alterExternUrl
hook_civicrm_alterLogTables
hook_civicrm_alterMailingLabelParams
hook_civicrm_alterPaymentProcessorParams
hook_civicrm_alterRedirect
hook_civicrm_alterSettingsFolders
hook_civicrm_alterSettingsMetaData
hook_civicrm_alterUFFIelds
hook_civicrm_angularModules
hook_civicrm_apiWrappers
hook_civicrm_buildAsset
hook_civicrm_buildStateProvinceForCountry
hook_civicrm_check
hook_civicrm_config
hook_civicrm_contactListQuery
hook_civicrm_container
hook_civicrm_coreResourceList
hook_civicrm_crudLink>
hook_civicrm_crypto
hook_civicrm_cryptoRotateKey
hook_civicrm_eventDiscount
hook_civicrm_export
hook_civicrm_fileSearches
hook_civicrm_geocoderFormat
hook_civicrm_getAssetUrl
hook_civicrm_oauthProviders
hook_civicrm_oauthReturn
hook_civicrm_oauthReturnError
hook_civicrm_optionValues
hook_civicrm_postIPNProcess
hook_civicrm_queryObjects
hook_civicrm_recent
hook_civicrm_scanClasses
hook_civicrm_unhandledException
hook_civicrm_userContentPolicy
Testing
Testing
Testing
Continuous Integration
PHP
PHP
PHPUnit Tests
Selenium Tests
Mink Tests
Javascript
Javascript
Karma Tests
QUnit Tests
Codeception
Protractor
Other
Other
Upgrade Tests
Manual Tests
Security
Security
Secure Coding
Securing Inputs
Securing Outputs
Permissions
Access Control
Reporting Vulnerabilities
Request Forgery
Framework
Framework
AJAX Pages and Forms Reference
AngularJS
AngularJS
AngularJS Intro
AngularJS Quick Start
AngularJS File Names
AngularJS Loader
AngularJS Changesets
Asset Builder
Authentication
Autocompletes
Bootstrap Process
Backbone Reference
Bundle Reference
Cache Reference
CiviMail
CiviReport
Codebase
Cryptography Reference
Entities
Entities
CiviCRM Entities
Schema Design
Migrating from Legacy XML
Database Transaction Reference
Formatting
File System
Import
Logging Reference
Mixins
Mixins
Introduction
New Mixin
Standard Mixins
OAuth Reference
Pipe Reference
Pseudoconstant (Option List) Reference
QuickForm Reference
QuickForm Reference
QuickForm
Entity Reference Field
Queue Reference
Region Reference
Routing
Resources Reference
Service Container
Setting
Setting
Introduction
Usage
Settings Properties
Extension Settings
Core Settings
Setup Reference
Setup Reference
Overview
Getting Started
New Installer
New Plugin
Manage Plugins
Template Reference
Template Reference
Templates
Customizing Templates
Extending Smarty
Theme Reference
Token Reference
UI Reference
Upgrade Reference
Workflow Message Reference
Translation
Translation
Translation
Translation
Database localized fields and upgrades
Standards
Standards
Coding Standards
PHP Standards
Javascript Standards
Entity Standards
Review Standards
Review Template (DEL)
Review Template (MC)
Review Template (WORD)
Documentation
Documentation
Writing Documentation
Documentation
Markdown
Style Guide
Step by Step Guides
Step by Step Guides
Create entity
Create a custom Case token
Create Cached Configuration Container
About
About
Introduction
Get Involved
Style Guide
Home
> About
About the CiviCRM Documentation