Easy Digital Downloads Integration: Triggers, Actions, and Automation Examples

Krom Automation Pro connects to Easy Digital Downloads (EDD) and its two most popular add-ons: EDD Recurring Payments and EDD Software Licensing. Together, these give you 13 triggers and 6 actions covering the full EDD customer lifecycle — purchases, refunds, payment failures, subscriptions, license activations, license expiry, and renewals.

No API key or configuration is required. Krom Automation detects EDD and its add-ons automatically when they are active.

Requirements #

  • Krom Automation Pro installed and activated
  • Easy Digital Downloads installed and active
  • EDD Recurring Payments (optional, required for subscription triggers)
  • EDD Software Licensing (optional, required for license triggers)

Each trigger group only appears when the corresponding plugin is active. You don’t need all three to use the integration.

EDD core triggers #

Purchase Completed

Fires when an EDD payment is completed successfully. This is the primary trigger for post-purchase automations.

Data fieldDescription
payment_idEDD payment ID
payment_totalTotal amount paid
currencyCurrency code
gatewayPayment gateway used
customer_emailCustomer email address
customer_first_nameCustomer first name
customer_last_nameCustomer last name
downloadsArray of purchased downloads (each with name and price)

Common use: Sending a purchase thank-you email with download access details, triggering a post-purchase email sequence, or adding the customer to a Mailchimp audience.

Purchase Refunded

Fires when an EDD payment is refunded, whether fully or partially.

Data fieldDescription
payment_idEDD payment ID
refund_amountThe amount refunded
customer_emailCustomer email address
reasonRefund reason (if recorded)

Common use: Sending a refund confirmation to the customer, notifying the team, or logging refunds to a Google Sheet.

Payment Failed

Fires when an EDD payment attempt fails at checkout.

Data fieldDescription
payment_idEDD payment ID
payment_totalThe amount that failed
currencyCurrency code
gatewayThe payment gateway that reported the failure
customer_emailCustomer email address
customer_first_nameCustomer first name
customer_last_nameCustomer last name

Common use: Sending an immediate payment failure email with retry instructions or a link back to checkout.

Customer Created

Fires when a new EDD customer record is created. This fires the first time a person makes a purchase through EDD and a customer record is established.

Data fieldDescription
customer_idEDD customer ID
customer_emailCustomer email address
customer.nameCustomer full name
customer.first_nameCustomer first name
customer.last_nameCustomer last name
date_createdDate the customer record was created

Common use: Sending a new customer welcome email, adding them to a CRM, or subscribing them to an onboarding email sequence.

Download Updated

Fires when an EDD download (product) is saved or updated in the WordPress admin.

Data fieldDescription
download_idThe download (product) ID
download_titleThe download title
download_statusThe download’s post status
download_priceThe download price
download_urlThe download URL

Common use: Notifying existing customers when a download they purchased has been updated with a new version, prompting them to re-download.

EDD Recurring Payments triggers #

These triggers require the EDD Recurring Payments add-on to be installed and active.

Subscription Created

Fires when a new EDD Recurring Payments subscription is created at checkout.

Data fieldDescription
subscription_idSubscription ID
subscription.statusInitial subscription status
subscription.product_nameName of the subscription product
subscription.recurring_amountThe recurring charge amount
subscription.periodBilling period
subscription.expirationSubscription expiration date
customer.emailCustomer email address
customer.nameCustomer full name

Subscription Cancelled

Fires when an EDD subscription status changes to cancelled.

Data fieldDescription
subscription_idSubscription ID
previous_statusStatus before cancellation
subscription.product_nameSubscription product name
subscription.periodBilling period
customer.emailCustomer email address
customer.nameCustomer full name

Subscription Expired

Fires when an EDD subscription reaches its end date and expires.

Data fieldDescription
subscription_idSubscription ID
subscription.product_nameSubscription product name
customer.emailCustomer email address
customer.nameCustomer full name

Subscription Payment Failed

Fires when an EDD subscription renewal payment fails.

Data fieldDescription
subscription_idSubscription ID
failed_payment_idThe ID of the failed payment attempt
subscription.product_nameSubscription product name
subscription.recurring_amountThe amount that failed to charge
customer.emailCustomer email address
customer.nameCustomer full name

EDD Software Licensing triggers #

These triggers require the EDD Software Licensing add-on to be installed and active.

License Activated

Fires when a customer activates an EDD Software Licensing license key on a site.

Data fieldDescription
license_idLicense ID
license.keyThe license key
license.statusLicense status
license.downloadThe product the license is for
license.expirationLicense expiration date
license.activationsNumber of active activations
customer.emailCustomer email address
customer.nameCustomer full name

Common use: Sending an activation confirmation email with documentation links, logging activations for support tracking.

License Expired

Fires when an EDD license reaches its expiration date.

Data fieldDescription
license_idLicense ID
license.keyThe license key
license.downloadThe product the license covers
license.expirationThe expiration date
customer.emailCustomer email address
customer.nameCustomer full name

Common use: Sending an expiry notice with a renewal link, removing access to licensed features or content.

License Expiring Soon

Fires a set time before a license is due to expire. Use this to send renewal reminders before the license actually expires.

Data fieldDescription
license_idLicense ID
license.keyThe license key
license.downloadThe product the license covers
license.expirationThe upcoming expiration date
customer.emailCustomer email address
customer.nameCustomer full name

