Overview

What's a universal CRM integration?

Xkit Universal CRM integration is a framework to build rich, customizable CRM integrations that include embedding your SaaS app inside of the user's CRM.

CRMs have become the central nervous system of modern businesses, so modern B2B SaaS has to integrate in order to compete.

CRMs are hard to integrate

But CRM integrations are among the most difficult integrations that most companies build. That's largely for two reasons:

CRMs are highly customized to the industry and business for whom they're functioning

A CRM is really just a modern business database focused on sales. Trying to integrate with "a CRM" is a bit like trying to integrate with "a database" - even if you know you're working in SQL, understanding the schema of the data and what is important to the user is critical to building a functional integration. Every customer will have their own custom objects and custom fields, and CRM integrations need to understand the data in order to make the integration valuable for the customer.

In addition, the importance of the CRM to your customer and the complexity of all of the tools and integrations they're already using means that they need a lot of control over interactions so they don't break their whole system.

Embedding inside CRMs requires CRM-specific tech and slows down iteration

When developers think about "integration", they're usually thinking about APIs. But when CRM users think about "integration", they're thinking about how they can use their new tool in the context of their most important tool, the CRM. They want to interact with all of their apps in the context of their existing data and operate from a "single pane of glass".

Most CRMs encourage embedding your app inside the CRM to enable a seamless user experience. But without standards for how to embed apps, varying levels of functionality provided, and in some cases archaic versioning and distribution channels (ahem Salesforce), embedding takes a significant amount of time and engineering effort and usually results in experiences that once built are difficult to keep updated with the speed of your business.

Xkit makes CRM integration easy

With one build using the Xkit Universal CRM integration framework, you'll be able to handle the wide range of customizations demanded by users and the seamless embedded user experience your customers are asking for without pulling your hair out.

Integration overview

At a high level, your integration will work as follows:

As initial set up, you will set up in the Xkit Developer Portal:

  1. CRM Objects: the existing objects in your user's CRM that you want to interact with (e.g. "Opportunities" or "Companies")
  2. App Objects: the objects from your App that should appear in the user's CRM (for an e-signature company, this might be a "Document")
  3. App Object Properties: the properties for App Objects that will be visible to the users (e.g. "Document Name")
  4. App Object Actions: the actions that users can take for App Objects from within the CRM (e.g. "Create Document")
  5. App Object Relations: the CRM Objects that are linked to your App Objects

For each user, your application will specify using the CRM Link Javascript SDK:

  1. Fields to map from the CRM to your application (i.e. for each CRM Object)
  2. Events to handle from your application which affect a CRM object
  • Including fields that should be expected in the event payload

You'll present CRM Link to each user to connect their CRM, at which point they will:

  1. Authorize your application to access their CRM
  2. Map data from their CRM to your defined CRM Objects
  3. Define how to handle events from your application

During normal operation, your application will be responsible for:

  1. Retrieving mapped data from the user's CRM to pre-populate your app
  2. Emitting events for CRM Objects based on events in your application
  3. Exposing App Objects via your API for the purpose of displaying them in embedded UI
  4. Handling App Object Actions via your API

The end result will be:

  • Data in your app stays in sync with data in the CRM, no matter the user's level of customization
  • Data (record updates) and activity (tasks, timeline events, etc) automatically flows back to the CRM in a way that is controlled by the user
  • Your data (App Objects) appears in the CRM alongside relevant objects selected by the user (CRM Objects)
  • Users can take actions in your app from the CRM
  • Actions initiated from the CRM include data mapped from the CRM by the user

Up next

OAuth Setup

Create developer credentials for CRM apps

Read more ▶

Ready to build your CRM app?

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