Payment Received Workflow Trigger in Sparkforge

By Sparkforge Support Team ·Last reviewed May 3, 2026

The Payment Received workflow trigger fires whenever a payment hits the CRM. Filter by source, product, status, or transaction type to automate confirmations, internal alerts, retry flows, and reporting.

The Payment Received trigger is the single hook for every incoming payment in Sparkforge — one-time purchases, subscription charges, invoices, funnel orders. Filter it down to the scenario you want to automate.

What this trigger does

It fires the moment a matching payment lands. From there, you can:

  • Send a confirmation email or SMS
  • Generate and deliver an invoice
  • Update CRM fields or tags
  • Notify the team of a sale or a failed transaction
  • Branch the workflow on amount, source, or status using If/Else
  • Capture payment data into custom fields for reporting

How to add the trigger

  1. Open or create a workflow.
  2. Add a workflow trigger and pick Payment Received.
  3. Click Add filter to narrow what fires it. Add sub-filters for tighter targeting.

Available filters

FilterFilter optionsSub-filter
Payment SourceInvoice, Funnel/Website, Calendar, Global ProductInvoice: Text2Pay link, one-time invoice, recurring template. Funnel: one-step order form, two-step order form, upsell. Calendar: calendar names. Global Product: product names and price tier.
Transaction TypeCustomer present (first transaction) or customer not present (subscription transaction)—
Payment StatusSuccess or Failed—

Example: to fire only on two-step order form purchases, set Payment Source > is > Funnel/Website, then add Sub-Source > is > two-step order form.

If/Else branching

Once the trigger is set, add If/Else conditions to send different actions down different paths.

If/Else optionOperatorBranch on
Productis, is notGlobal product names
Funnel/Websiteis, is notFunnel/Website names
Calendaris, is notCalendar names
Sourceis, is notInvoice, Funnel, Website, Calendar
Payment Statusis, is notSuccess, Failed
Amount=, ≠, >, >=, <, <=, is empty, is not emptyAmount paid

Custom values exposed by the trigger

Once the trigger fires, every downstream action has access to payment data through custom values. Drop them into SMS, emails, internal notifications, or webhook payloads.

Payment

  • {{payment.source}}
  • {{payment.currency_symbol}}, {{payment.currency_code}}
  • {{payment.sub_total_amount}}, {{payment.discount_amount}}, {{payment.tax_amount}}, {{payment.total_amount}}
  • {{payment.coupon_code}}
  • {{payment.created_on}}, {{payment.transaction_id}}, {{payment.payment_status}}, {{payment.gateway}}, {{payment.method}}
  • {{payment.card.last4}}, {{payment.card.brand}}

Customer

  • {{payment.customer.id}}, {{payment.customer.name}}, {{payment.customer.first_name}}, {{payment.customer.last_name}}
  • {{payment.customer.email}}, {{payment.customer.phone}}
  • {{payment.customer.address}}, {{payment.customer.city}}, {{payment.customer.state}}, {{payment.customer.country}}, {{payment.customer.postal_code}}

Invoice

  • {{payment.invoice.name}}, {{payment.invoice.number}}
  • {{payment.invoice.issue_date}}, {{payment.invoice.due_date}}
  • {{payment.invoice.url}}, {{payment.invoice.recorded_by}}

Frequently Asked Questions

What's the difference between a customer-present and a customer-not-present transaction?
Customer-present transactions are first-time charges where the customer is on the page at checkout. Customer-not-present transactions are subscription renewals or recurring charges that happen automatically, without the customer interacting.
What does the sub-source filter do?
Sub-source narrows a top-level source. Funnel payments can come from a one-step order form, two-step order form, or upsell — sub-source lets the trigger fire on just one of those instead of every funnel sale.
Can I trigger different workflows for successful and failed payments?
Yes — either build two workflows with the Payment Status filter set differently, or use a single workflow with an If/Else branch on Payment Status.
Can I branch on the amount paid?
Yes. Add an If/Else with the Amount condition. Operators include equal to, not equal to, greater than, greater than or equal to, less than, less than or equal to, is empty, and is not empty.

Was this article helpful?