> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wejam.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Setting Up Enterprise SSO

> Configure SAML or OIDC so your users authenticate through your corporate identity provider.

Once Enterprise SSO is configured, users entering a company email (e.g. `@yourcompany.com`) are automatically redirected to your identity provider (IdP) for authentication. Password and social login options disappear entirely - access is controlled exclusively through your IdP.

To enable SAML for your organization, email [support@wejam.ai](mailto:support@wejam.ai). You'll receive a one-time setup link with a 5-step wizard. The setup takes 10-15 minutes and requires the **Owner** role in Jam.

<Warning>
  Once Enterprise SSO is active for a domain, users with that domain can no longer log in with other methods. If you run a separate Jam organization (e.g. a recruiting org), use a different email address for it.
</Warning>

***

## What Changes After SSO Is Live

Users with your company email domain see only the SSO login path - no password field, no social login buttons. When they enter their email, Jam detects the domain and redirects them to your IdP automatically. After authenticating there, they land in Jam without a separate Jam password.

From an IT perspective: no manual user invites, roles can sync from your IdP, and offboarding is instant - remove the user from your IdP and their Jam access is revoked immediately.

**Existing accounts** migrate automatically. On their next login, existing users with a matching email are mapped to SSO seamlessly - no migration needed.

***

## Generic SAML Setup

<Steps>
  <Step title="Request enablement">
    Email [support@wejam.ai](mailto:support@wejam.ai) to request SAML for your organization. You'll receive a unique setup link (it looks like `https://auth.wejam.ai/setup_saml/...`).
  </Step>

  <Step title="Open the setup wizard">
    Click the setup link. The wizard walks you through 5 steps and provides the values your IdP needs: **Entity ID**, **ACS URL**, and **Start URL**.

    <img src="https://mintcdn.com/jam-dd997f5e/oFYto-aI4HAPsXTp/external/sso/images/saml-setup-wizard.png?fit=max&auto=format&n=oFYto-aI4HAPsXTp&q=85&s=bfc99d1a648f4424d65801a1afa86df4" alt="The Jam SAML setup wizard" width="1990" height="1102" data-path="external/sso/images/saml-setup-wizard.png" />
  </Step>

  <Step title="Create a SAML app in your IdP">
    In your identity provider, create a new SAML application and enter Jam's **Entity ID**, **ACS URL**, and **Start URL** from the wizard.
  </Step>

  <Step title="Exchange metadata">
    Download your IdP's metadata file (or copy the metadata URL) and upload it to the Jam wizard.
  </Step>

  <Step title="Map user attributes">
    In your IdP, map the email attribute to `email` and first name to `first_name`. Add any other attribute mappings your setup requires.
  </Step>

  <Step title="Test">
    Use the test link provided in the wizard. Enter a company email and verify you are redirected to your IdP and land back in Jam successfully.
  </Step>
</Steps>

***

## Google Workspace

1. In **Google Admin**, go to **Apps & Services → Web/Mobile Apps** and add a custom SAML app.
2. Enter Jam's **Entity ID**, **ACS URL**, and **Start URL** from the wizard.
3. Download Google's metadata and upload it to the Jam wizard.
4. Configure attribute mapping in Google (email → `email`, given name → `first_name`).
5. Test with the wizard's test link - users with your domain should auto-redirect to Google and land in Jam.

After setup, Jam appears in the Workspace app grid for your users.

<img src="https://mintcdn.com/jam-dd997f5e/oFYto-aI4HAPsXTp/external/sso/images/google-workspace-app-grid.png?fit=max&auto=format&n=oFYto-aI4HAPsXTp&q=85&s=d23d6574d233dfe804d3404232a3bd5a" alt="Jam Trainer App visible in the Google Workspace app grid" width="783" height="523" data-path="external/sso/images/google-workspace-app-grid.png" />

***

## Microsoft Entra (Azure AD)

1. In the **Azure Portal**, go to **Enterprise Applications** and create a new non-gallery application.
2. Under **Single sign-on → SAML**, enter in **Basic SAML Configuration**:
   * **Identifier**: Jam's Entity ID
   * **Reply URL**: Jam's ACS URL
   * **Sign on URL**: Jam's Start URL
3. Download the **Federation Metadata XML** from Entra and upload it to the Jam wizard.
4. Under **User Attributes & Claims**, map `email` and `givenname` to the corresponding Jam attributes.
5. Optionally assign users or groups to the app.
6. Test with the wizard's test link.

<img src="https://mintcdn.com/jam-dd997f5e/oFYto-aI4HAPsXTp/external/sso/images/entra-wizard.png?fit=max&auto=format&n=oFYto-aI4HAPsXTp&q=85&s=facb05a5edcc84fe64dc5d25ab6cca3f" alt="The Microsoft Entra SAML configuration wizard" width="1077" height="1423" data-path="external/sso/images/entra-wizard.png" />

<Note>
  If users previously logged in via Jam's Microsoft SSO (not SAML), their browser may try the old method. Direct them to `auth.wejam.ai/login_sso` or ask them to clear cookies and try again in an incognito window.
