Skip to content

Commit

Permalink
feat(loom-scim): provider support
Browse files Browse the repository at this point in the history
  • Loading branch information
AndrewKaranja committed Feb 10, 2025
1 parent 9749608 commit c3b579c
Show file tree
Hide file tree
Showing 8 changed files with 235 additions and 0 deletions.
49 changes: 49 additions & 0 deletions docs-v2/integrations/all/loom-scim.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: Loom SCIM
sidebarTitle: Loom SCIM
---

import Overview from "/snippets/overview.mdx"
import PreBuiltTooling from "/snippets/generated/loom-scim/PreBuiltTooling.mdx"
import PreBuiltUseCases from "/snippets/generated/loom-scim/PreBuiltUseCases.mdx"

<Overview />
<PreBuiltTooling />
<PreBuiltUseCases />

## Access requirements
| Pre-Requisites | Status | Comment |
| - | - | - |
| Paid dev account || Loom SCIM is available on Enterprise plans. |
| Paid test account || |
| Partnership || |
| App review || |
| Security audit || |

## Setup guide

_No setup guide yet._

<Tip>Need help getting started? Get help in the [community](https://nango.dev/slack).</Tip>

<Note>Contribute improvements to the setup guide by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/loom-scim.mdx)</Note>

## Useful links

- [Loom Admin Console](https://www.loom.com/admin/security)
- [Loom Authentication and SCIM Setup Guide](https://support.loom.com/hc/en-us/articles/4405130750749-How-to-configure-SSO-and-Directory-Sync-SCIM)

<Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/loom-scim.mdx)</Note>

## API gotchas

- **Loom SCIM requires SAML SSO to be enabled** before a SCIM token can be generated.
- **SCIM tokens can be reused** across multiple identity providers (IdPs) such as Okta or Entra ID.
- **User provisioning supports roles**: `Creator`, `Viewer`, and `Admin`.


<Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/loom-scim.mdx)</Note>

## Going further

<Card title="Connect to Loom SCIM" icon="link" href="/integrations/all/loom-scim/connect" horizontal> Guide to connect to Loom SCIM using Nango Connect. </Card>
102 changes: 102 additions & 0 deletions docs-v2/integrations/all/loom-scim/connect.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
title: Loom SCIM - How to Connect Your Account
sidebarTitle: Loom SCIM
---

# Overview

To connect your **Loom SCIM** account, you need to authenticate using an **API Key** and a **SCIM Bridge URL**. This allows Nango to securely manage user provisioning, deprovisioning, and access control through the Loom SCIM API.

This guide will help you retrieve your SCIM credentials, configure **SSO**, enable **domain capture**, and set up **user deprovisioning**.

---

### Prerequisites

- A **Loom Enterprise** account.
- **SAML SSO enabled** (SCIM cannot be configured without SSO).
- A **SCIM API Key** generated from the **Loom Admin Console**.
- The **SCIM Bridge URL** (e.g., `https://scim.example.com`).

🚨 **Important**:
Loom requires **SSO to be enabled** before generating SCIM credentials. Ensure your workspace has been configured accordingly.

---

## **Step 1: Verify Your Domain**
Before configuring SSO or SCIM, an **Admin must verify the domain**.

1. Log in to the **Loom Admin Console**.
2. Go to **Workspace Settings****Security Tab**.
3. Find the **Authorize Domains** section and add your domain.
4. Choose a verification method:
- **Email Verification** → Sends an email to a specified admin inbox.
- **DNS TXT Record** → Requires adding a TXT record to your domain's DNS settings.
5. After verifying, your domain will be listed as **authorized**.

🚨 **Check Existing Users:**
Ensure no users with **unverified domains** are already invited to your workspace. If they exist, they will be **blocked** from logging into Loom.

---

## **Step 2: Configure SSO**
Once your domain is verified, follow these steps to enable **Single Sign-On (SSO)**.

1. Log in to **Loom Admin Console**.
2. Go to **Workspace Settings****Security Tab****SSO & Directory Sync**.
3. Click **Configure SSO** and follow the step-by-step guide.
4. Set the **Default Role** for newly provisioned users.

### **Testing SSO Before Enforcing**
Loom provides an **Enforce SSO** setting:
- **Toggle OFF** → Users can continue logging in with email/password.
- **Toggle ON** → Users **must** authenticate using SSO.

🚨 **Important:**
After enabling SSO, existing users must **log out and log back in** via SSO to be recognized as workspace members.

---

## **Step 3: Retrieve Your Loom SCIM API Key**

