---
title: Reference - Integration bus data types
related:
  - https://docs.kentico.com/13/integrating-3rd-party-systems/using-the-integration-bus/creating-integration-connectors/implementing-outgoing-synchronization.md
  - https://docs.kentico.com/13/integrating-3rd-party-systems/using-the-integration-bus/creating-integration-connectors/implementing-incoming-synchronization.md
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

This page describes the data types that you can work with when implementing integration connectors.

## Classes

#### BaseInfo

Represents any site‑related or global data object in Xperience (for example a user).

#### TreeNode

Represents a page in the content tree of a website.

## Interfaces

#### ICMSObject

An interface implemented by both _BaseInfo_ and _TreeNode_ objects. Allows you to identify Xperience data types.

## Enumerations

### TaskTypeEnum

Namespace: CMS.DataEngine

Always accompanies processed objects and pages. The value has a slightly different meaning for outgoing and incoming tasks:

- for outgoing tasks – used when creating subscriptions and determines which actions are handled as integration tasks. For example, when you subscribe to _CreateObject_, the integration bus logs synchronization tasks when objects inheriting from _BaseInfo_ are created.
- for incoming task – determines what happens to the target object when processing tasks. For example, when you pass a page object and task type _DeleteDocument_, the integration bus deletes the page.

The most common values for **objects** are:

- CreateObject
- UpdateObject
- DeleteObject
- AddToSite (not applicable for global objects)
- RemoveFromSite (not applicable for global objects)
- All – only makes sense for the outbound direction (for subscriptions). Indicates that the integration bus creates tasks for all types of object operations and changes.

The most common values for **pages** are:

- CreateDocument
- UpdateDocument
- DeleteDocument
- PublishDocument
- ArchiveDocument
- All – only makes sense for the outbound direction (for subscriptions). Indicates that the integration bus creates tasks for all types of page operations and changes.

To see the whole list of values, explore the enumeration in Visual Studio.

> **Note:** **Note**: There is no task type that indicates transitions of pages between workflow steps (except for the _PublishDocument_ and _ArchiveDocument_ types).

### TaskDataTypeEnum

Namespace: CMS.Synchronization

This enumeration determines the types of data which can be synchronized in the synchronization tasks:

- Simple – this option synchronizes only the main object.
- SimpleSnapshot – synchronizes the main object along with the translation information.
- Snapshot – synchronizes the main object with its child objects and bindings.

Translation information enables translation of foreign keys between Xperience and external systems. When using synchronous processing, the required data can be obtained directly within the context of the application.

Possible values and the data which they can synchronize:

| Value          | Object data | Page data | Translation data (only for asynchronous processing) | Include child objects, bindings, categories, etc. |
| -------------- | ----------- | --------- | --------------------------------------------------- | ------------------------------------------------- |
| Simple         |             |           |                                                     |                                                   |
| SimpleSnapshot |             |           |                                                     |                                                   |
| Snapshot       |             |           |                                                     |                                                   |

**Note:** Simple and SimpleSnapshot options do not support synchronous processing.

### TaskProcessTypeEnum

Namespace: CMS.Synchronization

Values of this enumeration represent all supported combinations of synchronization modes and data types. When the system searches for connectors with a subscription that matches an operation, and one connector has multiple subscriptions, the system selects the first subscription according to the following priority (highest to lowest):

- SyncSnapshot
- AsyncSnapshot
- AsyncSimpleSnapshot
- AsyncSimple

There is only one synchronous option – SyncSnapshot. This is given by the nature of synchronous processing, where you can always access related objects (parent, children, etc.) using the API.

### IntegrationProcessResultEnum

Namespace: CMS.Synchronization

This enumeration stores possible results of outgoing tasks after being processed by external applications. The result determines what happens after the processing of each task. Possible values are:

| Value        | Meaning                                | Asynchronous processing result                                                                                                                                                                                                                                                                                                                                                                                                              | Synchronous processing result                                                                                |
| ------------ | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| OK           | Processing succeeded                   | The system deletes the task (or the relation between the task and connector). Processing continues with the next task in the queue.                                                                                                                                                                                                                                                                                                         | Processing continues with the next task in the queue.                                                        |
| Error        | Critical error occurred                | The system logs the error into the synchronization log. Processing stops for the current connector (until the next reprocessing attempt).<br>The task remains in the queue with the failed status. The system attempts to run the task again on subsequent processing requests – reprocessing occurs periodically during a 1 minute interval after the current processing ends, or later when new tasks are logged for the given connector. | The system logs the error into the event log. Task data is lost. Processing stops for all connectors.        |
| ErrorAndSkip | Noncritical error occurred             | The system logs the error into the synchronization log. Processing continues with the next task in the queue.<br>The task remains in the queue with the failed status. The system attempts to run the task again on subsequent processing requests – reprocessing occurs periodically during a 1 minute interval after the current processing ends, or later when new tasks are logged for the given connector.                             | The system logs the error into the event log. Task data is lost. Processing stops for the current connector. |
| SkipNow      | Process the task during next iteration | Processing continues with the next task in the queue.<br>The task remains in the queue and the system attempts to run it again on subsequent processing requests (after new tasks are logged for the given connector).                                                                                                                                                                                                                      | Task data is lost.                                                                                           |

### IntegrationProcessTypeEnum

Namespace: CMS.Synchronization

Values of this enumeration are used during the processing of incoming tasks. The value determines whether to process the task immediately and how to proceed when an error occurs.

| Value         | Meaning                                                                                                                                 |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| Default       | Processes the task immediately. If an error occurs, the processing stops and the type is set to _Error_.                                |
| SkipOnce      | Does not process the task during the first processing (just sets the type to _Default_, so it is processed during the next processing). |
| SkipOnError   | Processes the task immediately. If an error occurs, the task is skipped and the processing continues.                                   |
| DeleteOnError | Processes the task immediately. If an error occurs, the task is deleted and the processing continues.                                   |
| Error         | Processing does not continue after encountering a critical error.                                                                       |
