Charitable Documentation

Learn how to make the most of Charitable with clear, step-by-step instructions.

Automation Connect 2.0

Automation Connect turns every donation, campaign event, or form submission into a real-time trigger that sends data to any app or service via webhooks. Connect Charitable with Zapier, Make.com, Slack, HubSpot, Mailchimp, n8n, Pabbly Connect, and thousands of other platforms – no developer required.

Requirements: Pro/Elite plan and Charitable Pro 1.8.13+.

Note: If you are using Charitable Automation 1.x, we have the documentation available here.


Key Features (vs 1.x version)

  • Trigger webhooks on 17 donation, campaign, and recurring-donation events
  • Filter deliveries with conditional logic across 11 criteria fields (donor, donation, campaign, form data)
  • Customize the payload with 80+ available data fields covering donor, campaign, donation, and gateway details
  • Sign every outgoing request with HMAC-SHA256 for endpoint security
  • Send test payloads and inspect delivery responses directly from the editor
  • Start quickly with 8 pre-built platform templates (Zapier, Make.com, Slack, HubSpot, Mailchimp, n8n, Pabbly Connect, and a blank canvas)
  • Retry failed deliveries automatically via WordPress Action Scheduler
  • Manage all subscriptions from a central dashboard in the Charitable admin

Why Use Automation Connect?

Charitable Automation Connect replaces manual data entry and one-off custom integrations with a single, flexible webhook system. Instead of writing custom code every time you want to sync donor records, notify a Slack channel, or add contacts to a CRM, you configure a subscription once and it runs automatically on every matching event.


See It In Action


Requirements

  • Charitable Pro 1.8.13 or later
  • Active Charitable Pro license (Pro plan or higher)
  • WordPress 6.2 or later
  • PHP 7.4 or later

Getting Started

Installation and Activation

  1. Log in to your WordPress dashboard and go to Charitable > Extensions.
  2. Locate Automation Connect and click Activate.
  3. Once active, a new Automation item appears in the Charitable admin menu.

Creating Your First Subscription

  1. Go to Charitable > Automation in wp-admin.
  2. Click + Add New Subscription.
  3. Select a platform template or choose Start from scratch.
  4. Configure the subscription in the editor (see Usage below).
  5. Click Save to activate the subscription.

Usage

Subscription Editor

Each subscription is configured across four tabs:

Basic Tab

Set the subscription name, the target webhook URL, and the trigger event.

Available Events — Donations

EventDescription
donation_createdA new donation is submitted
donation_completedA donation reaches Completed status
donation_cancelledA donation is cancelled
donation_failedA donation payment fails
donation_refundedA donation is refunded
donation_pendingA donation is set to Pending
donation_preapprovedA donation is pre-approved

Available Events — Campaigns

EventDescription
campaign_createdA new campaign is published
campaign_updatedAn existing campaign is updated
campaign_endedA campaign reaches its end date
campaign_goal_achievedA campaign hits its fundraising goal

Available Events — Recurring Donations

EventDescription
recurring_createdA new recurring plan is created
recurring_completedA recurring payment completes
recurring_cancelledA recurring plan is cancelled
recurring_failedA recurring payment fails
recurring_pausedA recurring plan is paused
recurring_resumedA paused plan resumes

Conditions Tab

Add rules to control when the webhook fires. All rules within a group use AND logic; multiple groups use OR logic.

Available Condition Fields

FieldOperators
donation_amountis, isnot, greaterthan, less_than
donation_statusis, is_not
campaign_idis, is_not
campaign_categoryis, is_not
payment_gatewayis, is_not
donor_countryis, is_not
donor_emailis, is_not, contains
newsletter_optinis (yes/no)
donation_typeis (one-time, recurring)
recurring_periodis, is_not
custom_fieldis, is_not, contains

Payload Tab

Choose exactly which fields to include in the outgoing JSON payload. Uncheck fields you don’t need to keep payloads lean.

Donor Fields (sample)

donor_iddonor_namedonor_first_namedonor_last_namedonor_emaildonor_phonedonor_addressdonor_citydonor_statedonor_postcodedonor_countrydonor_total_donateddonor_donation_count

Donation Fields (sample)

donation_iddonation_amountdonation_statusdonation_datedonation_timedonation_currencydonation_gatewaydonation_gateway_transaction_iddonation_notesdonation_typecampaign_idscampaign_names

Campaign Fields (sample)

campaign_idcampaign_titlecampaign_urlcampaign_goalcampaign_donatedcampaign_percent_raisedcampaign_donor_countcampaign_start_datecampaign_end_datecampaign_categories

Recurring Fields (sample)

recurring_idrecurring_amountrecurring_periodrecurring_frequencyrecurring_start_daterecurring_status

Site/Meta Fields (sample)

