Skip to main content
Feedback

Creatio — Partner operation

Updated 

The Creatio — Partner operation defines how to interact with your Creatio instance and represents a specific action (Get or Execute) to perform on a specific object type. An object type is an integration flow published by the Solutions Metrix Boomi Connector package.

Create a separate operation for each combination of action and object type that your integration requires.

Object types

The connector reads the flow registry from your Creatio instance and lists one object type per published flow version, labeled <Flow_name> (v<version>). Selecting a flow object type includes both the flow and its version in the operation, so neither action requires any additional fields.

A flow declares in Creatio which directions it serves, through the Supports saving and Supports reading checkboxes on the flow record. The list is not filtered by the operation's action, so an action pointed at a flow that does not serve it is refused at runtime — the result-handling table of each action below gives the shape that refusal arrives in. Check those two checkboxes on the flow in Creatio if a call comes back refused rather than executed.

The connector retrieves the flow's XML Schema from Creatio and hands it to the mapping editor, with Root as the document element. It describes the record graph, so it is the profile of the Execute action's input and of the Get action's output. Detail collections appear as repeating child elements named <Entity>__<link field> — two underscores, for example, ContactCommunication__Contact — and expanded lookups as nested elements, so a map produces the whole record graph in one document.

The Execute action's output is not a record graph but the UpsertResult envelope described below. That profile ships with the connector and is populated for you by the same import, so both sides of an Execute operation are mappable.

To import a profile or refresh it, click Import Operation and complete the import wizard: it asks for the Connector Action (already set from the operation), a Runtime that can reach your Creatio instance, the Connection to use, and an optional Filter that narrows the returned list by name. The import runs on the selected runtime, so the runtime needs network access to Creatio at both design time and runtime.

The wizard's second step shows the object type the operation currently uses and asks whether to import the same Object again — use this to refresh a profile after the flow changed in Creatio — or a new Object, which replaces the operation's object type with another entry from the list.

If the connection cannot be used, the browse fails with the same diagnosis Test Connection gives — an access token that cannot be obtained from the OAuth 2.0 Access Token URL, a token Creatio does not accept, a Creatio instance without the Solutions Metrix Boomi Connector package — rather than showing an empty list. The two differ on one point: an instance with no flows configured yet is a success for Test Connection, because the connection itself is sound, and an error for browsing, because there is nothing to select. Create an integration flow in Creatio (section Boomi integration flows), make sure it is active, then browse again.

When a flow changes in Creatio — a column added, a detail added, a lookup expanded — run Import Operation again to pick up the new profile. No connector update is required.

Run it again after a connector upgrade as well: an operation keeps the profiles it was imported with, so a release that changes a profile — for example, the Execute response profile — reaches an existing operation only through a re-import. Nothing else in the operation is affected.

Options tab

The import fills in the Options tab. The fields are:

FieldDescription
Connector ActionThe action the operation performs: Get or Execute. Set when the operation is created and read-only afterward.
ObjectThe integration flow this operation targets. The selection carries the flow and its version, so neither action needs a flow field of its own.
Tracking DirectionWhether Process Reporting tracks the documents going into the connector or the documents coming out of it. Standard Boomi behavior.
Return Application Error ResponsesControls what happens when Creatio accepts the call but rejects the data — a missing required field, a lookup that cannot be resolved, insufficient rights on a target object. Leave it cleared so the rejection fails the document and the error surfaces in Process Reporting. Select it only when your process inspects the returned document and handles the failure itself: with the box selected, the rejection arrives as an ordinary document, and the process continues, so an unhandled rejection is silently lost. The field has no effect on the failures listed below, as the document fails with the exception message — those are raised before or outside Creatio's answer and always cause the document to fail.

Archiving, Tracking and Caching tabs

These three tabs are provided by the platform and behave as they do for any connector: document archiving, custom tracked fields, and connector caching. The connector defines no tracked properties of its own; see the Tracking Direction field above for which side of the call is tracked.

Licensing

Both actions require a valid Solutions Metrix license on the connection. Importing an operation and testing the connection works without one, so a process can be built while the license is being issued, but the first execution on an unlicensed connection fails every document with an SM-LICENSE message naming the reason — no license, a license issued for a different Boomi Account ID, an expired trial. The Creatio — Partner Connector connection document covers the Customer ID and License Key fields, as well as how to request a license.

Execute action

The Execute action writes a record graph to Creatio. It takes the mapped XML document as input, sends it to the flow's upsert endpoint, and Creatio inserts or updates the root record along with its details and lookups in a single call, matching existing records by the business keys the flow declares.

Input. One XML document per record graph, shaped to the flow's profile with Root as the document element. An empty document fails the document with an exception rather than as an application error.

Output. An XML document describing what Creatio did, with UpsertResult as the document element. Success is the overall flag; TotalProcessed, SuccessCount and FailureCount count the records in the graph; ErrorMessage carries the diagnostic when the call as a whole failed; and Outcomes holds one Outcome element per record in the graph, with these fields:

A value that is not set is returned as an element carrying xsi:nil="true" rather than being left out, and the element set is identical whether the call succeeded, was rejected, or hit an unhandled server error — so one map handles every case.

