'Where is my car?': Toyota's customer engagement platform

Last weekend, I went on a long walk to prepare for The Four Days Marches Nijmegen. Podcasts make the perfect companion for a lengthy stroll, and as a relatively new AxonIQ team member, there's plenty to catch up on. (Exploring Axon is already in its fourth season!)

One compelling episode I came across features Allard describing how Toyota utilized Axon to revamp its customer engagement platform. It's an excellent example of how pivoting from batch-oriented to event-driven architecture creates opportunities.

In this particular case, event-driven architecture enables Toyota to keep customers updated on the progress of their recently purchased car through their Customer Engagement Platform. For those more video-oriented, you can learn more about this case on our YouTube channel.

How Toyota changed the way they communicated with customers

Toyota turned to Axon Framework after setting a goal to enhance the buying experience for customers – focusing on developing personalized messaging to individual customers instead of mass broadcasted messages to large groups of customers. 

event-driven architecture customer engagement platform

The old approach utilized mediums such as TV advertisements and websites. The new approach relies more on getting to know each customer individually, through social media for example. 

customer engagement platform

So in order to achieve this, Toyota turned to Axon Framework as an essential part of its vehicle order tracker service. The tracker aims to keep the customer engaged during the waiting period between the moment of purchase and the vehicle's delivery  – transforming potential ‘buyer’s remorse’ into customer delight.

The tracker sends customers email updates by linking the order updates from the logistics system to the customer information. These updates keep customers excited about what's to come – keeping the customer from becoming bored or overthinking their decision while waiting for their new car.

Some integrations were needed between the CRM, SalesForce, and several other systems used to fulfill the order – and Axon Framework is used to orchestrate this information.

Results of the customer engagement platform

As it turned out, it worked! Customers are more engaged with the vehicle order tracker (VOT) ‘T-live’.

event-driven architecture customer engagement platform

Technical implementation overview

The architecture looks like this, with Axon Framework playing a vital role in connecting several systems.

customer engagement platformFor the implementation, several Sagas or Process Managers are used to coordinate between different aggregates. The main Saga, in this case, is the ‘Ordertrackingsaga’. Connected systems produce events to be handled by this Saga. The Saga will react to those events by sending commands to core domain Aggregates or other systems.

A query model was created for the ‘My Toyota VOT Page’, with mainly ‘PortalAccountTracking’ and ‘PortalOrderEntry’ entities. There is a separate query model for the communication, with entities like ‘Communication’, ‘VehicleServiceNeeded’, and ‘Appointment’.

The command model uses mainly a ‘DomainEntryEvent’ together with some additional entities to handle Saga’s, errors, and snapshots. Snapshots are a nice way to prevent building up the aggregates from scratch each time, and Axon Framework makes using snapshots easy. Events need to be immutable, but at the same time, GDPR might require data to be removed. For that reason, they used the Axon Data Protection module, which made it easy to be compliant.


Here you can see the query model, with the projections on the left and the command model on the right. Clients send commands which, via command handlers and events, update the projections.

Results of the changed strategy

The new customer engagement platform proved successful; 91% reported that they enjoy receiving these updates. Another 77% of people report sharing them with friends and family.
Toyota now plans to add additional features to the system, such as the ability to order additional accessories. 

So you can see, by moving towards a more event-driven architecture, Toyota increased customer happiness and made customer engagement easier.

For more examples of the value Axon can bring, please subscribe to the podcast or visit us this fall for the Axon conference.

Gerard Klijs
Software Engineer. With over 10 years of experience as a backend engineer, Gerard Klijs is a contributor to several GraphQL libraries, and also the creator and maintainer of a Rust library to use Confluent Schema Registry. He has an interest in event sourcing and CQRS and likes sharing knowledge via blogs, talks, and demo projects.
Gerard Klijs