site_urlsite_nameevent_typedelivery_timestampwebhook_id

Test / Debug Tab

Send a test payload using real or sample data and inspect the HTTP response code, response body, and delivery time. This lets you verify your endpoint is receiving data before going live.


Platform Templates

When creating a new subscription, you can start from one of eight pre-built templates. Each template pre-fills the event trigger and, where applicable, adds sensible default conditions.

TemplateDefault EventNotes
Zapierdonation_createdPre-configured for Webhooks by Zapier Catch Hook
Make.comdonation_createdPre-configured for Custom Webhook module
n8ndonation_createdPre-configured for n8n Webhook node
Pabbly Connectdonation_createdPre-configured for Pabbly webhook trigger
HubSpotdonation_createdPre-configured for HubSpot workflow webhook
Mailchimpdonation_createdAdds newsletter opt-in condition by default
Slackdonation_createdPre-configured for Slack Incoming Webhooks
Start from scratch(none)Full control over all settings

Webhook Delivery

Request Format

Webhooks are delivered as HTTP POST requests with a JSON body and the following headers:

HeaderValue
Content-Typeapplication/json
X-WP-Webhook-SignatureHMAC-SHA256 signature
X-WP-Webhook-EventEvent slug (e.g., donation_created)
X-WP-Webhook-IDSubscription post ID

Signature Verification

Every request includes an X-WP-Webhook-Signature header. The signature is a lowercase hex HMAC-SHA256 of the raw JSON payload body, keyed with the subscription’s secret key.

To verify in PHP:

$signature = hash_hmac( 'sha256', $raw_body, $secret_key );
$is_valid   = hash_equals( $signature, $received_signature );

Retry Behavior

Failed deliveries (non-2xx responses or connection errors) are retried automatically using WordPress Action Scheduler. The retry schedule uses exponential backoff. After the maximum number of retries, the delivery is marked as permanently failed and logged.


Customization

CSS

The Automation Connect admin UI inherits standard Charitable and WordPress admin styles. No frontend CSS is output.

Template Overrides

Automation Connect has no public-facing templates. All output is JSON payloads delivered server-side.


Troubleshooting

Webhook is not being delivered

Check the following in order: 1. Confirm the subscription is saved and the event type matches what you expect (e.g., donation_completed, not donation_created). 2. Verify the webhook URL is publicly accessible — local localhost URLs will not work from a live server. 3. Check Charitable > Tools > Logs for delivery errors, filtering by source charitable-automation-connect.

The test payload sent successfully but live events are not triggering

Conditions may be filtering out live events. Open the Conditions tab and review each rule. Temporarily disable all conditions to confirm the webhook fires, then re-add conditions one at a time.

Payload fields are missing from the JSON

Uncheck and re-check the relevant fields in the Payload tab, then save. Fields added to Charitable via third-party plugins may need to be registered using the charitable_automation_connect_payload_fields filter (see Developer Resources).

License notice is appearing in the admin

Automation Connect 2.0 requires an active Charitable Pro license at the Pro plan level or above. If you see a license notice, verify your license is active at Charitable > Settings > Licenses and that your plan is Pro or higher.


Developer Resources

Hooks and Filters

Payload

  • charitable_automation_connect_payload_fields — Filter the list of available payload fields. Use this to add custom fields from your plugin or theme.
  • charitable_automation_connect_payload — Filter the payload array before delivery. Receives $payload$subscription_id$event.

Events

  • charitable_automation_connect_events — Filter the list of available trigger events. Add or remove event definitions.
  • charitable_automation_connect_before_deliver — Fires before a webhook is dispatched. Receives $subscription_id$event$payload.
  • charitable_automation_connect_after_deliver — Fires after a webhook is dispatched. Receives $subscription_id$response$payload.

Conditions

  • charitable_automation_connect_condition_fields — Filter available condition fields. Use this to register custom condition criteria.

Templates

  • charitable_automation_connect_templates — Filter the list of platform templates shown in the template picker. Add custom pre-configured templates.

License / Delivery

  • charitable_automation_connect_delivery_blocked — Filter whether delivery is blocked. Return false to allow delivery regardless of license state (useful for testing).

Useful Functions

  • charitable_automation_connect() — Returns the main plugin instance.
  • charitable_automation_connect()->get( 'subscriptions' ) — Returns the SubscriptionsRepositoryinstance for querying active subscriptions.

Adding Custom Payload Fields

add_filter( 'charitable_automation_connect_payload_fields', function( $fields ) {
    $fields['my_custom_field'] = array(
        'label'   => __( 'My Custom Field', 'my-plugin' ),
        'group'   => 'donor',
        'resolve' => function( $event_data ) {
            return get_user_meta( $event_data['donor_user_id'], 'my_meta_key', true );
        },
    );
    return $fields;
} );

