Developer’s Guide¶
- Templates
- Customizing Pages With Templates
- Developer’s Overview
 - Anatomy of a Page
 - Managing Templatesets
 - Adding Your Own Templates
 - Improving Page Load Speed
 - Suggestions for Working With Templates
- Wrapper
 - User Form
 - Donation Forms
 - Multilingual/International
 - Action Type Templates
 - Sharing and Social Media
 - Sharing and Social Media for Events
 - Responsive Design
 - Progress Meter
 - Adding a Domain Root Page
 - Using Snippets
 - Using Tags and Filters
 - Customizing Pages With Javascript
 - When to Use "id_"
 - Security Warnings
 
 - Examples
- Add Attendees After Event
 - Display a Map on Event Search
 - Notify signed-up users of an event of any changes to that event
 - Turning Off a Page
 - Displaying List of Recent Signers
 - Combining Two Pages
 - Adding Users to Multiple Lists
 - Creating An Opt-in Page
 - Creating a Standalone TAF Page
 - Adding Text for Known Users
 - Override Language Preference
 - Adding Multiple Goals
 - Adding a Static Offset to the Goal Thermometer
 - Turning Off User Recognition
 - Adding Meta Tags to the Header
 - Adding Header Tag to a Page Type
 - Sample Commented <head>
 - Randomizing Survey Question Order
 - Saving Survey Responses as a List
 - Adding Armed Services USPS Codes to Donation Pages
 - Custom Billing Dates for Recurring Donations
 - Other Recurring Donation Periods
 - Display Products by Price on a Donation Page
 - Use Amount from URL to Skip Donation Amount Step
 - Suppress Confirmation Emails With a Parameter
 - Change Event Emails Subject Lines
 - Customizing Event Search Results
 - Displaying Cohosts on Event Search Results
 - Using Whipcount Pages for “Thank and Spank” Actions
 - Using Whipcount Snippets
 - Using Google Maps on Your Event Pages
 - Prefilling Form Content From URL
 - Creating Multiple Sample Letters
 - Tweeting at Targets
 - Conditionally Display Fields on Moderation Form
 - Disable Sharing for Campaign Volunteer Pages
 - Updating Custom Templatesets to Support Moderation
 
 - Reference Documents
 
 - GitHub Connection
 - Changes in each Release
