Crenaly: a booking SaaS I designed and built end-to-end for appointment-based businesses in France: salons, barbers, beauty and wellness.
The core idea: when a client cancels, the freed slot is automatically offered to clients who asked for an earlier time. The first to accept gets it, their appointment moves in place, and the slot they leave is offered next. No double booking, no manual work.
Around it, a full product:
→ Branded booking page for each business, embeddable on their own site
→ Mobile-first booking flow, no account needed
→ Agenda, client management, team roles & permissions
→ Verified reviews, analytics, Stripe billing
Automatically offering a cancelled slot to the next client is such a practical feature for salons and barbers. Designing and building Crenaly end to end must have made those flows much tighter.
Your Logistics Team Shouldn't Have to Chase Every Shipment Manually. 🚢
A shipment is delayed. Your customer wants an update. Your operations team is checking carrier portals, copying tracking numbers into spreadsheets, and sending the same status emails repeatedly.
By the time everyone has the right information, the next shipment needs attention.
The problem isn't a lack of effort. It's disconnected logistics operations.
Common challenges:
Shipment updates scattered across multiple carrier systems.
Delayed shipments discovered too late.
Manual customer status emails.
Tracking spreadsheets that quickly become outdated.
Repetitive follow-ups between operations and customer service.
Limited visibility into shipment exceptions.
The solution: An automated logistics operations workflow built with n8n.
I can design an automation that connects carrier tracking APIs, your shipment database, and customer communication channels.
Instead of manually checking every shipment, your team receives structured updates when something actually needs attention.
What the automation handles:
📦 Shipment Tracking — Retrieve updates from supported carrier APIs.
📊 Operations Visibility — Maintain synchronized shipment records and exception histories.
🔁 Escalation Management — Notify the responsible team when an exception requires action.
The goal: Less repetitive tracking work, faster exception awareness, and more consistent customer communication.
Two ways we can work together:
Option 1: Already have carrier APIs, a TMS, or a defined tracking workflow? Share your requirements, and I'll help design the integration.
Option 2: Not sure which logistics tasks should be automated? We can map your shipment lifecycle and identify the highest-value starting point.
Make your logistics operations easier to manage as shipment volume grows.
Workflow architecture
Scheduled Trigger → Carrier API Request → Normalize Tracking Events → Match Shipment Records → Detect Status Changes → Route Exceptions → AI Summary → Customer Email / Operations Alert → Database Update
Implementation: Authenticate carrier integrations, normalize differing event codes, compare timestamps and event IDs, prevent duplicate alerts, route exceptions by severity, and log delivery failures for retry.
Benefits: Reduced manual tracking, clearer exception ownership, more timely customer updates, and an auditable shipment history.
Result: A centralized shipment monitoring workflow that allows operations teams to focus on resolving exceptions instead of repeatedly checking tracking portals.
The customs-hold exception is the one I'd find hardest to route, since it needs a different owner than a plain delay. Do you map each exception type to its own team in the escalation step, or is it one shared alert queue?