Docs/Notify/Inxmail

Inxmail#

Overview#

Inxmail is a professional email marketing platform that can integrate with Karla to trigger automated email workflows based on delivery events throughout the customer journey. This guide explains how to configure Inxmail templates to receive and process Karla events.

How It Works#

  1. Event Generation: Karla generates events throughout the delivery journey
  2. Event Transmission: When events occur, Karla sends them to Inxmail using your configured integration (events have to be created in Inxmail first)
  3. Template Matching: Inxmail matches incoming events to templates based on the event group
  4. Email Workflow: Your configured email workflows are triggered automatically

Prerequisites#

  • Active Inxmail account with API access
  • Karla integration credentials (configure your Inxmail integration in portal)
  • Understanding of Karla Events

Template Configuration#

Base Template Structure#

Every Karla event template in Inxmail must follow this XML structure:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<event xmlns="http://www.inxmail.com/xcom/eventtype">
    <eventtype>
        <id>{event_group}</id>
    </eventtype>
    <customermapping/>
    <customeremail>Customer.Email</customeremail>
    <phgroup>
        <id>Order</id>
        <placeholder>
            <id>OrderNumber</id>
            <datatype-string/>
        </placeholder>
         <placeholder>
            <id>OrderNumberUrlEncoded</id>
            <datatype-string/>
        </placeholder>
        <placeholder>
            <id>OrderName</id>
            <datatype-string/>
        </placeholder>
        <placeholder>
            <id>TotalOrderPrice</id>
            <datatype-double/>
        </placeholder>
         <placeholder>
            <id>OrderCurrency</id>
            <datatype-string/>
        </placeholder>
        <placeholder>
            <id>OrderStatusUrl</id>
            <datatype-string/>
        </placeholder>
        <placeholder>
            <id>ExternalId</id>
            <datatype-string/>
        </placeholder>
    </phgroup>
     <phgroup>
        <id>Customer</id>
        <placeholder>
            <id>Email</id>
            <datatype-string/>
        </placeholder>
         <placeholder>
            <id>Name</id>
            <datatype-string/>
        </placeholder>
          <placeholder>
            <id>Country</id>
            <datatype-string/>
        </placeholder>
        <placeholder>
            <id>ZipCode</id>
            <datatype-string/>
        </placeholder>
         <placeholder>
            <id>ShippingAddress</id>
            <datatype-string/>
        </placeholder>
        <placeholder>
            <id>ExternalCustomerId</id>
            <datatype-string/>
        </placeholder>
    </phgroup>
    <phgroup>
        <id>Shipment</id>
        <placeholder>
            <id>TrackingNumber</id>
            <datatype-string/>
        </placeholder>
        <placeholder>
            <id>TrackingUrl</id>
            <datatype-string/>
        </placeholder>
        <placeholder>
            <id>CarrierName</id>
            <datatype-string/>
        </placeholder>
    </phgroup>
</event>

Important: Event Group Configuration#

The {event_group} placeholder in the template must be replaced with the specific event group you want to listen to. Each event group requires its own template in Inxmail.

Available Event Groups#

Karla provides the following event groups that you can configure templates for:

Delivery Events#

Event GroupDescriptionUse Case
shipment_deliveredPackage successfully deliveredSend delivery confirmation, request reviews
shipment_delivered_all_eventsAll delivery variationsComprehensive delivery tracking
shipment_delivered_to_neighbourLeft with neighborNotify about neighbor delivery
shipment_delivered_to_letterboxLeft in letterboxConfirm letterbox delivery
shipment_delivered_to_parcel_shopReady at pickup locationPickup reminder with location details
shipment_delivered_to_parcel_lockerIn parcel lockerLocker code and pickup instructions
shipment_picked_upCustomer collected packageConfirm successful collection

Transit Events#

Event GroupDescriptionUse Case
shipment_pre_transitOrder processed, awaiting pickupOrder confirmation, packing notification
shipment_in_transitPackage in carrier networkShipping updates, ETA communication
shipment_out_for_deliveryOut for final deliverySame-day delivery alerts

Issue Events#

Event GroupDescriptionUse Case
shipment_carrier_delayDelays in transitProactive delay notifications
shipment_damagedPackage damage reportedDamage incident communication
shipment_delivery_failedDelivery attempt unsuccessfulFailed delivery instructions
shipment_delivery_failed_address_issueAddress problemsRequest address clarification
shipment_delivery_failed_forwarded_to_parcel_shopRedirected to pickupNew pickup location info
shipment_delivery_second_attemptRedelivery scheduledSecond attempt notification