- 2.5.41 (2025)
 - 2.5.39 (2025)
 - 2.5.38 (2025)
 - 2.5.37 (2025)
 - 2.5.36 (2025 Mar 27)
 - 2.5.28 (2024 Jun 3)
 - 2.5.15 (2023 June 27)
 - 2.5.10 (2022 Oct 24)
 - 2.4.29 (2022 Jan 11)
 - 2.4.27
 - 2.4.26 (2021 Nov 2)
 - 2.4.25 (2021 Sept 10)
 - 2.4.24 (2021 Aug 26)
 - 2.4.23 (2021 June 21)
 - 2.4.22 (2021 June 2)
 - 2.4.21 (2021 May 11)
 - 2.4.20 (2021 April 21)
 - 2.4.19 (2021 April 1)
 - 2.4.18 (2021 March)
 - 2.4.13 (2020 September)
 - 2.4.12 (2020 August 19)
 - 2.4.11 (2020 July 21)
 - 2.4.10 (2020 June 15)
 - 2.4.9 (2020 June 2)
 - 2.4.8 (2020 May 20)
 - 2.4.7 (2020 May 6)
 - 2.4.6 (2020 April 20)
 - 2.4.5 (2020 March 31)
 - 2.4.4 (2020 March 5)
 - 2.4.3 (2020 February 12)
 - 2.4.2 (2020 January 28)
 - 2.4.1 (2020 January 8)
 - 2.3.59 (2019 November 6)
 - 2.3.58 (2019 October 10)
 - 2.3.57 (2019 September 10)
 - 2.3.56 (2019 July 29)
 - 2.3.55 (2019 July 10)
 - 2.3.54 (2019 June 12)
 - 2.3.53 (2019 June 4)
 - 2.3.52 (2019 May 9)
 - 2.3.51 (2019 April 23)
 - 2.3.50 (2019 March 27)
 - 2.3.49 (2019 March 7)
 - 2.3.48 (2019 Feb 19)
 - 2.3.47 (2019 Jan 30)
 - 2.3.46 (2019 Jan 9)
 - 2.3.45 (2018 November 28)
 - 2.3.44 (2018 October 30)
 - 2.3.43 (2018 October 10)
 - 2.3.42 (2018 September 26)
 - 2.3.40 (2018 September 11)
 - 2.3.39 (2018 August 29)
 - 2.3.38 (2018 August 22)
 - 2.3.37 (2018 August 14)
 - 2.3.36 (2018 July 31)
 - 2.3.35 (2018 July 10)
 - 2.3.34 (2018 June 14)
 - 2.3.33 (2018 June 6)
 - 2.3.32 (2018 May 23)
 - 2.3.31 (2018 May 9)
 - 2.3.30 (2018 April 25)
 - 2.3.29 (2018 March 28)
 - 2.3.28 (2018 March 13)
 - 2.3.27 (2018 March 1)
 - 2.3.26 (2018 February 14)
 - 2.3.25 (2018 January 31)
 - 2.3.24 (2018 January 15)
 - 2.3.23 (2017 December 14)
 - 2.3.22 (2017 November 27)
 - 2.3.21 (2017 November 15)
 - 2.3.20 (2017 October 25)
 - 2.3.19 (2017 October 2)
 - 2.3.18 (2017 September 20)
 - 2.3.17 (2017 September 7)
 - 2.3.16 (2017 August 29)
 - 2.3.14 (2017 July 19)
 - 2.3.13 (2017 June 28)
 - 2.3.12 (2017 June 22)
 - 2.3.11 (2017 May 17)
 - 2.3.10 (2017 March 15)
 - 2.3.9 (2017 February 28)
 - 2.3.8 (2017 February 9)
 - 2.3.7 (2017 February 2)
 - 2.3.6 (2017 January 12)
 - 2.3.5 (2016 December 14)
 - 2.3.4 (2016 November 30)
 - 2.3.3 (2016 November 15)
 - 2.3.2 (2016 October 19)
 - 2.3.1 (2016 October 11)
 
 - Testing Procedure
 - Reference
- Templateset Reference
- Call Page
 - Country Select
 - Date Picker
 - Donate
 - Event Attend
 - Event Attendee Details
 - Event Attendee Tell-a-Friend Message
 - Event Attendee Tools
 - Event Chooser
 - Event Contact
 - Event Create
 - Event Created
 - Event Email Attendee Removed
 - Event Email Cancelled
 - Event Email Created
 - Event Email Approved
 - Event Email from Admin
 - Event Email from Attendee
 - Event Email from Host
 - Event Email Role Changed
 - Event Host Details
 - Event Host Tell-a-Friend Message
 - Event Host Tools
 - Event Invite
 - Event Roster
 - Event Search
 - Event Search Results
 - Inline Tell-a-Friend
 - Language Picker
 - Letter
 - Letter to the Editor (LTE)
 - Login
 - Logout
 - Password
 - Petition
 - Petition Download
 - Progress Meter
 - Recurring Cancel
 - Recurring Info
 - Recurring Update
 - Reset
 - Reset Password Email
 - Signup
 - Site 404
 - Site 500
 - Site Root
 - Social Plugins
 - State Select
 - Survey
 - Thanks
 - Unsubscribe
 - User Form
 - User Form Intl
 - User Form Wrapper
 - User Merge
 - User Update
 - User Update Form
 - User View
 - Whipcount
 - Whipcount Results
 - Wrapper
 
 - Template Changes in each Release
 - Changes from the Previous Original
 - Custom Templateset Fields Reference
 - Context Object Reference
 - User Form Field Variable Reference
 - Definitions
 - Cascading Style Sheet Reference
 
 - Templateset Reference
 
 - Customizing Pages With Templates
 - Embedding
 - Custom Content & Snippets
 - REST API