Adding Custom Events

add_filter( 'charitable_automation_connect_events', function( $events ) {
    $events['my_custom_event'] = array(
        'label'       => __( 'My Custom Event', 'my-plugin' ),
        'group'       => 'donations',
        'description' => __( 'Fires when my custom condition occurs.', 'my-plugin' ),
    );
    return $events;
} );

Additional Resources

Still have questions? We’re here to help!

Last Modified:

What's New In Charitable

View The Latest Updates
🔔 Subscribe to get our latest updates
📧 Subscribe to Emails

Email Subscription

Join our Newsletter

We won’t spam you. We only send an email when we think it will genuinely help you. Unsubscribe at any time!

Campaigns New

⏳ Campaign Countdown: Drive Urgency and Lift Donations

Urgency is one of the most powerful tools in fundraising! Meet Campaign Countdown—a live, real-time timer built to turn procrastination into immediate generosity.

What’s New:

⏱️ Live, Real-Time Urgency: Beautifully track days, hours, minutes, and seconds down to your campaign’s deadline w/ live-updating visual countdowns.

🎨 Tailored to Your Look: Choose between Boxed bordered tiles or a clean, single-line Inline display. Match your theme instantly with font and deep color controls.

🛠️ Place it Anywhere: Drop the countdown anywhere you like using the Campaign Builder field, a dedicated Gutenberg block, or a simple shortcode.

🚨 Smart Expiry Actions: Total control over the end state—choose to automatically replace the timer with a custom message, freeze it at zero, and more.

Improvement Migrations

↔️ Importing From GiveWP, Donorbox, GiveButter… even CSV!

Whether you’re migrating from another platform or consolidating your records, moving your data to Charitable is now faster and more flexible than ever. We’ve streamlined the process so you can bring over your entire fundraising history in just a few clicks.

🔄 Native GiveWP, Donorbox, & GiveButter Support: Switching from a major platform? Our dedicated migration tools handle the heavy lifting, automatically mapping your donors and donations directly into Charitable—no technical skills required.

📂 Universal CSV Import: Moving from a custom system or a specialized CRM? If you can export it to a CSV, you can import it here. Our smart mapping tool lets you align your columns to Charitable fields like names, emails, phone numbers, and addresses in seconds.

Instant Donor Profiles & Custom Tags: Automatically create rich donor profiles and bring in custom tags to keep your data organized. Segment and engage your supporters from day one with a clean, professional database structure.


Ready to make the switch?

Check out our GiveWP Migration Guide

Learn more about our Import Tools

Improvement Payments

💳 New Braintree Features For Your European Donors

With the release of Braintree addon version 1.3.0, you can now empower your European donors with the payment methods they trust and prefer, making giving seamless for international supporters.

🌍 Six New European Payment Methods: Support popular local options like iDEAL (Netherlands), Bancontact (Belgium), BLIK (Poland), and more to meet donors where they are.

⚡ Frictionless Donor Experience: These bank-based methods allow donors to authenticate directly with their own bank in a secure popup… no credit card numbers required.

⚙️ Automatic Currency Sync: No complex setup needed. The builder automatically displays the correct payment buttons based on your site’s currency (EUR or PLN), ensuring a relevant experience for every visitor.

Campaigns New

🖼️ Campaign Featured Images: Pro-Level Visuals Made Simple

With the new Campaign Featured Image setting in our visual builder, you now have a single, dedicated place to manage how your fundraisers look across your entire site and beyond.

🖼️ One Image, Everywhere: Set a primary thumbnail that automatically syncs to campaign grids, lists, and shortcodes—no more relying on layout order.

📱 Social Sharing Optimized: Easily upload images at the perfect size to ensure your campaigns look stunning and professional when shared on social media.

🔍 SEO & Accessibility Ready: Add custom alt text directly within the builder to improve search rankings and ensure your mission is accessible to every supporter.

Improvement receipts

🗓️ Annual Receipts 2.0: Send Year-End Receipts to Every Donor in Minutes

You can now send annual receipts in minutes with a few clicks to all your donors.

📧 One-Click Bulk Send Wizard that guides you to sending to hundreds of donors simultaneously directly from your WordPress dashboard.

🔍 Smart “Dry Run” Mode: See exactly who will receive a receipt and who will be skipped (and why) before a single email leaves your server.

🛡️ SMTP-Aware & Limit Protection: Charitable now detects your email setup and automatically adjusts batch sizes and pauses for daily limits to ensure your emails land in inboxes.

✅ Complete Audit Trail: Dedicated system log and on the individual donor’s profile, giving you a clear history for every fiscal year.

Stop dreading tax season and start spending that time on your mission. Update to Annual Receipts 2.0 and automate your year-end reporting today.