Blackbird Marketing Switch to Labs
Labs Case Study

Kollect
Serverless Order Processing

We replaced Kollect's legacy Zapier workflows with a custom AWS Lambda + Salesforce integration - cutting order processing time by over 50% and achieving 99.9% reliability.

AWS Lambda Stripe Integration Salesforce CRM Real-Time Pricing Slack Alerting
kollect.ie/junk-removal
Order Processing Pipeline
Step 1
Select Service
County, Town, Truck Size
Pricing API (Lambda)
Step 2
Enter Details
Name, Email, Address
Customer Resolution
Step 3
Payment
Stripe Elements (PCI)
PaymentIntent API
Step 4
Order Processing
4 Salesforce Objects
CRM + Slack Alerts

Fully serverless - single Lambda function with internal routing across 4 endpoints

The Impact

From fragile Zapier chains to a production-grade serverless pipeline.

~50%
Faster Processing
99.9%
Reliability
0
Lost Orders
4
API Endpoints
Client
Kollect
Waste Management & Junk Removal
Location
Ireland
Nationwide Coverage
Scope
Full Build
Frontend + Backend + CRM
Services
AWS Stripe Salesforce Slack

The Challenge

Kollect's online booking system relied on Zapier to bridge their website, Stripe payments, and Salesforce CRM. As order volume grew, the cracks became impossible to ignore.

Zapier webhooks would intermittently fail, causing paid orders to never appear in Salesforce. The multi-step flow took 30-60 seconds to process - well beyond acceptable checkout response times. Each order triggered 5-7 Zapier tasks, driving up costs.

When failures occurred, there was no automated alerting. Failed orders were discovered hours or days later through customer complaints. Adding new fields or changing business logic meant navigating Zapier's visual editor across multiple connected Zaps.

They needed a faster, more reliable, and cost-effective solution that could handle their complete order flow: from customer-facing pricing and payment, through to CRM record creation across multiple objects.

The Solution

A fully serverless order processing system on AWS that directly integrates the frontend with Stripe and Salesforce - eliminating the Zapier dependency entirely.

Real-Time Pricing

Cascading dropdowns (County, Town, Size) fetch live pricing from Salesforce custom objects via a dedicated Lambda - customers always see current rates.

Customer Identity Resolution

Dual-platform lookup across Stripe and Salesforce by email or phone - creates or updates records to maintain a single source of truth.

Secure Payments

Stripe Elements handles card input entirely client-side - card details never touch our servers. Payment confirmation triggers order processing.

4-Object CRM Creation

After payment, a chain of related Salesforce records is created: Account, Work Order, Payment, and Junction record - all linked and fully populated.

Parallel Processing

Independent operations run concurrently with Promise.all, saving 6+ seconds per order and keeping total processing under API Gateway's timeout limit.

Instant Failure Alerts

Every API call is wrapped in error handling with Slack notifications. If any step fails after payment, the team is alerted within seconds with full context.

The Results

Before vs. After

Before (Zapier)
  • 30-60 second order processing time
  • Frequent timeout errors (>29s limit)
  • ~90% end-to-end reliability
  • Failed orders discovered hours or days later
  • 5-7 Zapier tasks per order (growing costs)
  • Manual reconciliation against Stripe
After (Custom Lambda)
  • 8-27 second order processing time
  • Zero timeout errors - fully within limits
  • ~99.9% end-to-end reliability
  • Instant Slack alerts on any failure
  • Single Lambda function - minimal costs
  • Automatic CRM record creation
~50%
Faster Processing
99.9%
Reliability
~30%
Fewer API Calls
0
Lost Orders
Architecture

Built for Reliability

A single Lambda function with internal routing handles all 4 endpoints. JWT authentication, parallel processing, and graceful error handling ensure every paid order is captured.

JWT Bearer Authentication

RSA-signed JWT assertions exchanged for access tokens - no stored passwords, with in-memory token caching and automatic refresh.

Graceful Error Handling

Non-critical failures continue processing. Critical failures halt but preserve payment. No paid order is ever lost.

Multi-Service Support

Architecture supports Junk Removal, Skip Hire, and Skip Bag services with service-specific fields and routing.

Tech Stack
HTML/CSS/JS + Stripe Elements Frontend
AWS API Gateway (REST) Gateway
AWS Lambda (Node.js) Compute
Stripe API Payments
Salesforce REST API CRM
Slack Webhooks Alerting

Key Takeaways

What we learned building production-grade serverless infrastructure for order processing.

Serverless Fits Transactional Workflows

Lambda's pay-per-invocation model is ideal for order processing that happens in bursts - no idle server costs, instant scaling.

Parallel API Calls Matter

Running independent operations concurrently saved 6+ seconds per order - the difference between a working checkout and a timeout error.

Instant Alerting is Non-Negotiable

When real money is involved, instant failure visibility prevents lost revenue and customer complaints. Slack alerts catch every edge case.

Direct Integration Outperforms No-Code

While Zapier is great for prototyping, a custom integration delivers better performance, reliability, and cost efficiency at scale.

Need a custom integration?

Whether it's replacing no-code tools, building serverless pipelines, or connecting your CRM - we build production-grade systems that scale.

Book a Call

Also see: Kollect Marketing Case Study - how we scaled their paid advertising and SEO.