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!

automation update

⚡ Visual Automation Builder: Drag and Drop With No Code!

Charitable Automation Connect 2.3.0 introduces the Visual Automation Builder, a full-screen canvas that lays each automation out as a flow of connected cards: a trigger, optional conditions, and a list of actions that run in order.

🧩 Many actions, one trigger: Tag a donor, send an email, add a note, and fire a webhook from a single event, dragged into any order.

✉️ Act inside Charitable: New Send Email, Tag Donor, and Add Donor Note actions run with no external service required.

🔤 Merge tags: Personalize emails and notes with live fields like {first_name}, {total}, and {campaign_name}.

🔁 Apply to existing donors: Run Tag Donor and Add Donor Note against the donors you already have.

🖥️ Canvas or Simple: Switch views anytime, and automations built before 2.3.0 keep working unchanged.

Read more here.

Integration updated

📬 Introducing Brevo for Charitable: Turn Donors into Subscribers Automatically

The moment a supporter makes a gift is when they are most engaged. With the new Brevo integration for Charitable, you can automatically turn those one-time donors into long-term subscribers without touching a single spreadsheet.

Simply collect donor consent right on your donation form and start your welcome series immediately.

What’s New:

🔄 Automated Subscriber Sync: New donors who opt in are added straight to your Brevo contact list as soon as their payment clears—no manual exports or CSV imports required.

🎯 Granular Consent & Opt-In Control: Customize your checkbox label, choose whether it defaults to checked or unchecked, or turn on Brevo double opt-in to keep your list clean and compliant.

📋 Per-Campaign List Mapping: Route supporters to your global email list or map specific campaigns to targeted Brevo lists to tailor your follow-up messaging.

⚡ 5-Minute Setup: Connect instantly by pasting your Brevo API key into the Newsletter settings, map your contact fields, and start building your email list on autopilot.

Ready to grow your mailing list? Brevo is available now starting on the Charitable Plus plan—connect your account today!

recurring donations updated

💳 Introducing Card Updates: Fix Expired Cards Without Losing Subscriptions!

newExpired or updated credit cards are one of the biggest silent leaks in recurring fundraising. With Card Updates in the Recurring Donations extension, donors can now refresh their payment details directly—keeping their subscription, schedule, and giving history completely intact.

No canceled plans, no lost history, and zero administrative headache for your team.

What’s New:

⚡ 30-Second Self-Service: Donors get a dedicated “Update Card” button in their dashboard that opens Stripe’s secure, PCI-compliant Customer Portal to update card details instantly.

🔒 Scoped & Safe Access: Scoped exclusively to card updates by default, donors can’t accidentally cancel or alter their plans from inside the portal, keeping your webhooks and data in sync.

🤝 Admin-Assisted Support: Helping a donor on the phone? Open their secure Stripe portal in one click from your admin screen or generate a single-use update link to email them.

📋 Automatic Audit Trail: Every payment method update is recorded automatically with a timestamp in both system-wide logs and the individual donor’s profile.

Ready to protect your recurring revenue? Get the Plus or Pro plan and update Recurring Donations to 2.3.0+ and enable “Update Payment Method” under your Settings today!

Integration page builder

Divi Fans Rejoice! Native Divi 5 Campaign Progress Bar Module!

With our new native Divi 5 module, you can anchor your microsites with real-time fundraising stats directly on the visual canvas. Here’s how it works, and why it’s worth turning on today.

Create campaign updates that are VISUAL AND LIVE. You can also:

📊 Campaign Progress Bar: Drop a live progress bar into any Divi 5 layout and show goal progress in real time.

🎨 Deep styling controls: Easily customize the bar and track color, height, and radius to match your brand perfectly.

👁️ Visual Builder ready: Configure and preview everything directly on the Divi canvas as a first-class module.

🔁 Identical rendering: The same exact engine powers this module, meaning consistent design without legacy shims.

✅ Faster launches: Never leave the Divi 5 interface to configure shortcodes or guess how your goal labels will look.

Learn more here.

Integration page builder

👉🏻 New in Charitable: Native Elementor Widgets for Seamless Campaign Building

With native Elementor widgets, you design donation campaigns right alongside the rest of your page without touching code. Here’s how it works, and why it’s worth turning on today.

Create fundraising pages that are VISUAL, NATIVE, AND SHORTCODE-FREE. You can also:

⚡ Mini Donation: Add a compact, high-converting donation widget with preset amounts and full color control.

⏳ Campaign Countdown: Build urgency for a deadline-driven appeal, complete with optional confetti when the goal is hit.

📣 Donation Feed: Prove momentum by showing visitors the social proof of real people giving right now.

🏆 Donor Leaderboard: Celebrate top supporters with gold, silver, and bronze styling to spark friendly giving.

🖼️ Campaign Showcase: Feature multiple campaigns in a landing page grid or carousel, with search, filters, and badges.

Learn more here.