Funnel Resources: Simple Data Flow Between Steps
The Resource System lets you pass data (like orders, customers, payments) between funnel steps automatically. Think of it as a context bag that travels with your customer through the funnel.Simple Concept: When a step creates data (like an order), it puts it in the
resources basket. The next step can grab it from there. That’s it!The Problem We Solve
1
Customer completes checkout
Creates order #123
2
Upsell page loads
Problem: How does it know the order ID?
3
Thank you page loads
Problem: How does it access order #123 AND upsell #456?
resources, and the next step reads it.
Basic Usage
Step 1: Import the Hook
Step 2: Get the Funnel Context
Step 3: Pass Data to Next Step
Real Example: Complete Checkout Flow
1. Checkout Page (Creates Order)
2. Thank You Page (Reads Order)
Advanced: Multiple Orders (Upsells)
When you have multiple orders (main + upsells), use named resources:Checkout: Main Order
Upsell: Add Another Order
Final Page: Access Both Orders
Standard Resource Keys
These are the recommended resource keys (but you can use any key you want):
Named References (for multiple instances):
mainOrder,upsellOrder,downsellOrdermainProduct,addonProduct- Any custom name you want!
URL Parameters: Automatic Resolution
The orchestrator automatically fills in URL parameters from resources:In Your Manifest
Orchestrator Magic ✨
Query Parameters
Common Patterns
Pattern 1: Simple Flow (One Order)
Pattern 2: With Customer Data
Pattern 3: Upsell Flow
TypeScript Support
For full type safety, define your resource types:Best Practices
✅ DO: Use descriptive resource keys
✅ DO: Use descriptive resource keys
✅ DO: Include IDs in all resources
✅ DO: Include IDs in all resources
✅ DO: Use named resources for multiple instances
✅ DO: Use named resources for multiple instances
❌ DON'T: Store large binary data
❌ DON'T: Store large binary data
Debugging
Check Current Resources
Check Available Resources in DevTools
Open browser console and run:Funnel Step Conditions
Configure step routing conditions in the CRM Funnel Editor. The orchestrator evaluates these conditions to determine the next step.Main Order Conditions
Check the main checkout order (first order created in the funnel):Last Order Conditions
Check the most recent order (from previous step - could be upsell/downsell):Offer Conditions
Check offer acceptance from the previous step:Payment Conditions
Check payment outcome from the previous step:Customer Conditions
Check customer attributes (tags assigned via checkout or CRM):Advanced: JSONLogic
For complex conditions, use Advanced Mode in the Step Editor:Tip: The Advanced Mode editor in the CRM provides syntax validation and a quick reference guide!
Migration from Legacy
If you’re upgrading from the old system:Before (Legacy)
After (Resource System v2)
Good News: The orchestrator auto-migrates legacy data, so old plugins still work!
Next Steps
Plugin API Reference
Complete API documentation for all hooks and methods
Examples
Full plugin examples with source code
Manifest Guide
Learn how to configure your plugin manifest
Deployment
Deploy your plugin to production