Return Events#

Event GroupDescriptionUse Case
shipment_not_picked_up_then_returnedNot collected, returningMissed pickup alerts
shipment_refused_then_returnedCustomer refused deliveryRefusal follow-up
shipment_failed_returnedPackage returned to senderReturn process updates

Customer Service Events#

Event GroupDescriptionUse Case
claim_createdCustomer submitted claimClaim acknowledgment
claim_updatedClaim status changedResolution updates

Special Events#

Event GroupDescriptionUse Case
shipment_lostPackage lost in transitLoss notification and next steps
shipment_delayed_due_to_customer_requestCustomer requested delayConfirmation of delay request

Configuration Steps#

1. Create Templates for Each Event Group#

For each event group you want to monitor, create a separate template in Inxmail:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<event xmlns="http://www.inxmail.com/xcom/eventtype">
    <eventtype>
        <id>shipment_delivered</id>
    </eventtype>
    <!-- Rest of template structure -->
</event>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<event xmlns="http://www.inxmail.com/xcom/eventtype">
    <eventtype>
        <id>shipment_delivery_failed</id>
    </eventtype>
    <!-- Rest of template structure -->
</event>

You can configure one event with the template and then duplicate it later with a different event name.

2. Configure Email Workflows#

For each template, set up corresponding email workflows:

  1. Immediate Notifications: For time-sensitive events (out for delivery, failed delivery)
  2. Delayed Communications: For follow-ups (review requests post-delivery)
  3. Conditional Logic: Different emails based on delivery method or location

3. Use Placeholder Data#

In your email templates, use the placeholder data:

  • {{Order.OrderNumber}} - Order reference
  • {{Order.TotalOrderPrice}} - Order value
  • {{Customer.Name}} - Recipient name
  • {{Customer.ZipCode}} - Shipping address postal code
  • {{Shipment.TrackingUrl}} - Direct tracking link
  • {{Shipment.CarrierName}} - Carrier information

Check the template variables for more options.

Best Practices#

1. Event Selection Strategy#

  • Start Small: Begin with critical events (delivered, failed delivery)
  • Avoid Duplication: Don't listen to overlapping event groups
  • Consider Frequency: High-frequency events may need rate limiting

2. Email Content Guidelines#

  • Be Specific: Reference the exact delivery status
  • Include CTAs: Add tracking links and next steps
  • Personalize: Use customer and order data
  • Mobile-Optimize: Most tracking emails are read on mobile

3. Testing Recommendations#

  1. Test each event group template separately
  2. Verify placeholder data populates correctly
  3. Check email rendering across devices
  4. Monitor delivery rates and engagement

Common Use Cases#

Post-Delivery Review Request#

Event Group: shipment_delivered Timing: 2-3 days after delivery Content: Thank you message + review request

Pickup Reminder#

Event Group: shipment_delivered_to_parcel_shop Timing: Immediate + daily reminders Content: Pickup location, hours, deadline

Delivery Issue Resolution#

Event Group: shipment_delivery_failed Timing: Immediate Content: Failed reason, next steps, support link

Proactive Delay Communication#

Event Group: shipment_carrier_delay Timing: As soon as delay detected Content: New ETA, apology, compensation if applicable

Troubleshooting#

Events Not Triggering Emails#

  1. Verify event group ID matches exactly (case-sensitive)
  2. Check integration credentials are active
  3. Confirm template is published in Inxmail
  4. Test with Karla test events

Missing Data in Emails#

  1. Ensure all placeholders match the template structure
  2. Check data type definitions (string vs double)
  3. Verify customer email field mapping

Email Delivery Issues#

  1. Check Inxmail sending logs
  2. Verify customer email addresses
  3. Review spam folder placement
  4. Check domain authentication (SPF/DKIM)

Support#

  • Karla Integration Support: [email protected]
  • Inxmail Technical Support: Refer to your Inxmail account manager
  • Technical Documentation: Karla Events

Next Steps#

  1. Identify which event groups align with your communication strategy
  2. Create templates for your priority events
  3. Design and test email workflows
  4. Monitor performance and optimize
Was this helpful?