No-code Framework for Integrating with CRM systems
Ringotel offers a comprehensive set of APIs to manage your Ringotel account (Admin API) and facilitate messaging between Ringotel users (Messaging API). You can access the API documentation through the following link: Ringotel API
Additionally, we provide a no-code framework for integrating with CRM (and other third-party) systems. In essence, the CRM system needs to have HTTP API endpoints to receive requests from the Ringotel server. Ringotel will send requests at various stages of the workflow, such as during integration setup in the portal, contact creation, incoming/outgoing calls, etc. The endpoints and their format depend on the desired functionality and data you wish to receive in this integration.
Prerequisites
The integration has the following prerequisites:
The CRM must be capable of both receiving and responding to HTTPS requests containing JSON content.
The CRM must have the capability to authorize requests from a Ringotel server using Basic, Bearer, or OAuth2 methods.
The CRM needs to handle data in a predefined format for both incoming and outgoing transactions.
When interacting with Ringotel, the CRM is expected to respond with standard HTTP codes such as 200 OK or 403 Forbidden for authentication requests.
Implementation
The No-code Framework for Integrating with CRM systems is essentially a JSON file that outlines the integration implementation process. It includes details like authentication methods, HTTP requests and responses as per the CRM system API documentation, variables and parameters utilized in these requests/responses, and other relevant information. At the end of this document, you will discover a template that can be customized and shared with your team for review.
The JSON file adheres to the following structure and aligns with the workflow detailed below.
Description
These variables describe the integration internally and how it will be shown in the Ringotel admin portal.
“id”: string
ID of the integration. Used internally and should be unique.
"name": string
Name of the integration that is displayed in the Admin Portal.
"logo": string
Non-encoded URL to the integration logo that is displayed in the Admin Portal.
"class": string
Integration type. Should be set to crm
.
Properties
Defined properties will be displayed as fields in the integration form within the Ringotel Admin Portal configuration. These fields will retain the values provided, which can then be utilized across the JSON file.
Example:
Integration requires client ID, client secret and instance URL for authentication
These fields are added as properties in the JSON file:
"properties":[ "Instance URL", "Client ID", "Client Secret" ]
This causes these fields to appear in the Ringotel admin portal when configuring the integration:
The provided values are then used in the “Authentication“ section of the JSON document.
Parameters
Parameters store values that can be used throughout the JSON file in the methods request, response, URLs, Variables, and Authentication.
Declaration example:
"parameters": {
"user_id": "number",
"user_name": "string",
"contact_id": "number"
}
You do not need to declare and/or use all listed parameter in your JSON document, only the parameters needed can be declared and used.
Each parameter must have the appropriate data type according to the CRM API, i.e. string
, number
, ISO8601Date
, etc.
Parameter list:
Syntax
The syntax for using Variables, Parameters and Properties can use either $variable$
or {variable}
forms.
If you wish to use the {variable}
syntax, you will need to specify "var_char": "{}"
in the JSON file, before using this notation.
Example:
{
"id": "ExampleCRM",
"name": "Example CRM",
"logo": "https://assets.ringotel.net/img/services/example.png",