</Note>

***

## Directing Users Straight to SSO (Optional)

To skip Jam's hosted login page and send users directly to your IdP, use the SAML redirect URL with one of these query parameters:

* `?domain=yourcompany.com` - redirects by domain
* `?email=user@yourcompany.com` - parses the domain from the email
* `?org_name=YourOrgName` - redirects by organization name (case-sensitive)

Example: `https://auth.link.wejam.ai/api/fe/v3/login/saml/?domain=yourcompany.com`

To force a specific login method for all users, share one of these links:

* Google SSO only: `https://auth.wejam.ai/?opt_hint=gl`

  <img src="https://mintcdn.com/jam-dd997f5e/oFYto-aI4HAPsXTp/external/sso/images/login-google-only.png?fit=max&auto=format&n=oFYto-aI4HAPsXTp&q=85&s=ea933219de936cf95bbef7edb5c3d9d5" alt="Login page showing Google SSO only" width="2916" height="1764" data-path="external/sso/images/login-google-only.png" />

* Microsoft/Entra only: `https://auth.wejam.ai/?opt_hint=ms`

  <img src="https://mintcdn.com/jam-dd997f5e/oFYto-aI4HAPsXTp/external/sso/images/login-microsoft-only.png?fit=max&auto=format&n=oFYto-aI4HAPsXTp&q=85&s=a3678c44588a94962279f91a085e172c" alt="Login page showing Microsoft SSO only" width="2722" height="1422" data-path="external/sso/images/login-microsoft-only.png" />

* Enterprise SSO only: `https://auth.wejam.ai/?opt_hint=sso`

  <img src="https://mintcdn.com/jam-dd997f5e/oFYto-aI4HAPsXTp/external/sso/images/login-sso-only.png?fit=max&auto=format&n=oFYto-aI4HAPsXTp&q=85&s=b052ed28ac11e3202c8da5d3ca44e299" alt="Login page showing Enterprise SSO only" width="2916" height="1764" data-path="external/sso/images/login-sso-only.png" />

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="Users still see a password option" id="password-option-still-shown">
    SAML setup is incomplete. Check that your domain is correctly configured in the wizard and that the setup completed all 5 steps.
  </Accordion>

  <Accordion title="'Invalid SAML response' error" id="invalid-saml-response">
    Copy the Entity ID, ACS URL, and Start URL exactly from the wizard - small differences in formatting cause this error.
  </Accordion>

  <Accordion title="'User not found' error" id="user-not-found">
    Verify the email attribute mapping in your IdP matches what the wizard expects (`email`).
  </Accordion>

  <Accordion title="Lost the setup link" id="lost-setup-link">
    Contact [support@wejam.ai](mailto:support@wejam.ai) to have a new link generated.
  </Accordion>

  <Accordion title="Microsoft/Entra users can't log in after SAML setup" id="entra-login-after-saml-setup">
    The user's browser is caching the old Microsoft SSO flow. Direct them to `auth.wejam.ai/login_sso` or ask them to use an incognito window.
  </Accordion>

  <Accordion title="'AADSTS50105' error on Microsoft Entra sign-in" id="aadsts50105">
    This error means the user's own Entra ID admin has the enterprise application set to require assignment, and the signed-in user hasn't been granted access - either directly or via a group. This is configured entirely on the customer's tenant and can't be fixed from Jam's side.

    <img src="https://mintcdn.com/jam-dd997f5e/ol5qQbVmaC6DbEHQ/external/sso/images/aadsts50105-error.png?fit=max&auto=format&n=ol5qQbVmaC6DbEHQ&q=85&s=6fa39b0006baa93e5b77c74f9768cc13" alt="AADSTS50105 error shown on the Microsoft sign-in page" width="2000" height="1280" data-path="external/sso/images/aadsts50105-error.png" />

    **Getting access to this app**

    * Ask your organization's Microsoft Entra ID admin to grant you access.
    * They'll go to **Enterprise Applications → \[your app name] → Users and groups**.
    * Select **Add user/group**.
    * Assign you directly, or add you to a group that's already assigned to the app.

          <img src="https://mintcdn.com/jam-dd997f5e/ol5qQbVmaC6DbEHQ/external/sso/images/entra-users-and-groups-add.png?fit=max&auto=format&n=ol5qQbVmaC6DbEHQ&q=85&s=194626841006bd7f8bb3348b388f63b2" alt="The Users and groups screen for an enterprise app in Microsoft Entra, with Add user/group highlighted" width="1616" height="681" data-path="external/sso/images/entra-users-and-groups-add.png" />

    <sub>Screenshot: [Microsoft Learn](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/assign-user-or-group-access-portal), CC BY 4.0.</sub>

    **Helpful links**

    * [Assigning users and groups to an app](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/assign-user-or-group-access-portal)
    * [Troubleshooting AADSTS50105](https://learn.microsoft.com/en-us/entra/identity-platform/reference-error-codes)
  </Accordion>
</AccordionGroup>