FieldDescription
SchemaNameThe Creatio object the record was written to.
ExternalKeyThe business key the record was matched on.
StatusThe per-record status as its name — see the list below. Typed as a string in the profile, not an enumeration, so a Creatio package that adds an outcome kind cannot invalidate a profile a process already imported.
RecordIdThe resulting Creatio record id. Deliberately nil on a Failed or Skipped record, because nothing was written.
MatchedRecordIdThe existing row the record was going to be written to, as the matcher resolved it. Set even when the write then failed or was skipped, so it is the one thing a Failed or Skipped entry can still say about the database. Empty when the failure happened before matching.
ErrorMessageShort failure summary for this record, suitable for showing to a user. This — not the envelope's ErrorMessage — is what explains a single Failed record.
ErrorDetailsDeveloper-level diagnostic for this record (exception type, message chain). Log it; do not show it to end users.

A record status is one of Inserted, Updated, Unchanged (matched, but no value differed, so nothing was written), Skipped (no key value in the payload, so the record could neither be matched nor safely inserted), Deleted (a detail row removed because the payload no longer carried it), or Failed.

<?xml version="1.0" encoding="utf-8"?>
<UpsertResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<FlowCode>SyncAccount</FlowCode>
<Version>1</Version>
<TotalProcessed>3</TotalProcessed>
<SuccessCount>3</SuccessCount>
<FailureCount>0</FailureCount>
<Success>true</Success>
<ErrorMessage xsi:nil="true" />
<ErrorDetails xsi:nil="true" />
<Outcomes>
<Outcome>
<SchemaName>Account</SchemaName>
<ExternalKey>100123</ExternalKey>
<Status>Updated</Status>
<RecordId>0d4e1a3c-...</RecordId>
<MatchedRecordId>0d4e1a3c-...</MatchedRecordId>
<ErrorMessage xsi:nil="true" />
<ErrorDetails xsi:nil="true" />
</Outcome>
<Outcome>
<SchemaName>Contact</SchemaName>
<ExternalKey>100123-1</ExternalKey>
<Status>Inserted</Status>
<RecordId>58a355d9-...</RecordId>
<MatchedRecordId xsi:nil="true" />
<ErrorMessage xsi:nil="true" />
<ErrorDetails xsi:nil="true" />
</Outcome>
<Outcome>
<SchemaName>Contact</SchemaName>
<ExternalKey>100123-2</ExternalKey>
<Status>Unchanged</Status>
<RecordId>7ab0e6ce-...</RecordId>
<MatchedRecordId>7ab0e6ce-...</MatchedRecordId>
<ErrorMessage xsi:nil="true" />
<ErrorDetails xsi:nil="true" />
</Outcome>
</Outcomes>
</UpsertResult>

Branch on Success for the call as a whole, or read Outcomes when a partial result has to be reported back to the source system.

Result handling.

What Creatio returnsHow Boomi reports it
The graph was written.Document succeeds, with the UpsertResult document as its payload.
The call was accepted, but the data was rejected, for example, a required field missing or a lookup that cannot be resolved.Reported as an application error. The error message shown in Process Reporting is the envelope's ErrorMessage, trimmed to 1,024 characters; the whole UpsertResult document is attached as the payload. With Return Application Error Responses cleared, the document fails and the error surfaces; when it is selected, the diagnostic is returned as a document for your process to handle. Either way, the other documents in the batch are unaffected.
The flow does not support this direction — Supports saving is cleared on the flow in Creatio.Reported as an application error, exactly as a rejected payload is: Success is false, and ErrorMessage states that the flow does not support saving data to Creatio.
The instance could not be reached, authentication failed, the license is missing or invalid, the input document is empty, or the server raised an unhandled error.Document fails with the exception message.

Each input document is processed independently, so one rejected record does not stop the others in the same batch.

Get action

The Get action reads one record from the graph in Creatio. It is the reverse of the Execute action and returns the identical document shape, so a flow round-trips: read, map, write.

It reads exactly one record per document — there is no query, no filter, and no batch read. To read several records, drive the operation with one object id per document.

The action needs no flow field either. The record to read is identified by the Boomi object id at runtime, which must be the business key of the flow's root record — the value of the field flagged Is key on the flow's root entity in Creatio, for example, an account number. Set it in the process, for example from a document property or from the previous shape's data.

Output. The flow's XML document (Root) matches the same record-graph profile that the Execute action accepts as its input.

Result handling.

OutcomeHow Boomi reports it
A record matches the identifier.Document succeeds, with the XML graph as its payload.
No record matches the identifier.Reported as an application error with the message No '<flow code>' record found for key '<object id>'. Select Return Application Error Responses if a miss is an expected outcome your process handles; leave it cleared so the miss fails the document.
The flow does not serve this direction — Supports reading is cleared on the flow in Creatio.Document fails with the exception message, deliberately not as the "no record found" application error, so that a refused direction can never be mistaken for an empty result. The message states that the flow does not support reading data out of Creatio.
The object id is empty, the instance could not be reached, authentication failed, the license is missing or invalid, or the server raised an unhandled error.Document fails with the exception message.
  • Creatio — Partner Connector (overview)
  • Creatio — Partner connection
On this Page