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.
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.