I have a contribution page that has pcp enabled. I want to send out a mass email to all the pcp owners. I can display a list of all the pages with owners, but I can't do any actions on them. Is there an easy (or even a hard) way to do this?
1 Answer
This is definitely a blind spot in CiviCRM! I don't think there's anything except a very hard way: Write SQL to get the contact IDs, then import those IDs, assigning them to a new group.
To get the IDs of EVERYONE with a PCP, here's the SQL:
SELECT contact_id from civicrm_pcp;
If you want to get the PCPs associated with a particular contribution page, and that contribution page's ID is 12, here's the SQL:
SELECT contact_id from civicrm_pcp cp JOIN civicrm_pcp_block cpb on cp.pcp_block_id = cpb.id WHERE cpb.entity_id = 12 AND cpb.entity_table = 'contribute';
If it's an event page, change contribute
to event
.
Export that as CSV (this is trivial in PHPMyAdmin, for command line you can look up syntax). Import the list of ONLY contact IDs to CiviCRM through Contacts menu » Import Contacts. On screen 4 of 4 of the import, you can specify a (new or existing) group to add your contacts to. Once it's imported, you can mass mail the contacts.
Sorry it's such a hassle! Hopefully an organization invested in PCPs will step up and fund a better solution. If nothing else, a custom search would be easy to write.