- Overview
 - Examples
- Getting Started: Users
 - Actions: Update a source
 - Events: Create a new campaign
 - Events: Create a host page for a campaign
 - Events: Create an attendee page for a campaign
 - Events: Add an event to a campaign
 - Events: Add a signup to an event
 - Events: Updating events
 - Events: Updating signups
 - Events: Searching campaigns, events and signups
 - Mailings: Adding tags
 - Pages: Adding tags
 - Pages: Adding custom page fields
 - Users: Changing source
 - Users: Adding phone numbers
 - Users: Adding custom user fields
 - Implementing Whipcount Pages
 
 - Requests
 - Generic Action Processing
 - Donation Push API
 - Events
 - Mailer API
- Overview
 - Validation And Error Handling
 - Fields
 - Features Not Supported
 - Examples
 - Endpoints
- POST /rest/v1/mailer/
 - PATCH /rest/v1/mailer/{mailing_id}/
 - Targeting
 - POST /rest/v1/mailer/{mailing_id}/rebuild/
 - GET /rest/v1/mailer/{mailing_id}/status/
 - GET /rest/v1/mailer/{mailing_id}/progress/
 - POST /rest/v1/mailer/{mailing_id}/proofs/
 - POST /rest/v1/mailer/{mailing_id}/queue/
 - POST /rest/v1/mailer/{mailing_id}/stop/
 - GET /rest/v1/mailer/{mailing_id}/results/
 - POST /rest/v1/mailer/{mailing_id}/copy/
 
 
 - Creating and Running Reports
 - Uploads and Batch Processing
 - Users
 - Boundaries
 
 - Data: Subscription History
 - Database Reference
- Key Table Diagrams
 - Action Tables
- core_action
 - core_actionfield
 - core_actionnotification
 - core_actionnotification_to_staff
 - core_callaction
 - core_callaction_local_office_checked
 - core_callaction_checked
 - core_callaction_targeted
 - core_campaignvolunteeraction
 - core_eventcreateaction
 - core_eventmoderateaction
 - core_eventsignupaction
 - core_eventvolunteeraction
 - core_lteaction
 - core_whipcountactioncalled
 - spam_spamchecklog
 
 - Page Tables
- core_allowedpagefield
 - core_builtintranslation
 - core_callpage
 - core_callpage_target_groups
 - core_campaignvolunteerpage
 - core_donationpage
 - core_donationcancellationpage
 - core_donationupdatepage
 - core_eventcreatepage
 - core_eventsignuppage
 - core_eventmoderatepage
 - core_formfield
 - core_immediatedeliverylog
 - core_immediatedeliverywarning
 - core_importpage
 - core_language
 - core_letterpage
 - core_ltepage
 - core_multilingualcampaign
 - core_page
 - core_page_required_fields
 - core_page_tags
 - core_page_groups
 - core_page_visible_fields
 - core_pagefield
 - core_pagefollowup
 - core_pagefollowup_notifications
 - core_petitiondeliveryjob
 - core_petitiondeliveryjob_petitions
 - core_petitiondeliveryjob_target_groups
 - core_petitionpage
 - core_printtemplate
 - core_recurringdonationcancelpage
 - core_recurringdonationupdatepage
 - core_signaturetemplate
 - core_signuppage
 - core_surveypage
 - core_tag
 - core_tellafriendpage
 - core_unsubscribepage
 - core_userupdatepage
 - core_whipcountpage
 - core_whipcountpagefollowup
 
 - Target tables
- core_boundary
 - core_boundarygroup
 - core_congresstargetgroup
 - core_congresstargetgroup_excludes
 - core_congresstargetgroup_targets
 - core_cwcdeliverylog
 - core_mediatarget
 - core_pagetargetchange
 - core_specialtarget
 - core_specialtargetgroup
 - core_poltarget
 - core_poltargetgroup
 - core_target
 - core_targetgroup
 - core_targetoffice
 - core_letterpage_target_groups
 - core_petitionpage_target_groups
 
 - Event tables
 - Donation tables
