Data Flow Diagrams

How data travels from the CRM, Xkit and your backend

CRM API

From your Application

When interacting with a CRM via the Universal CRM API, the data flows through Xkit in the following way:

Data Flow from your App to the CRM

It starts with a change in your Application. Such change may be triggered by an User or an automated process (e.g. a CRON job). Following that change, your Application may want to request (or change) data in the CRM.

Using the CRM API for that, the data flows in the following way:

  1. External Entity triggers a change in the Application
  2. Reacting to the change, the Application calls an event related in Xkit
  • Events and their attributes are pre-defined by the Developer
  1. Xkit transforms the data provided in the event according to the mapping set up by the Customer
  • Xkit forwards the mapped data using the customer chosen action (create/update, workflow, webhook)
  • From Xkit to the CRM, the data is transformed according to the event mapping
  1. Xkit returns the response to the Application
  • From Xkit to the Application, the data is transformed according to the read mapping
  • The Application may store the results in its own Data Store

From the CRM

When changes happen on the CRM side, the data flows through Xkit in the following way:

Data Flow from the CRM to your App

  1. The Application creates an Event Subscription in Xkit
  • Subscriptions may be related to a single CRM ID or a Search Query, e.g. users with email X
  1. Xkit polls for changes in the CRM as long as there is at least one Event Subscription
  2. If an object matches the Subscription criteria, Xkit stores data and metadata about the object
  3. Xkit sends a webhook request to the Application, the object data is mapped according to the read mapping

CRM Embed

Data Request

CRM Embed may request data from your Application, in order to properly display your Application's data embedded in the CRM. The data flow is a as follows:

Data Flow CRM Embed Data Request

  1. The CRM makes a request to Xkit to fetch data for a specific App Object.
  2. Xkit fetches teh associated CRM record and makes a POST request to the Application.
  3. The Application returns the related data with the list of available actions.
  4. Xkit builds a CRM-specific response and sends it to the CRM.

Actions

When actions are triggered by the user from the CRM Embed, Xkit will make a request to your Application. The flow is the following:

Data Flow CRM Embed Actions

  1. The CRM makes a request to Xkit to handle a specific action.
  2. Xkit fetches teh associated CRM record and makes a POST request to the Application
  3. The Application runs the action and returns the data (commands) or returns a URL to show (links and modals)
  4. Xkit builds a CRM-specific response and sends it to the CRM.

Ready to build your CRM app?

Integrate every CRM with one build, request access to get started.