Common use: Sending a 30-day, 7-day, or same-day renewal reminder sequence to encourage customers to renew before losing access.

License Renewed

Fires when an EDD license is renewed and its expiration date is extended.

Data fieldDescription
license_idLicense ID
renewal_payment_idThe payment ID for this renewal
license.keyThe license key
license.downloadThe product the license covers
license.expirationThe new expiration date after renewal
customer.emailCustomer email address
customer.nameCustomer full name

Common use: Sending a renewal thank-you email, automatically extending license access using the Extend License action, or logging renewals for revenue reporting.

Available actions #

Create Discount

Creates a new discount code in EDD programmatically.

FieldDescription
codeThe discount code. Merge tags supported.
typeDiscount type: percent or flat.
amountThe discount amount.
max_usesMaximum number of uses. Leave empty for unlimited.
expiryExpiry date for the discount code.
product_conditionRestrict the discount to specific products.

Grant Download Access

Grants a customer access to a specific EDD download without requiring a new purchase.

FieldDescription
payment_idThe payment ID to attach the download to.
download_idThe download (product) ID to grant access to.

Common use: Giving a customer a complimentary download as part of a support resolution, or granting access to a bonus product on purchase of another.

Revoke Download Access

Removes a download from an EDD payment, revoking the customer’s access to it.

FieldDescription
payment_idThe payment ID.
download_idThe download ID to revoke access to.

Resend Purchase Receipt

Resends the EDD purchase receipt email to the customer for a specific payment.

FieldDescription
payment_idThe payment ID to resend the receipt for. Use {{payment_id}} from the trigger.

Common use: Automatically resending a receipt if the original email failed, or triggering a receipt resend from a customer support workflow.

Extend License

Extends the expiration date of an EDD Software Licensing license by a specified number of days.

FieldDescription
license_idThe license ID. Use {{license_id}} from the trigger.
extension_daysNumber of days to extend the license.

Common use: Automatically extending a license when a renewal payment completes, or granting a complimentary extension as a customer goodwill gesture.

Revoke License

Disables an EDD Software Licensing license, preventing it from being used.

FieldDescription
license_idThe license ID to revoke.

Common use: Revoking a license when a refund is issued, or disabling a license that has been flagged for misuse.

Setting up an EDD workflow #

  1. Go to Krom Automation > Workflows and click Add New Workflow.
  2. Click Add Trigger and select the EDD trigger from the EDD, EDD Subscriptions, or EDD Software Licensing group.
  3. Add your actions and configure the fields using {{payment_id}}, {{customer.email}}, {{license.key}}, and other available merge tags.
  4. Simulate, then activate the workflow.

Screenshot: EDD Purchase Completed trigger on the canvas connected to a Send Email action with download details in the body.

Screenshot: License Expiring Soon trigger connected to a Send Email renewal reminder action.

Real-world automation examples #

Purchase thank-you and download delivery Trigger: Purchase Completed Action: Send Email to {{customer_email}} with a personalised thank-you, the product name from {{downloads}}, and links to documentation.

License expiry reminder sequence Trigger: License Expiring Soon Action 1: Send Email (30-day warning) — renewal link with {{license.key}} and {{license.expiration}} Action 2 (23-day delay): Send Email (7-day warning) — urgency reminder with a discount code Action 3 (6-day delay): Send Email (same-day) — final expiry warning

Auto-extend license on renewal Trigger: License Renewed Action: Extend License using {{license_id}} with the appropriate extension days

Win-back on subscription cancellation Trigger: Subscription Cancelled Action 1: Send Email — acknowledge cancellation, offer a return discount Action 2 (7-day delay): Send Email — follow-up with a special offer

Notify customers on download update Trigger: Download Updated Action: Send Email to {{customer_email}} (using Update User Meta to track purchasers, or via HTTP Request to retrieve purchasers list) letting them know a new version is available.

Pre-built templates #

Install these from Krom Automation > Templates:

TemplateWhat it does
edd-purchase-thank-youPurchase confirmation with download links
edd-new-customer-welcomeWelcome email to new EDD customers
edd-payment-failed-recoveryRecovery email on EDD payment failure
edd-refund-notificationRefund confirmation email
edd-post-purchase-discountPost-purchase discount code delivery
edd-download-update-notificationNotify customers when a purchased download is updated
edd-license-expiry-warningLicense expiry warning email series
edd-license-renewal-thankyouThank-you email when a license is renewed
edd-subscription-payment-failedRecovery email for failed EDD subscription payment
edd-subscription-winbackWin-back campaign after EDD subscription cancellation

Troubleshooting on Easy Digital Downloads Integration #

Connect Easy Digital Downloads to Krom Automation Pro. Automate purchase emails, license reminders, subscription dunning, and renewal workflows. Full reference included.

EDD Recurring Payments triggers aren’t showing up

Confirm the EDD Recurring Payments add-on is installed and active alongside EDD core. The subscription triggers only appear when this add-on is present.

EDD Software Licensing triggers aren’t showing up

Confirm the EDD Software Licensing add-on is installed and active. It’s a separate add-on from EDD Recurring Payments and must be independently active.

The {{downloads}} merge tag is showing as a JSON array, not a readable list

The downloads field is an array of objects. In a Send Email message body, you may want to reference a specific download name using {{downloads[0]}} for the first item, or use an HTTP Request and custom logic to format the list. For most single-product stores, {{downloads[0]}} gives you the product name cleanly.

What are your feelings

Updated on August 12, 2026