Skip to main content
Version: 8.1

Integration options

Level: intermediate

You can integrate Creatio with a wide range of external apps.

The choice of the integration option depends on the following factors:

  • customer needs
  • external app type and architecture
  • developer expertise level

View the main integration options in the figure below.

View the comparison of the major features of Creatio integration options in the table below.

Feature

Integration option

DataService

OData

ProcessEngineService.svc

Custom web service

Authentication options

Forms

Forms

Forms

Anonymous, Forms

Problems solved

Execute CRUD operations with Creatio objects, filter data, and use built-in Creatio macros

Execute CRUD operations with Creatio objects, add and delete bindings, retrieve properties, collections, object fields, sort data, etc.

Run business processes, transfer and receive parameters of the launched process, run individual process elements

Solve arbitrary problems within the capabilities of Creatio's open API

Data exchange formats

XML, JSON, JSV, CSV

XML, JSON

XML, JSON

XML, JSON

Developer

Creatio

Microsoft

Creatio

Creatio

Client libraries

You can use Creatio *.dll libraries only for .NET apps

Learn more about the libraries in the official OData documentation

No need

No need

Complexity

High

Medium

Low

Medium

Data services

Creatio lets you use the following data services:

  • OData protocol
  • DataService service

DataService service

DataService (developed by Creatio) is a service that enables communication between Creatio front-end and back-end. DataService lets you transfer user data to Creatio back-end to be processed and saved to a database. Learn more in a separate article: DataService.

Besides executing CRUD operations, DataService lets you use built-in macros and filters. You can execute complex batch requests.

OData protocol

OData (Open Data Protocol) is an ISO/IEC-approved OASIS standard. It defines a set of best practices for building and using REST API. Any external app that supports the HTTP protocol messaging and can handle data in the XML or JSON format can access Creatio data and objects using the OData protocol. In this case, data is available as resources identified using a URL. To interact with data, use the standard GET, PUT/PATCH, POST and DELETE HTTP methods. Learn more about the protocol in the official OData documentation.

Besides executing CRUD operations, the OData protocol lets you use the string, date, and time functions. Also, the protocol lets you extend its functionality using a large number of client libraries developed for widespread apps.

Creatio supports OData 4 and OData 3 protocols. OData 4 has more features than OData 3. The main difference between the protocols is the data format of the server's response. Learn more about the differences between OData 3 and OData 4 protocols in the official OData documentation. Use the protocol version 4 when you integrate an external app with Creatio via the OData protocol.

Service that runs business processes

Use the ProcessEngineService.svc system web service to run business processes from an external app. Besides running business processes from an external app, the ProcessEngineService.svc service lets you exchange data between Creatio and external apps. Learn more in a separate article: Service that runs business processes.

Custom web service

You can create custom web services to solve certain integration problems. The configuration web service is a RESTful service based on WCF technology. Learn more in a separate article: Custom web services.

A custom web service lets you perform a data exchange implemented by the developer. The web service also lets you implement any operations with Creatio objects, including CRUD operations.

Users can access such services without authorization.

Recommendations for integrating external apps with Creatio

We recommend using multithreaded integration to maximize Creatio throughput. The exact recommendations depend on the session mode that Creatio protocol or service uses.

  • If the Creatio protocol or API service uses non-blocking session mode, set up integration in multiple threads that use the same credentials.
  • If the Creatio protocol or API service uses blocking session mode, use specific credential collection for each thread to leverage available app resources.

When you create integrations in a third-party app, make sure the integration can use simultaneous threads that an external app generates when it accesses Creatio. This lets you allocate resources optimally and ensure all subsystems work as expected. At the same time, you can control the load of the integrated app on the Creatio API.


See also

Custom web services

Authentication

OData

DataService

Service that runs business processes

Integrations


Resources

OData client libraries

Description of the differences between OData 3 and OData 4 protocols

Official OData documentation

Description of the WCF technology