> For the complete documentation index, see [llms.txt](https://developers.didomi.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.didomi.io/integrations/third-party-apps/actito.md).

# Actito

{% hint style="success" %}
**Available for:** Preference Management Platform (PMP)

**Premium Feature:** Actito
{% endhint %}

Didomi allows you to synchronize your [Actito profiles](https://cdn.actito.be/fe/actito-documentation-client/sending/en/Profiles.html) subscriptions with the preferences collected through Didomi consent events.

{% hint style="info" %}
Alternatively, the Actito integration can be performed directly from the Didomi console for the Preference Management Platform (PMP).
{% endhint %}

## Implementation

### Connection

Didomi connects to your Actito account through an API Key to update the subscriptions of an Actito profile every time preferences are collected using the Didomi Platform. Users are matched between Didomi and Actito using the [Didomi user](/api-and-platform/consents/users.md#user-schema)'s `organization_user_id` property.

{% hint style="warning" %}
**Note**: In order to ensure that events are received, Didomi will retry at least five times in the span of five minutes before moving on when your endpoint is down.
{% endhint %}

### Options

* **Upsert mode**: You can choose allowing Didomi to create contacts on Actito, by setting `upsert_mode` to true. Otherwise, when a consent is collected but the `organization_user_id` value does not match with any contact in Actito, the consent update will not be propagated to Actito.
* **Bidirectional flow**: Actito can also be integrated in a bi-directional fashion by setting up a webhook on the Actito portal pointing to [webhooks.didomi.io](https://webhooks.didomi.io). This will sync Didomi with your Actito profile updates.

### **Mapping**

Didomi uses the entity profile of Actito and sends the subscription update. Hence consent events are mapped to the subscription properties of Actito profiles.

{% hint style="info" %}
**Important**: This integration will only synchronize the subscription properties present at the moment of the activation. If a new subscription property is added to Actito, make sure to update your Didomi integration accordingly.
{% endhint %}

## Configuration

Didomi needs the following configuration items to set up the connection with Actito:

| Property            | Description                                                                   | Required                  |
| ------------------- | ----------------------------------------------------------------------------- | ------------------------- |
| **Upsert mode**     | By setting upsert\_mode to true you allow Didomi to create contacts in Actito | No, Default value = false |
| **API Key**         | API key of the account to connect to the Actito servers                       | Yes                       |
| **Entity ID**       | ID of the Actito entity of the account.                                       | Yes                       |
| **Table name**      | Name of the Actito table where profiles are stored                            | Yes                       |
| **User unique key** | A unique user attribute to identify your users                                | Yes                       |
| Mappings            | List of subscription properties to match between Didomi and Actito            | Yes                       |

On top of the properties to map as subscriptions from the configuration, we also automatically include all the properties (if any) from the Didomi user's `metadata` object as Actito profile attributes.

### Example

```json
{
    "type_id": "actito",
    "authentication": {
        "private_api_key:" "PRIVATE_API_KEY"
    },
    "properties": {
        "entity_id": "ENTITY_NAME",
        "table_name": "TABLE_NAME",
        "user_unique_key": "USER_UNIQUE_KEY"
    },
    "mappings": [
        {
            "id": "ACTITO_EMAIL_SUBSCRIPTION",
            "value": "consents_channels_email_enabled",
        }
    ],
    "upsert_mode": true,
    "enable_webhooks": false,
    "enable_emailing": false
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developers.didomi.io/integrations/third-party-apps/actito.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
