Brevo
The Brevo integration allows Karla to provide your Brevo account with triggers of any sort, like shipment notifications or claims.
Steps
1. Open Brevo & navigate to SMTP & API
Navigate to your Brevo instance and click on SMTP & API
in the main navigation.
2. Create API Key
In the API Keys section, click on Generate a new API key
to create new API access.
Name your API key "Karla Integration" and select the necessary permissions.
See Create and manage your Brevo API Keys.
3. Copy the API Key
Copy the generated API key from Brevo.
In our portal, navigate to Settings
> Integrations
, look for Brevo
.
Paste the API key into the Private API Key
field and click on Save
.
Please contact our account manager if access to settings is not enabled for you in the portal. We can enable the setting for you.
Building Brevo Automations
Our Brevo integration will automatically create custom events prefixed with karla_
for all delivery journey events.
From there, you can create automation workflows relying on these events to configure your own email flows.
Recommended Flow Priority
To cover the most important delivery journey events, we recommend first creating automations for the following event groups:
karla_shipment_in_transit
karla_shipment_carrier_delay
karla_shipment_damaged
karla_shipment_out_for_delivery
karla_shipment_delivered_all_events
karla_shipment_not_picked_up_returned
karla_shipment_failed_returned
By creating these 7 automations you will be able to cover standard events happening for every order (karla_shipment_in_transit
, karla_shipment_out_for_delivery
), all delivered cases (karla_shipment_delivered_all_events
) and the events that hopefully do not happen too often, but where it is most important to be proactive with your customers (karla_shipment_carrier_delay
, karla_shipment_damaged
, karla_shipment_not_picked_up_returned
, karla_shipment_failed_returned
).
Brevo uses namespaced event groups (like karla_shipment_delivered
) while webhooks use ref patterns (like shipments/delivered/SUCCESSFULLY_DELIVERED
). Event groups are business-friendly names that group multiple specific events for easier automation management.
For complete documentation, see: Events Reference →
Pickup Reminder Automation
Create an automated workflow that triggers pickup reminders for packages delivered to parcel shops or lockers that haven't been collected within a specified timeframe.
Inserting the tracking page link
To include the tracking page link in your Brevo transactional emails you should use dynamic content with order_number
and zip_code
variables, so that your customers always receive their personalised link:
For emails triggered through Brevo:
Karla events
https://app.gokarla.io/track/slug?orderNumber={{ params.order_number }}&zipCode={{ params.zip_code }}&ref=karla
https://yourshop.com/pages/tracking?orderNumber={{ params.order_number }}&zipCode={{ params.zip_code }}&ref=karla
Shipping Confirmation
Triggered by external events from your shop system.
https://app.gokarla.io/track/slug?orderNumber={{ params.order_number }}&zipCode={{ params.shipping_zip }}&ref=karla
https://yourshop.com/pages/tracking?orderNumber={{ params.order_number }}&zipCode={{ params.zip_code }}&ref=karla
A slug
is your unique identifier that represents your shop within the Karla system. This is used to properly route tracking information and ensure that shipment data is associated with the correct merchant account.
Testing the automations
Once you've set up the automations and the respective emails it is important you make sure that the integration is working as expected.
In the Email Template Editor go to Preview & Test functionality.
There make sure that in the contact data you see the information from the profiles from your shop and not from Karla's test events. These should be infos like customer name, order number, shipping address etc.
You will see this information only after you have integrated your shop and Brevo with Karla. More on shop integrations
If you want to see how your customers will receive the emails, you can send a test email to your email address.
Putting the automations live
After you have tested your automations, you can put them live upon the agreed go-live date.
Make sure you have configured the proper sending settings and have disabled any frequency caps for transactional emails, so that all of your customers receive their shipping updates.
Event Groups
Karla provides the following event groups to your Brevo instance for building automations. These are business-friendly groupings that make it easier to create targeted campaigns without dealing with individual event names.
Event groups are specifically designed for Brevo integration and are different from webhook ref patterns:
- Event Groups: Business-friendly names, prefixed by
karla_
(e.g.,karla_shipment_delivered
) - Webhook Refs: Technical identifiers (e.g.,
shipments/delivered/SUCCESSFULLY_DELIVERED
)
For complete documentation of all events, ref patterns, and event groups, see: Events Reference →
Claims
For any processed claim (e.g. damaged package, package not found...). See Claims.
karla_claim_created
karla_claim_updated
Shipments
For any processed shipment update:
Event Group | Description | Use Case |
---|---|---|
karla_shipment_pre_transit | Package prepared for shipping | Confirmation emails |
karla_shipment_in_transit | Package moving through network | Journey updates |
karla_shipment_carrier_delay | Carrier-reported delays | Proactive communication |
karla_shipment_damaged | Package damage reported | Customer service outreach |
karla_shipment_out_for_delivery | Package out for delivery | Delivery notifications |
karla_shipment_delivered | Successful delivery | Delivery confirmations |
karla_shipment_delivered_all_events | All delivery variations | Comprehensive delivery flows |
karla_shipment_delivered_to_letterbox | Delivered to letterbox | Specific delivery method |
karla_shipment_delivered_to_neighbour | Delivered to neighbor | Neighbor delivery notification |
karla_shipment_delivered_to_parcel_locker | Delivered to parcel locker | Pickup instructions |
karla_shipment_delivered_to_parcel_shop | Delivered to pickup point | Pickup notifications |
karla_shipment_delivery_failed | Delivery attempt failed | Retry communications |
karla_shipment_delivery_failed_address_issue | Address problems | Address correction requests |
karla_shipment_delivery_failed_forwarded_to_parcel_shop | Forwarded to pickup | Alternative pickup location |
karla_shipment_delivery_second_attempt | Reattempting delivery | Second attempt notifications |
karla_shipment_not_picked_up_then_returned | Not picked up, returned | Return notifications |
karla_shipment_refused_then_returned | Customer refused package | Return processing |
karla_shipment_failed_returned | Package returned to sender | Return confirmations |
karla_shipment_picked_up | Successfully picked up | Pickup confirmations |
karla_shipment_lost | Package lost in transit | Loss notification and next steps |
karla_shipment_delayed_due_to_customer_request | Customer requested delay | Confirmation of delay request |
Recommended Automation Priority
High Priority (Essential automations):
karla_shipment_in_transit
- Keep customers informedkarla_shipment_out_for_delivery
- Delivery readinesskarla_shipment_delivered
- Delivery confirmationkarla_shipment_carrier_delay
- Proactive communicationkarla_shipment_delivered_all_events
- Any delivery event
Medium Priority (Enhanced experience):
karla_shipment_delivered_to_parcel_shop
- Pickup instructionskarla_shipment_delivery_failed
- Retry coordinationkarla_shipment_damaged
- Customer service escalation
Lower Priority (Edge cases):
karla_shipment_not_picked_up_then_returned
- Return processingkarla_shipment_failed_returned
- Return confirmationkarla_claim_created
- Claims management
Common Use Cases
Post-Delivery Review Request
Event Group: karla_shipment_delivered
Timing: 2-3 days after delivery
Content: Thank you message + review request
Pickup Reminder
Event Group: karla_shipment_delivered_to_parcel_shop
Timing: Immediate + daily reminders
Content: Pickup location, hours, deadline
Delivery Issue Resolution
Event Group: karla_shipment_delivery_failed
Timing: Immediate
Content: Failed reason, next steps, support link
Proactive Delay Communication
Event Group: karla_shipment_carrier_delay
Timing: As soon as delay detected
Content: New ETA, apology, compensation if applicable
Best Practices
1. Email Content Guidelines
- Be Specific: Reference the exact delivery status
- Include CTAs: Add tracking links and next steps
- Personalize: Use customer and order data available from the event
- Mobile-Optimize: Most tracking emails are read on mobile
2. Testing Recommendations
- Test each event group automation separately
- Verify dynamic content populates correctly
- Check email rendering across devices
- Monitor delivery rates and engagement
Troubleshooting
Events Not Triggering Emails
- Verify event group name matches exactly (case-sensitive)
- Check integration credentials are active
- Confirm automation is published in Brevo
- Test with Karla test events
Missing Data in Emails
- Ensure all dynamic content variables match the event data
- Check parameter syntax (
{{ params.field_name }}
) - Verify contact data mapping
Email Delivery Issues
- Check Brevo sending logs
- Verify customer email addresses
- Review spam folder placement
- Check domain authentication (SPF/DKIM)
Support
- Karla Integration Support: [email protected]
- Brevo Technical Support: Refer to your Brevo account manager
- Technical Documentation: Karla Events
Next Steps
- Identify which event groups align with your communication strategy
- Create automations for your priority events
- Design and test email workflows
- Monitor performance and optimize