1. Log in to the [Loom Admin Console](https://www.loom.com/admin/security).
2. Navigate to **Security****Directory Sync (SCIM)**.
3. Click **Configure Directory Sync**.
4. Copy the **SCIM Endpoint** and **Bearer Token**.
5. Store the API Key securely; it will not be shown again.

---

## **Step 4: Get Your SCIM Bridge URL**
Your **SCIM Bridge URL** is typically provided in **WorkOS** or Loom's SCIM setup guide. It should follow this format:

https://scim.yourdomain.com

If you're unsure of your SCIM Bridge URL:
- Check with your **IT team** or **Loom administrator**.
- Look in the **Loom SCIM configuration settings**.

---

## **Step 5: Enable Domain Capture**
Loom’s **Domain Capture** setting ensures that all users with your **verified domain** automatically join your **Enterprise workspace**.

1. Log in to **Loom Admin Console**.
2. Go to **Workspace Settings****Security Tab**.
3. Scroll down to **Domain Capture** settings.

There are **two options**:
- **Off (Manual Management)** → New users must be invited or provisioned via SCIM.
- **Capture New Users in My Domain (Recommended)** → All users with your domain **automatically join** your Loom workspace.

🚨 **Note:**
If **Directory Sync (SCIM)** is enabled, users are provisioned **immediately** when added to the **Loom app** in your IdP.

---

## **Step 6: Connect Your Loom SCIM Account**
To authenticate with Loom SCIM, follow these steps:

1. Open the **Loom SCIM integration setup** in Nango.
2. Enter your **SCIM Bridge URL** and **API Key**.
3. Click **Connect** to validate the credentials and establish the connection.
1 change: 1 addition & 0 deletions docs-v2/mint.json
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,7 @@
"integrations/all/linkedin",
"integrations/all/linkhut",
"integrations/all/listmonk",
"integrations/all/loom-scim",
"integrations/all/loops-so",
"integrations/all/lucid-scim",
"integrations/all/luma",
Expand Down
40 changes: 40 additions & 0 deletions docs-v2/snippets/generated/loom-scim/PreBuiltTooling.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
## Pre-built tooling
<AccordionGroup>
<Accordion title="✅ Authorization">
| Tools | Status |
| - | - |
| Pre-built authorization (API Key) ||
| Pre-built authorization UI ||
| Custom authorization UI ||
| End-user authorization guide ||
| Expired credentials detection ||
</Accordion>
<Accordion title="✅ Read & write data">
| Tools | Status |
| - | - |
| Pre-built integrations | 🚫 (time to contribute: &lt;48h) |
| API unification ||
| 2-way sync ||
| Webhooks from Nango on data modifications ||
| Real-time webhooks from 3rd-party API | 🚫 (time to contribute: &lt;48h) |
| Proxy requests ||
</Accordion>
<Accordion title="✅ Observability & data quality">
| Tools | Status |
| - | - |
| HTTP request logging ||
| End-to-type type safety ||
| Data runtime validation ||
| OpenTelemetry export ||
| Slack alerts on errors ||
| Integration status API ||
</Accordion>
<Accordion title="✅ Customization">
| Tools | Status |
| - | - |
| Create or customize use-cases ||
| Pre-configured pagination | 🚫 (time to contribute: &lt;48h) |
| Pre-configured rate-limit handling | 🚫 (time to contribute: &lt;48h) |
| Per-customer configurations ||
</Accordion>
</AccordionGroup>
5 changes: 5 additions & 0 deletions docs-v2/snippets/generated/loom-scim/PreBuiltUseCases.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Pre-built integrations

_No pre-built integration yet (time to contribute: &lt;48h)_

<Tip>Not seeing the integration you need? [Build your own](https://docs.nango.dev/guides/custom-integrations/overview) independently.</Tip>
31 changes: 31 additions & 0 deletions packages/providers/providers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4683,6 +4683,37 @@ linkhut:
base_url: https://api.ln.ht
docs: https://docs.nango.dev/integrations/all/linkhut

loom-scim:
display_name: Loom SCIM
categories:
- other
auth_mode: API_KEY
proxy:
base_url: https://${connectionConfig.domain}/scim
headers:
authorization: Bearer ${apiKey}
verification:
method: GET
endpoint: /Users
docs: https://docs.nango.dev/integrations/all/loom-scim
docs_connect: https://docs.nango.dev/integrations/all/loom-scim/connect
connection_config:
domain:
type: string
title: Loom SCIM Bridge URL
description: The domain for your Loom SCIM Bridge
example: scim.example.com
pattern: '^[a-zA-Z0-9.-]+$'
prefix: https://
doc_section: '#step-4-get-your-scim-bridge-url'
credentials:
apiKey:
type: string
title: SCIM API Key
description: Your Loom SCIM API Key
secret: true
doc_section: '#step-3-retrieve-your-loom-scim-api-key'

loops-so:
display_name: Loops.so
categories:
Expand Down
1 change: 1 addition & 0 deletions packages/webapp/public/images/template-logos/loom-scim.svg
6 changes: 6 additions & 0 deletions packages/webapp/public/images/template-logos/loom.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit c3b579c

Please sign in to comment.