Order Submitted Trigger in Sparkforge Workflows

By Sparkforge Support Team ·Last reviewed May 3, 2026

The Order Submitted trigger fires once per order form submission and again on each upsell purchase. It supports filters by product, price, funnel, and submission type, and exposes order-level custom values.

The Order Submitted trigger fires when a customer completes a 1-Step or 2-Step order form, and again when they purchase an upsell. Each fire holds the full product and order context, so you can branch upsells, send confirmations, or update pipelines based on what was bought.

This trigger only works with Version 2 funnels. Upgrade V1 funnels before configuring it.

When the trigger fires

The trigger runs:

  • Once per order form submission, holding all products purchased in that session.
  • Once per upsell purchase, holding only the upsell product.

If a customer buys products A and B on the order form and then product C as an upsell, the trigger fires twice: once for A+B, once for C.

Allow Multiple must be toggled on in workflow settings if the same contact should re-enter for the upsell. Wait steps that hold the contact in the workflow will block the upsell from re-firing the trigger.

Order Submitted vs Order Form Submitted

The legacy Order Form Submitted trigger fires once per product, so a single multi-product checkout fires it multiple times. Order Submitted fires once per session, with all products in a single checkout object.

Order Submitted also adds:

  • Filtering by global product or price.
  • Order-level custom values (cart total, order total, coupon code, payment gateway, etc.).
  • If/Else branches on order details and product details.

Send an order confirmation email

Use the Shopping Cart element on an email builder template to populate product line items, quantities, images, and prices automatically. Add the template to a Send Email action inside the workflow.

Product images come from Payments → Products. If a product has no image, the system inserts a default placeholder. Add custom images to avoid generic placeholders.

Submission Type filters

  • Primary: Fires when any primary product is purchased on the order form.
  • Bump: Fires only if a bump product is purchased. No bump = no fire.
  • Upsell: Fires only on upsell purchases. Order form purchases don't trigger this filter.

Filter, condition, and custom value reference

Trigger filters

FilterOperatorsSelectable items
Productis, is notGlobal product name
Priceis, is notPrice name
Order Sourceis, is notOrder form
Submission Typeis, is notPrimary, Bump, Upsell
Funnelis, is notFunnel names
Pageis, is notPage inside funnel
Funnel Productis, is notFunnel-level products

If/Else conditions

  • Order Source (is, is not, Order form)
  • Product (is, is not, Global product)
  • Payment Gateway (is, is not, Stripe, PayPal)
  • Order Total (numeric operators)
  • Submission Type (is, is not, Primary, Bump, Upsell)
  • Funnel (is, is not, Funnel names)

Custom values

Order: currency symbol, currency code, cart total, order total, coupon code, total discount, created on, created at, order ID, payment gateway.

Order > Customer: ID, first name, last name, name, email, phone, full address, city, state, country, postal code.

Custom values only appear in the dropdown after the Order Submitted trigger is added to the workflow.

Frequently Asked Questions

Should I switch from Order Form Submitted to Order Submitted?
Yes if you need order-level custom values, single-fire-per-checkout behavior, or filtering by global product. The legacy trigger still works but is more limited.
Why isn't my upsell firing the workflow a second time?
Either Allow Multiple is off in workflow settings, or a wait step is holding the contact inside the workflow from the first fire. Remove the wait step or enable Allow Multiple.
Does Order Submitted work with V1 funnels?
No. Upgrade to V2 funnels first. The trigger only registers events from V2 order forms.
Why don't I see order custom values in my workflow?
Custom values for orders only appear once the Order Submitted trigger is added as a trigger step. Add the trigger first, then build the rest of the workflow.
Can I branch the workflow by payment gateway?
Yes. Add an If/Else step and filter on Payment Gateway = Stripe or PayPal.

Was this article helpful?