The component interacts with Creatio using its OData 4.0 REST API (/0/odata/). It dynamically queries metadata (/0/odata/$metadata) to populate available entity types, date/time fields, and JSON schema properties in the integration designer.
The Creatio component connects our integration platform to your Creatio CRM instance via the Creatio OData API. It provides triggers and actions to poll, search, retrieve, create, update, and delete Creatio records, as well as execute custom raw API requests.
The component uses OAuth 2.0 for secure API authentication.
To build an integration flow, you must first register an OAuth 2.0 application in your Creatio CRM environment:
System Designer page, then go to the Import and integration section and click OAuth 2.0 integrated applications.New.On behalf of a user (authorization code).AUTHORIZATION CODE tab and specify:
https://{your-tenant-address}/callback/oauth2, where {your-tenant-address} is the domain of your integration platform.When creating a new credential on the elastic.io platform:
| Field | Type | Required | Description |
|---|---|---|---|
| Type | Dropdown | Yes | Select OAuth2. |
| Choose Auth Client | Dropdown | Yes | Select an existing client or choose Add New Auth Client and supply: Client ID, Client Secret, Authorization Endpoint (https://{your-creatio-domain}/0/connect/authorize), Token Endpoint (https://{your-creatio-domain}/0/connect/token), and Scope (offline_access,ApplicationAccess_{ID}). |
| Instance URL | String | Yes | Base URL of your Creatio environment, e.g. https://123-crm-bundle.creatio.com. |
| Number of retries | Number | No | Maximum retry attempts when encountering rate limiting (429) or server errors. Defaults to 5. |
| Delay between retries | Number | No | Delay in milliseconds before retrying after a rate limit error. Defaults to 10000 (10 seconds). |
| Name Your Credential | String | Yes | A descriptive label for the credential. |
| Variable | Description |
|---|---|
ELASTICIO_FLOW_TYPE |
Set to debug during sample retrieval in the flow designer. When debug, maximum page size is automatically capped at 10. |
EIO_REQUIRED_RAM_MB |
Recommended container memory allocation. Default: 256 MB. |
Polls Creatio for records that have been created or modified since the previous poll. Stores the highest timestamp seen in the snapshot to prevent duplicate emissions.
| Field | Type | Required | Description |
|---|---|---|---|
| Object Type | Dropdown | Yes | The Creatio entity to monitor (e.g., Contact, Account). Populated dynamically and sorted alphabetically. |
| Time stamp field to poll on | Dropdown | Yes | Timestamp field to evaluate (e.g., CreatedOn, ModifiedOn). Populated dynamically based on the selected object type. |
| Emit Behavior | Dropdown | No | Emit individually (emits one message per record; default) or Emit page (emits an array of records under results). |
| Page size | Number | No | Number of records to request per page (1–100, default 100). In debug flows, capped at 10. |
| Start Time | String | No | ISO 8601 UTC timestamp to start polling from (e.g., 2024-01-01T00:00:00Z). Defaults to 1970-01-01T00:00:00Z. |
None. This trigger evaluates polling timestamps based on configuration and the latest snapshot.
Emit individually (emitBehavior: emitIndividually):
{
"Id": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2",
"Name": "John Doe",
"CreatedOn": "2024-01-15T08:30:00Z",
"CreatedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ModifiedOn": "2024-01-15T09:45:00Z",
"ModifiedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ProcessListeners": 0
}
Emit page (emitBehavior: emitPage):
{
"results": [
{
"Id": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2",
"Name": "John Doe",
"CreatedOn": "2024-01-15T08:30:00Z",
"CreatedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ModifiedOn": "2024-01-15T09:45:00Z",
"ModifiedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ProcessListeners": 0
}
]
}
Deletes a single record from Creatio by its unique identifier (GUID).
| Field | Type | Required | Description |
|---|---|---|---|
| Object type | Dropdown | Yes | The entity type to delete from (e.g., Contact, Account). |
{
"id": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2"
}
{
"status": 204,
"deletedId": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2"
}
Retrieves a single record from Creatio by its unique identifier (GUID).
| Field | Type | Required | Description |
|---|---|---|---|
| Object type | Dropdown | Yes | The entity type to query (e.g., Contact, Account). |
{
"id": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2"
}
{
"Id": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2",
"Name": "Acme Corporation",
"CreatedOn": "2024-01-10T12:00:00Z",
"CreatedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ModifiedOn": "2024-01-11T15:20:00Z",
"ModifiedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ProcessListeners": 0
}
Queries multiple records of a given object type from Creatio, automatically handling pagination via $skip and $top.
| Field | Type | Required | Description |
|---|---|---|---|
| Object type | Dropdown | Yes | The entity type to query (e.g., Contact, Account). |
| Emit Behavior | Dropdown | Yes | Emit individually or Emit page. |
{
"pageSize": 50
}
Emit individually (emitBehavior: emitIndividually):
{
"Id": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2",
"Name": "Acme Corporation",
"CreatedOn": "2024-01-10T12:00:00Z",
"CreatedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ModifiedOn": "2024-01-11T15:20:00Z",
"ModifiedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ProcessListeners": 0
}
Emit page (emitBehavior: emitPage):
{
"results": [
{
"Id": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2",
"Name": "Acme Corporation",
"CreatedOn": "2024-01-10T12:00:00Z",
"CreatedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ModifiedOn": "2024-01-11T15:20:00Z",
"ModifiedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ProcessListeners": 0
}
]
}
Executes an arbitrary HTTP request against your Creatio instance with automatic OAuth 2.0 token management.
None.
GET Request Example:
{
"url": "/0/odata/Contact?$top=5&$select=Id,Name,Email",
"method": "GET"
}
POST Request Example:
{
"url": "/0/odata/Account",
"method": "POST",
"data": {
"Name": "New Corporation"
}
}
{
"statusCode": 200,
"headers": {
"content-type": "application/json; odata.metadata=minimal"
},
"responseBody": {
"@odata.context": "https://creatio.example.com/0/odata/$metadata#Account",
"value": [
{
"Id": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2",
"Name": "New Corporation"
}
]
}
}
Creates a new record (POST) or updates an existing record (PATCH) in Creatio.
| Field | Type | Required | Description |
|---|---|---|---|
| Operation | Dropdown | Yes | Create to insert a new record, or Update to modify an existing record. |
| Object type | Dropdown | Yes | The entity type to upsert (e.g., Contact, Account). |
Create Operation (operation: Create):
{
"Name": "Jane Smith",
"Email": "jane.smith@example.com",
"JobTitle": "Lead Engineer"
}
Update Operation (operation: Update):
When
Updateis selected,Id(orid) is mandatory.
{
"Id": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2",
"Name": "Jane Smith",
"Email": "jane.smith@example.com"
}
{
"Id": "c3e7f4c0-2f9a-4c28-98e1-5e8a3d6174a2",
"Name": "Jane Smith",
"Email": "jane.smith@example.com",
"CreatedOn": "2024-01-15T08:30:00Z",
"CreatedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ModifiedOn": "2024-01-15T09:45:00Z",
"ModifiedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
"ProcessListeners": 0
}
HTTP 429): If Creatio throttles requests, the component automatically waits for retriesDelay milliseconds (default: 10 seconds) and retries up to retries times (default: 5) before failing.HTTP 401): The component automatically refreshes expired access tokens and retries the request without failing the flow execution.100 records per request (automatically capped at 10 in debug/sample flows).Click here to learn more about the elastic.io iPaaS