Data architecture

Learn the building blocks of Endear's architecture.

Cloud-hosted platform

Endear operates a real-time platform built for massive scale on top of Google Cloud Platform (GCP). We ingest & process billions of data points in real-time to provide a high-performance CRM.

Integration data isolation

Any integration to Endear, whether maintained internally by Endear's team or built by you, is isolated. What this means is that a customer record pulled in from Shopify, for example, with an ID of 85939284 cannot conflict with data pushed in from other integration sources or your custom sources. As a result, when pushing external data into Endear, you should always pass your own stable, unique identifiers to represent each record. If you send two different records with the same ID to the same integration, it will overwrite the previous record. Therefore, it is best to silo your data sources by integration.

If we visualize how this data is stored as a table today, it would like something like this:

external_idintegration_idintegration_type
859392841shopify
068285921shopify
859392842api
068285922api

In this case, even though there are duplicate records with the same external_id, they do not get merged because they belong to different integrations. On the other hand, passing data to the same integration_id / external_id combination will overwrite any data in that row.

Automatic, continuous customer merging

Endear will automatically merge customer data in two scenarios:

  1. If two records share the same email address, they will be automatically merged
  2. If two records share the same phone number & at least 80% the same name, they will be automatically merged