- core_authnettransactionlog
 - core_candidate
 - core_candidate_tags
 - core_donationchangelog
 - core_donation_hpc_rule
 - core_donation_hpc_rule_condition
 - core_donation_hpc_rule_exclude_tags
 - core_donationfraudfilter
 - core_donationpage_products
 - core_order
 - core_order_detail
 - core_order_shipping_address
 - core_order_user_detail
 - core_orderrecurring
 - core_paymentaccount
 - core_product
 - core_product_tags
 - core_transaction
 
 - Mailing Tables
- core_allowedemailwrapperfield
 - core_allowedmailingfield
 - core_blackholeddomain
 - core_blackholedemail
 - core_blackholedhistory
 - core_bounce
 - core_bounce_soft
 - core_click
 - core_click_raw
 - core_clickurl
 - core_clientdomain
 - core_emailwrapper
 - core_emailwrapperfield
 - core_failedusermailing
 - core_fromline
 - core_mailboxprovideractivity
 - core_mailing
 - core_mailing_proof_users
 - core_mailing_reviewers
 - core_mailing_tags
 - core_mailingerror
 - core_mailingfield
 - core_mailinghaiku
 - core_mailingsubject
 - core_mailingvariation
 - core_mailingvariationdetail
 - core_mailingvariation_users
 - core_mailingtargeting
 - core_mailingtargetingsummary
 - core_mailingtargeting_actions
 - core_mailingadditionaltargeting
 - core_mailingtestgroup
 - core_mergefile
 - core_mergequeryparam
 - core_message_event_raw
 - core_open
 - core_open_raw
 - core_queuedemail
 - core_recurringdonortargetingoption
 - core_recurringmailingschedule
 - core_redirect
 - core_targetingactionfield
 - core_targetingqueryreport
 - core_targetingqueryreportparam
 - core_targetinguserfield
 - core_userdailysummary
 - core_usermailing
 - core_amptap
 
 - Transactional mailing Tables
 - Texting Tables
- texting_action
 - texting_adminreplymessage
 - texting_afteractionmessage
 - texting_allowedtextmessagefield
 - texting_keywordresponsemessage
 - texting_binding
 - texting_binding_originators
 - texting_blockedrecipient
 - texting_blockhistory
 - texting_broadcast
 - texting_broadcast_proof_users
 - texting_broadcast_reviewers
 - texting_click
 - texting_confirmationmessage
 - texting_deactrun
 - texting_deliveryreceipt
 - texting_incomingmessage
 - texting_incomingsegment
 - texting_list
 - texting_mergequeryparam
 - texting_message
 - texting_message_tags
 - texting_messageerror
 - texting_messagefailed
 - texting_messagesent
 - texting_messagetargeting
 - texting_messagetargeting_actions
 - texting_messagetargeting_boundaries
 - texting_messagetargeting_boundary_groups
 - texting_messagetargeting_campaigns
 - texting_messagetargeting_languages
 - texting_messagetargeting_lists
 - texting_messagetargeting_mailings
 - texting_messagetargeting_messages
 - texting_messagetargeting_tags
 - texting_messagetargeting_target_groups
 - texting_messagetargeting_text_lists
 - texting_messagetargeting_user_groups
 - texting_messagetargeting_users
 - texting_messagetargeting_was_monthly_donor
 - texting_mockgatewayreceived
 - texting_mockgatewaysent
 - texting_originator
 - texting_referredaction
 - texting_savedquerytimelog
 - texting_savedtextquerylog
 - texting_shortlink
 - texting_subscriber
 - texting_subscription
 - texting_subscriptionchangetype
 - texting_subscriptioncounthistory
 - texting_targetingactionfield
 - texting_targetingeventfield
 - texting_targetingqueryreport
 - texting_targetingqueryreportparam
 - texting_targetinguserfield
 - texting_textingsendbroadcastjob
 - texting_textmessagecountjob
 - texting_textmessagefield
 
 - Import Tables
 - User Tables
 - Subscription Tables
 - Job table
 - CMS tables
