Things to know when integrating with Kustomer
Last Update: Oct 2024 • Est. Read Time: 3 MINKustomer's flexible platform allows you to integrate with a lot of different services out there. This article covers different types of integrations that are supported by Kustomer.
Push Integration
A push integration is set up so that once a specific event happens in the origin system, the origin system pushes data related to that event to a processing application that will then insert it into the destination system. This kind of integration is the most common in Kustomer, where the service is the origin system and Kustomer is the destination system. Kustomer can integrate with any service that can push data out of their system to a Kustomer webhook or email hook to notify Kustomer of an event (i.e. a new order, a customer update, etc). Data received via webhooks and email hooks can be processed by a Kustomer workflow to create/update customers, custom objects, and conversations, and can even be used to automate actions. One example of this kind of automation is sending an outbound message to a customer every time Kustomer is notified that a new order has been placed.
Note: Currently, Kustomer expects all data received via webhooks to be in JSON format.
Pull Integration
A pull integration is set up so that a processing application polls the origin system for new events at a predetermined frequency in order to pull that data into the destination system. This kind of integration is not supported in Kustomer. However, if the service you'd like to integrate with does not support webhooks and depends on a pull model, it is possible to build your own middleware application that regularly polls the service for new events and sends the event data to a Kustomer webhook to be processed by a workflow.
Another variation on the pull model can be accomplished in Kustomer if you only need to pull data from another system when one of the following conditions occurs within Kustomer: conversation create/update, customer create/update, and message create/update. An example of this implementation is to create a workflow that runs when a conversation is created and uses the customer email in the conversation to pull data about that customer from another system via an API request. If the request is successful, the workflow can use the data returned from the request to update the customer's profile.
Note: Requests should return a single object for a workflow to access. If a request returns an array, a workflow will not be able to iterate over the array.
Deeplinks
Deeplinks are URLs that allow you to link to another system from within Kustomer when looking at a customer, conversation, or custom object. Deeplinks can be added to Klass Views and can use the context of the customer's information to generate a unique URL. For example, a deeplink in a klass view that references a customer's context can access the customer's email to create a URL that points directly to that customer's profile in an external system, i.e. https://myadmin.com?email=john.smith@gmail.com. This kind of integration is helpful if you want to create an easy way for agents to access customer information in other systems without having to navigate there on their own.
Kustomer Cards
Using the Kustomer Cards SDK, you can create an integration within the Kustomer interface by embedding an external application directly within the Kustomer timeline within an iFrame using Klass Views. The external application will be displayed as a card on the righthand side panel whenever you are viewing a customer timeline. The card is dependent on the context of the item currently in view in the timeline, like a conversation or custom object. Check out our API documentation to read more about implementing the Kustomer Cards SDK. To learn more about displaying an iFrame in a Klass View, check out this article.
If your integration does not require hosting an external app, you can still use Klass Views to access the context of the item currently in view in the timeline to build integrations like deeplinks or buttons that kick off a workflow via a form hook.