What are Communications?
Communications in Journey are event-driven messages automatically sent to customers at key moments in their journey. Journey’s system supports multi-channel delivery (email, SMS), dynamic template rendering, and intelligent dunning sequences, all managed through a simple event-based API.Key Innovation: Journey’s communication system automatically enriches messages with contextual data (customer, order, subscription) and supports separate messaging for gift recipients, making complex notification flows simple to implement.
The Event-Driven Model
Journey’s communications work through a trigger-based system:1
Events = Triggers
Moments in the customer journey (payment succeeds, delivery scheduled, payment fails)
2
Messages = Templates
Define what gets sent using Django template syntax with access to customer and order data
3
Providers = Delivery
Email (Postmark) and SMS (Twilio/Nova) handle actual message delivery
4
Logs = Audit Trail
Complete history of every communication with provider responses
Communication Flow
Built-in Events
Journey includes pre-configured events for common scenarios:| Event | Trigger Point | Channel | Purpose |
|---|---|---|---|
subscription_payment_authorized | Payment succeeds | Welcome new subscribers | |
oneoff_payment_authorized | One-time purchase | Order confirmation | |
delivery_complete | Driver marks delivered | Email/SMS | Delivery confirmation |
driver_starts_route | Driver begins route | SMS | Pre-delivery notification |
inform_future_event | Scheduled (cron) | Email/SMS | Delivery reminders |
past_due_first_time | First payment failure | Friendly dunning notice | |
still_on_error_every_fourth | Every 4 retry attempts | Urgent payment reminder | |
subscription_expired | Max retries reached | Cancellation notice | |
invoice_sent_automatically | Payment settles | PDF invoice delivery |
Events can be triggered programmatically via the
event_handler() function or run automatically on a schedule via cron jobs.Message Templates
Template Structure
Messages define the content sent when an event triggers:Template Variables
Templates have access to contextual data using Django template syntax:Customer Data
Customer Data
Order & Delivery
Order & Delivery
Subscription
Subscription
Merchant Branding
Merchant Branding
Special Variables
Special Variables
Example: Order Confirmation Email
Example: Delivery Reminder SMS
Dunning (Payment Failures)
Journey includes intelligent dunning that automatically manages payment failure communications.Dunning Flow
Dunning Events
Past due first time
Past due first time
Trigger: First payment failure (Day 1)Tone: Friendly and informativeMessage:
Still on error every fourth
Still on error every fourth
Trigger: Every 4th retry attempt (Days 4, 8, 12, 16)Tone: More urgent with each iterationMessage (Day 8):
Error first time
Error first time
Trigger: Max retries reached (Day 20)Tone: Final warning, clear consequencesMessage:
Subscription expired
Subscription expired
Trigger: Subscription cancelled (Day 21)Tone: Professional, offer to reactivateMessage:
Dunning Configuration
Configure per merchant:Customers can update payment methods during the dunning period. The next retry automatically uses the new card, recovering the subscription. See the Delivery & Fulfillment page for more details on how dunning is managed end-to-end.
Gift Orders
When customers send gifts, Journey can notify both the buyer and recipient separately.How It Works
Receiver Types
Specify who receives each message:- Receiver: customer - The person who placed the order
- Reveiver: customer_receiver - The delivery recipient
Example: Gift Notifications
- To Buyer
- To Recipient
Invoice Delivery
Customers can choose to receive automatic PDF invoices via email after each payment settles.How It Works
Enabling Automatic Invoices:- Customers go to their My Pages settings
- Check the option to “Send me invoices automatically”
- After each payment processes, they receive an email with the invoice PDF attached
- All previous invoices are available in the Order History section of My Pages
- Customers can view, download, and print invoices anytime without needing to search their email
This gives customers flexibility: they can choose email delivery for immediate access, or access all invoices later through their account history on My Pages.
Message Logs
Every email and SMS sent to customers is logged so you can track delivery and troubleshoot issues.What Gets Logged
For each message sent, the system records:- Recipient - Customer email or phone number
- Content - What was sent
- Status - Whether it was successfully delivered or failed
- Timestamp - When it was sent
- Reason for message - Which event triggered it (e.g., payment received, delivery arriving tomorrow)
Viewing Delivery Status
You can check whether a message was successfully delivered or if there was an issue:- Sent - Message delivered to the provider (email/SMS carrier)
- Failed - Message couldn’t be delivered (e.g., invalid email address, carrier rejected SMS)
Message logs help you ensure customers are receiving important notifications about their orders, payments, and deliveries. Use them to troubleshoot communication issues and improve delivery rates.
White-Label Support
Journey’s communication system supports complete white-labeling for each merchant.Your Brand, Your Communications
Each merchant can customize their communications completely:- Send from your email address - Customers see your brand, not Journey’s
- Use your support email - Replies go directly to your support team
- Choose your email provider - Use your preferred email service provider (e.g., Postmark, SendGrid)
- Choose your SMS provider - Use your preferred SMS provider (e.g., Twilio, Plivo)
- Private message logs - All communications are kept separate and private to your account
Example
Store A sends emails from[email protected] and uses their own email service.
Store B sends emails from [email protected] and uses a different email service.
Both operate independently in Journey—each managing their own communications, templates, and customer data without any overlap.
White-label communications mean your customers see only your brand in every message they receive. They never know Journey is powering the platform behind the scenes.
Common Use Cases
Passwordless Authentication
When a customer logs into My Pages, they receive an SMS or email with a one-time code. They enter the code to verify their identity—no password needed. Example Message:Subscription Welcome Email
After a customer’s first payment processes successfully, they receive a welcome email with their subscription details, next delivery date, and how to manage their account on My Pages. Example Message:Delivery Tracking Updates
As a delivery gets closer, customers receive notifications with their delivery window. If the driver is nearby, they get a final update. Example Messages:Payment Failure Recovery
If a payment fails, the customer automatically receives a message asking them to update their payment method on My Pages. This helps recover the failed subscription without losing the customer. Example Message:Related Concepts
Subscriptions
Understand subscription lifecycle and automated billing that triggers communications
Dunning & Payment Recovery
Learn about payment retry logic and dunning communication sequences
Reports
Monitor business performance with built-in reports
Recurring Payments
Understand payment processing and billing cycles