> For the complete documentation index, see [llms.txt](https://docs.openiam.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.openiam.com/connector-configuration/boomi.md).

# Boomi connector

Configure the Boomi connector to import users, roles, and groups from Boomi AtomSphere using an API token.

The **Boomi connector** (`boomi-connector-rabbitmq`) integrates OpenIAM with the **Boomi (AtomSphere)** integration platform API. It authenticates with a **Boomi API token**, using Boomi's token scheme: HTTP Basic authentication with `BOOMI_TOKEN.<username>` as the username and the token as the password.

| Operation                                                    | Supported                                  |
| ------------------------------------------------------------ | ------------------------------------------ |
| Search users (account users and their roles)                 | ✅                                          |
| Search groups (account groups)                               | ✅                                          |
| Test connection                                              | ✅                                          |
| Create/update, delete, suspend/resume, reset password, login | ❌ Not implemented in the current connector |
| Group create/delete                                          | ❌ Not implemented in the current connector |

{% hint style="warning" %}
In its current state the Boomi connector is effectively **read-only**: it imports users and groups from Boomi (for synchronization and visibility) and tests the connection, but all write operations are empty stubs. Do not plan on provisioning accounts *to* Boomi with this connector.
{% endhint %}

## Use cases

* **Importing Boomi account users, their roles, and groups** into OpenIAM for visibility and correlation.
* Feeding **certification campaigns** with who has access to the Boomi platform and at what level.
* **Not** a fit for provisioning accounts to Boomi — the write operations are not implemented.

## Versions and compatibility

The end application is the **Boomi AtomSphere platform**, reached over its REST API. The connector targets **version 1** of that API and builds every request against `https://api.boomi.com`, which is fixed in the connector rather than taken from the managed system.

<table><thead><tr><th width="192">Property</th><th>Value</th></tr></thead><tbody><tr><td><strong>Platform</strong></td><td>Boomi AtomSphere</td></tr><tr><td><strong>Interface</strong></td><td>AtomSphere Platform API v1, over HTTPS</td></tr><tr><td><strong>Host</strong></td><td><code>https://api.boomi.com</code>, fixed in the connector</td></tr><tr><td><strong>Objects read</strong></td><td><code>Account</code>, <code>AccountGroup</code>, <code>AccountUserRole</code>, <code>AccountGroupUserRole</code>, <code>Role</code></td></tr><tr><td><strong>Authentication</strong></td><td>Boomi username and API token</td></tr></tbody></table>

{% hint style="info" %}
Because the host is fixed, this connector reaches Boomi's public cloud platform only. A private or regionally hosted AtomSphere endpoint is not configurable through the managed system.
{% endhint %}

## Prerequisites

* A Boomi **API token** generated for the integration account (Settings → AtomSphere API Tokens); the account needs read access to the account's users and groups.
* Network access from the connector host to the Boomi AtomSphere API (HTTPS).

## Installing the connector

### Kubernetes

In Kubernetes deployments, the connector is deployed as part of OpenIAM — enable it in your deployment configuration; no separate installation is required.

### RPM

Run the connector JAR directly:

{% code overflow="wrap" %}

```bash
java -Dlogging.level.root=INFO -Dconfpath=/data/openiam/ -jar boomi-connector-rabbitmq.jar > boomi.out &
```

{% endcode %}

Or, when managed by systemd, use the connector service unit (`openiam-connector@boomi-connector-rabbitmq`). To deploy on a separate host, see [Connectors via RPM](/installation/rpm/rpm-single-node/add-a-connector.md).

## Starting, stopping, and restarting

<table><thead><tr><th width="184">Deployment</th><th>Commands</th></tr></thead><tbody><tr><td>RPM (systemd)</td><td><code>systemctl start|stop|restart openiam-connector@boomi-connector-rabbitmq</code></td></tr><tr><td>RPM (manual)</td><td>Start with the <code>java -jar</code> command above; stop by killing the process.</td></tr><tr><td>Kubernetes</td><td><code>kubectl rollout restart</code> the connector deployment.</td></tr></tbody></table>

## Command-line parameters and properties

The connector is a Spring Boot application. Its defaults ship inside the jar, and you override them in either of two places:

* **An external property file**, read at `${confpath}/conf/properties/boomi-connector-rabbitmq.properties`. The file is optional, and `confpath` is itself a system property, set with `-Dconfpath=/data/openiam/`.
* **Directly on the command line**, as `-D` arguments, which win over the file.

{% code overflow="wrap" %}

```bash
java -Dconfpath=/data/openiam/ -Dlogging.level.root=INFO -Dorg.openiam.connector.queue=BOOMI_Connector_1_Request -jar boomi-connector-rabbitmq.jar
```

{% endcode %}

<table><thead><tr><th width="376">Property</th><th>Default</th></tr></thead><tbody><tr><td><code>org.openiam.connector.queue</code></td><td><code>BOOMI_Connector_1_Request</code></td></tr><tr><td><code>org.openiam.connector.queueResponseName</code></td><td><code>BOOMI_Connector_1_Response</code></td></tr><tr><td><code>org.openiam.connector.name</code> / <code>.type</code></td><td><code>Boomi</code> / <code>Boomi Connector</code></td></tr></tbody></table>

The connection details themselves are **not** set here — they are managed system parameters, covered under [Configuring the managed system](#configuring-the-managed-system).

## Verifying the connector is running

{% stepper %}
{% step %}
In the Webconsole, open the managed system — the **Running connector status** indicator must be green.
{% endstep %}

{% step %}
Click **Test Connection** — it must return success.
{% endstep %}

{% step %}
In the RabbitMQ management console, confirm the `BOOMI_Connector_1_Request` queue exists and has a consumer.
{% endstep %}

{% step %}
Check the connector log for startup errors.
{% endstep %}
{% endstepper %}

## Troubleshooting

| Symptom                                                        | Likely cause                                | Resolution                                                                                                                                                                            |
| -------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Connector never receives messages                              | Queue-name mismatch                         | The connector record's queue must equal `BOOMI_Connector_1_Request` exactly.                                                                                                          |
| API calls rejected by Boomi                                    | Wrong username/token pair, or expired token | Verify Login (username) and Password (API token); regenerate the token if needed. Remember the connector adds the `BOOMI_TOKEN.` prefix itself — don't include it in the Login field. |
| Provisioning to Boomi "appears to succeed" but nothing changes | Write operations are unimplemented stubs    | Expected — the connector is read-only; see the operations table above.                                                                                                                |
| A provisioning request reports success but Boomi is unchanged  | Every write operation is a stub             | Create, update, delete, suspend, resume, password reset and group create/delete each return `SUCCESS` without calling Boomi. Use the connector as a read source.                      |

See also: [general connector troubleshooting](/connector-configuration/4-troubleshootingconnector.md) and the [connector error-code reference](/connector-configuration/4-troubleshootingconnector.md#connector-error-codes).

## Registering the connector in OpenIAM

Register the connector under **Provisioning → Connectors** and attach it to the managed system — see [Registering the connector](/administration-guide/lifecycle/connectors-and-managed-systems.md).

## Configuring the managed system

<table><thead><tr><th width="191">Managed-system field</th><th>Value</th></tr></thead><tbody><tr><td><strong>URL</strong></td><td>The Boomi AtomSphere API base URL for your account.</td></tr><tr><td><strong>Login</strong></td><td>The Boomi <strong>username</strong> (email) the token belongs to. The connector prefixes it with <code>BOOMI_TOKEN.</code> automatically.</td></tr><tr><td><strong>Password</strong></td><td>The Boomi <strong>API token</strong>.</td></tr></tbody></table>

Optional managed-system attribute:

<table><thead><tr><th width="193">Attribute</th><th>Purpose</th></tr></thead><tbody><tr><td><code>ACCOUNT_TYPE</code></td><td>Narrows which account user set is searched during synchronization.</td></tr></tbody></table>

## Attribute mapping and policy map

Because the connector is read-only, no outbound policy map is needed. Imported users/roles/groups are mapped to OpenIAM objects by the synchronization transformation script.

## Reconciliation and synchronization

Synchronization is the connector's primary purpose: the account queries supply Boomi users (with roles) and groups as source records. Configure a sync against the managed system as described in [Configuring synchronization](/administration-guide/lifecycle/synchronize-and-import-data.md); the sync configuration's search query and object type are passed through to the Boomi account queries.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.openiam.com/connector-configuration/boomi.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