- cms_allowedtemplatesetfield
 - cms_call_form
 - cms_cannedletter
 - cms_campaign_volunteer_form
 - cms_donation_form
 - cms_donationamount
 - cms_event_create_form
 - cms_event_moderate_form
 - cms_event_signup_form
 - cms_event_volunteer_form
 - cms_githubconnection
 - cms_githubevent
 - cms_githubrepository
 - cms_githubwebhooksecret
 - cms_letter_form
 - cms_lte_form
 - cms_petition_form
 - cms_recurringdonationcancel_form
 - cms_recurringdonationupdate_form
 - cms_signup_form
 - cms_survey_form
 - cms_survey_question
 - cms_template
 - cms_templatecode
 - cms_templatehistory
 - cms_templateset
 - cms_templatesetfield
 - cms_unsubscribe_form
 - cms_uploadedfile
 - cms_user_form_field
 - cms_whipcount_form
 - cms_whipcountresponseoverride
 
 - Page testing and statistics Tables
 - Privacy Tables
 - Reports Tables
- reports_dashboardreport
 - reports_queryreport
 - reports_querytemplate
 - reports_report
 - reports_report_categories
 - reports_reportcategory
 - reports_userupdater
 - reports_userupdater_staff
 - core_defaultexcludequery
 - core_defaultexcludequeryparam
 - core_engagementqueryreport
 - core_engagementqueryreportparam
 - core_databaseaccount
 - zip_proximity
 - numeric_date
 - numeric_9999
 - numeric_digit
 
 - Sharing Tables
 - Delivery Tables
 - Salesforce Integration Tables
- core_salesforcefieldmap
 - core_salesforcelog
 - core_salesforceorderfieldmap
 - core_salesforceordermap
 - core_salesforcerecurringorderfieldmap
 - core_salesforcesyncrule
 - core_salesforcetransactionmap
 - core_salesforceusermap
 - core_salesforceuserfailedsync
 - Salesforce historical tables
 - core_historicalsalesforcefieldmap
 - core_historicalsalesforceorderfieldmap
 - core_historicalsalesforcerecurringorderfieldmap
 
 - NGP/EveryAction Integration Tables
- core_everyactionaccountmap
 - core_everyactionapilog
 - core_everyactionbulkmapping
 - core_everyactionbulkmappingfield
 - core_everyactionlog
 - core_everyactionmergequery
 - core_everyactionorderfailedsync
 - core_everyactionordermap
 - core_everyactionrestcalllog
 - core_everyactiontransactionfailedsync
 - core_everyactiontransactionmap
 - core_everyactionuserfailedsync
 - core_everyactionusermap
 
 - ActBlue Integration Tables
 - Staff User Tables
 - Config/Admin Tables
 - Summary Tables
 - Internal use only Tables
 
 - Filters & Tags
- Filters
- Arithmetic Filters
 - Text Related Filters
- akid
 - ak_field
 - ak_text
 - blank_money_field
 - break_long_words
 - collapse_spaces
 - commify_list
 - concatenate
 - count_of_characters
 - country_requires_privacy
 - endswith
 - escapeall
 - force_ssl
 - format_phone
 - get
 - has_8bit
 - has_rtl
 - is_defined
 - is_nonblank
 - iso_currency_symbol
 - json
 - link_text
 - login_string
 - matches
 - no_blank_paragraphs
 - nospam
 - pretty_json
 - readable_identifier
 - redirect_links
 - referring_akid
 - remove_blank_lines
 - replacechar
 - single_line
 - spaces_to_underscores
 - star_required
 - startswith
 - strip
 - strip_nondigits
 - suffixed
 - tag_links
 - tag_links_if_untagged
 - timezone_display
 - truncateeachword
 - truncatehtml
 - truncateletters
 - usd_to
 
 - List Related Filters
 - Data Related Filters
 - Miscellaneous Filters
 
 - Template Tags
 
 - Filters
 - JS/Python Contexts