> ## Documentation index
> Fetch the complete documentation index at: https://developer.rhombus.com/llms.txt
> Use it to discover all available pages before exploring further.

# Integrate with n8n

> Automate Rhombus security workflows in self-hosted n8n with the official community node — orchestrate cameras, access control, IoT sensors, and AI agents.

Automate your Rhombus security platform with [n8n](https://n8n.io/), a self-hostable workflow automation tool. The official **Rhombus node for n8n** (an n8n community node) gives you native access to cameras, doors, events, users, and more — no raw HTTP configuration needed.

> **Info**: **Official Community Node**: [`@rhombussystems/n8n-nodes-client`](https://www.npmjs.com/package/@rhombussystems/n8n-nodes-client) provides 11 resource types with 41 operations, all validated against the Rhombus OpenAPI spec.

## Install the Rhombus Node

1. **Open n8n Settings**

   In your n8n instance, go to **Settings** > **Community Nodes**.

2. **Install the package**

   Enter the package name and click **Install**:

   ```text
   @rhombussystems/n8n-nodes-client
   ```

3. **Add your API key**

   When you first add a Rhombus node to a workflow, n8n prompts you to create credentials:

   1. Go to the [Rhombus Console](https://console.rhombussystems.com/settings/integrations/api-tokens/) and generate an API key
   2. In n8n, create a new **Rhombus API** credential
   3. Paste your API key and save

   The node automatically handles the `x-auth-apikey` and `x-auth-scheme` headers.

## Available operations

The Rhombus node provides 41 operations across 11 resource types:

### Access control

| Operation                  | Description                                   |
| -------------------------- | --------------------------------------------- |
| **Assign Credential**      | Assign an existing badge credential to a user |
| **Create Access Grant**    | Create a new access grant for users or groups |
| **Create Credential**      | Create a new standard CSN badge credential    |
| **Delete Access Grant**    | Delete an existing access grant               |
| **Get User Access Grants** | Get all access grants assigned to a user      |
| **Revoke Credential**      | Revoke a badge credential (preserves history) |

### Cameras

| Operation                | Description                                      |
| ------------------------ | ------------------------------------------------ |
| **Get**                  | Get full state of a single camera                |
| **Get Many**             | Get a list of many cameras in the organization   |
| **Create Clip**          | Create a video clip from a camera                |
| **Create Shared Stream** | Create a shareable live video stream URL         |
| **Get Frame**            | Get a URL for an exact frame image from a camera |
| **Get Media URIs**       | Get live and VOD stream URIs for a camera        |
| **Update**               | Update camera details                            |

### Doors

| Operation      | Description                                  |
| -------------- | -------------------------------------------- |
| **Get Many**   | Get a list of many access-controlled doors   |
| **Unlock**     | Temporarily unlock an access-controlled door |
| **Get Events** | Get access event history for a door          |

### Events

| Operation      | Description                             |
| -------------- | --------------------------------------- |
| **Get Alerts** | Get policy alerts from the organization |
| **Get Many**   | Get a list of saved video clips         |

### Face recognition

| Operation              | Description                                          |
| ---------------------- | ---------------------------------------------------- |
| **Create Person**      | Create a new known person for face recognition       |
| **Delete Person**      | Delete a known person from face recognition          |
| **Get Many**           | Get a list of many known persons in the organization |
| **Search Face Events** | Search face recognition events with filters          |

### Lockdown

| Operation      | Description                                           |
| -------------- | ----------------------------------------------------- |
| **Activate**   | Activate a lockdown for a location                    |
| **Deactivate** | Deactivate a lockdown for a location                  |
| **Get Many**   | Get a list of many lockdown plans in the organization |
| **Get Status** | Get lockdown status for all locations                 |

### Organization

| Operation         | Description                                 |
| ----------------- | ------------------------------------------- |
| **Get**           | Get organization information                |
| **Get Locations** | Get a list of locations in the organization |
| **Update**        | Update organization general settings        |

### Sensors

| Operation                      | Description                                            |
| ------------------------------ | ------------------------------------------------------ |
| **Get Many**                   | Get a list of many climate sensors in the organization |
| **Get Sensor Events**          | Get climate events for a specific sensor               |
| **Get Environmental Gateways** | Get current state of all environmental gateways        |

### Users

| Operation    | Description                                  |
| ------------ | -------------------------------------------- |
| **Create**   | Create a new user in the organization        |
| **Get Many** | Get a list of many users in the organization |
| **Update**   | Update an existing user                      |

### Vehicles

| Operation         | Description                                           |
| ----------------- | ----------------------------------------------------- |
| **Get Many**      | Get a list of many saved vehicles in the organization |
| **Save Vehicle**  | Save and name a vehicle by license plate              |
| **Search Events** | Search vehicle/LPR detection events                   |

### Webhooks

| Operation         | Description                                   |
| ----------------- | --------------------------------------------- |
| **Get**           | Get the webhook integration configuration     |
| **Create/Update** | Create or update webhook integration settings |
| **Delete**        | Delete the webhook integration                |

## Example workflows

### Daily security alert report

Generate a daily summary of security alerts and send to your team.

```text
Schedule Trigger (daily at 8 AM)
  ↓
Rhombus Node → Event → Get Alerts (last 24 hours)
  ↓
Code Node → Format alert summary
  ↓
Email Node → Send to security team
```

### Scheduled unlocks

For doors that should open on a schedule, such as a conference room during booked meetings, use door schedules and schedule exceptions in Rhombus rather than an automation: they keep working when the automation platform doesn't, and they're visible to your administrators in the console. If a workflow must unlock a door, add a step where a person approves each run.

### Camera clip on alert

Automatically save a clip when a policy alert fires.

```text
Schedule Trigger (every 5 minutes)
  ↓
Rhombus Node → Event → Get Alerts (last 5 minutes)
  ↓
Rhombus Node → Camera → Create Clip (from alert device, 60 seconds)
```

### User onboarding automation

Create Rhombus accounts when employees join from your HR system.

```text
Webhook Trigger (from HR system)
  ↓
Rhombus Node → User → Create (email, name from payload)
```

## AI agent workflows

n8n's AI agent capabilities let you build intelligent security workflows by combining Rhombus data with LLMs.

### Conversational security assistant

Build a Slack bot that can query Rhombus data:

```text
Slack Trigger → "Show me camera status"
  ↓
AI Agent with Rhombus tools:
  ├─→ Camera → Get Many (list cameras)
  ├─→ Event → Get Alerts (recent alerts)
  └─→ Camera → Create Clip (save footage)
  ↓
AI Response → Slack
```

### Anomaly detection

Detect unusual access patterns and alert the security team:

```text
Schedule Trigger (every 15 minutes)
  ↓
Rhombus Node → Door → Get Events (last 15 minutes)
  ↓
AI Agent → Analyze patterns for anomalies
  ↓
IF anomaly detected → Create incident + alert team
```

## Advanced: HTTP request fallback

For operations not yet covered by the community node — or to target the [EU region](https://developer.rhombus.com/api-regions) (replace the host with `api2.eu.rhombussystems.com`) — use n8n's HTTP Request node with manual authentication:

```json HTTP Request Node
{
  "method": "POST",
  "url": "https://api2.rhombussystems.com/api/camera/getMinimalCameraStateList",
  "authentication": "predefinedCredentialType",
  "sendHeaders": true,
  "headerParameters": {
    "parameters": [
      {
        "name": "x-auth-apikey",
        "value": "={{$credentials.rhombusApiKey}}"
      },
      {
        "name": "x-auth-scheme",
        "value": "api-token"
      }
    ]
  }
}
```

```javascript Code Node (Process Response)
const cameras = $input.all()[0].json.cameraStates;

return cameras.map(cam => ({
  uuid: cam.uuid,
  name: cam.name,
  status: cam.connectionStatus,
  location: cam.locationName
}));
```

> **Tip**: The Rhombus API has more than 1,000 endpoints. The community node covers the most common operations, but you can access any endpoint via HTTP Request nodes. See the [API Reference](https://developer.rhombus.com/api-reference/overview) for the full endpoint list.

## Deploy n8n

**Docker (Quickest)**

```bash
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n
```

Access at `http://localhost:5678`

**Docker Compose (Production)**

```yaml
version: '3.8'
services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.yourdomain.com/
    volumes:
      - ~/.n8n:/home/node/.n8n
```

> **Note**: Authentication is configured through the n8n UI on first launch. See [n8n deployment docs](https://docs.n8n.io/hosting/) for production hardening.

**n8n Cloud**

Skip self-hosting entirely with [n8n Cloud](https://n8n.io/cloud/). The official Rhombus node for n8n (an n8n community node) is available on all cloud plans.

## Compatibility

| Requirement     | Version                                                          |
| --------------- | ---------------------------------------------------------------- |
| **n8n**         | A recent version that supports community nodes                   |
| **Node.js**     | A version supported by your n8n release (for self-hosted)        |
| **Rhombus API** | The community node targets `api2.rhombussystems.com` (US region) |

> **Note**: The community node currently targets the US endpoint only. If your organization is in the [EU region](https://developer.rhombus.com/api-regions), use the [HTTP Request fallback](https://developer.rhombus.com/low-code-no-code/n8n#advanced-http-request-fallback) with `https://api2.eu.rhombussystems.com` instead.

For Rhombus API rate limits, see [Rate Limits](https://developer.rhombus.com/rate-limits).

## Troubleshooting

**Node not appearing after install**

Restart your n8n instance after installing the community node. For Docker, restart the container.

**Authentication errors**

Verify your API key is active in the [Rhombus Console](https://console.rhombussystems.com/settings/integrations/api-tokens/). Ensure the credential in n8n has the correct key value.

**Rate limit errors**

Add Wait nodes between Rhombus operations in loops to spread requests over time. See [Rate Limits](https://developer.rhombus.com/rate-limits) for current limits and retry guidance.

**Webhook not receiving events**

Check that your n8n instance is publicly accessible. Verify the webhook URL in the Rhombus Console matches your n8n webhook endpoint.

## Resources

- **[npm Package](https://www.npmjs.com/package/@rhombussystems/n8n-nodes-client)**: Official Rhombus node for n8n (an n8n community node)
- **[GitHub Repository](https://github.com/RhombusSystems/n8n-Rhombus-client-node)**: Source code and issue tracker
- **[n8n Documentation](https://docs.n8n.io/)**: Platform docs and tutorials
- **[n8n Community](https://community.n8n.io/)**: Templates and community support
