Operations
Configuring SSO with your identity provider
Step-by-step setup guides for Microsoft Entra ID, Okta, Google Workspace, and any SAML 2.0 provider — with attribute mapping and troubleshooting.
Configuring SSO with your identity provider
SSO (single sign-on) lets your team sign in to Thawly using your existing company identity provider — Microsoft Entra ID, Okta, Google Workspace, or any standards-compliant SAML 2.0 provider. Once activated, your reps open Thawly with the same credentials they use for every other tool. No separate Thawly password, and deprovisioning in your IdP immediately removes Thawly access.
This guide covers the customer-admin side: how to wire up your IdP after Thawly has activated your SAML connection. If you haven't purchased the SSO add-on yet, see Single sign-on (SSO) for pricing and the purchase flow. If you're Mitch running an activation, the operator-side runbook lives in docs/ops/clerk-sso-activation-runbook.md.
1. What is SSO on Thawly?
Thawly's SSO add-on is a £49/month add-on available on every paid plan (Starter, Growth, Scale). It uses Clerk's SAML 2.0 integration, which Thawly configures per-customer so your IdP connection is isolated and not shared with any other organisation.
Once SSO is live, your team members see a "Sign in with SSO" button on the Thawly login page. They enter their company email, are redirected to your IdP for authentication, and land back in Thawly — no Thawly-specific password involved.
Users who sign in for the first time via SSO are auto-provisioned into your Thawly organisation (just-in-time provisioning). Removing a user from your IdP revokes their Thawly access on their next sign-in attempt. Seats are unlimited on every paid plan — there is no per-seat charge.
2. Before you start
Complete this checklist before touching your IdP:
- Admin access to your identity provider. You need permission to create enterprise/SAML applications. In Entra ID this is "Application Administrator" or "Global Administrator"; in Okta it is the Okta admin console; in Google Workspace it is a "Super Admin" or "Services Admin" role.
- Admin access to your Thawly organisation. You must be an Org Admin in Thawly (Settings → Team) to view and manage the SSO card.
- SSO add-on purchased. Go to Billing in Thawly and confirm the SSO add-on is on your subscription. If it isn't, click "Add SSO — £49/mo" and complete Stripe checkout.
- Activation email received. After purchase, Thawly activates your SAML connection within 1 business day. You will receive an email when it is ready. The SSO card in Settings will change from "activation in progress" to showing the IdP configuration panel.
If you see "activation in progress" in Settings → Account → Single sign-on, your connection is being configured on the Thawly side. You can read ahead in this guide but you cannot enter IdP values yet — wait for the activation email.
3. Step-by-step: Microsoft Entra ID (Azure AD)
What you will need from Thawly first
Open Settings → Account → Single sign-on in Thawly. Under the SAML configuration panel you will see two values — copy them before touching Entra:
| Field | Where to find it | Used in Entra as |
|---|---|---|
| ACS URL | Settings → Account → SSO panel | Reply URL / Assertion Consumer Service URL |
| Entity ID | Settings → Account → SSO panel | Identifier (Entity ID) |
Thawly may also offer a SP Metadata XML download link — if it does, use that instead of copying the two values manually (it pre-populates all fields automatically).
Creating the enterprise application in Entra ID
- Sign in to the Microsoft Entra admin centre as an Application Administrator or Global Administrator.
- In the left sidebar, navigate to Identity → Applications → Enterprise applications.
- Click New application.
- On the Browse Microsoft Entra Gallery screen, click Create your own application (top-right area of the gallery panel).
- Name the application — for example, Thawly — and select "Integrate any other application you don't find in the gallery (Non-gallery)". Click Create.
- You will land on the application's Overview page. In the left sidebar, click Single sign-on.
- Select SAML as the sign-on method.
- You are now on the SAML-based sign-on configuration page. Click the pencil icon on Basic SAML Configuration.
- Fill in the two required fields:
- Identifier (Entity ID): paste the Entity ID value from Thawly's SSO panel.
- Reply URL (Assertion Consumer Service URL): paste the ACS URL value from Thawly's SSO panel.
- Leave Sign-on URL blank (Thawly uses IdP-initiated SSO after setup; SP-initiated flows work too but the sign-on URL is optional for initial setup).
- Click Save. Close the panel.
Configuring claims (attribute mapping)
In the Attributes & Claims section of the SAML configuration page:
- Confirm that the following claims are present (they typically are by default in Entra):
- emailaddress →
user.mail(oruser.userprincipalnameif UPN equals email) - givenname →
user.givenname - surname →
user.surname
- emailaddress →
- Entra-specific gotcha: Entra often sends the UPN as the email claim, which may be
firstname.lastname@company.onmicrosoft.comrather than the user's actual email. If your UPN format differs from the real email, change the email claim source attribute fromuser.userprincipalnametouser.mail. - Click Save if you made any changes.
Assigning users
- In the left sidebar, click Users and groups.
- Click Add user/group.
- Add the Entra users or groups who should have access to Thawly.
- Click Assign.
Only assigned users will be able to authenticate via SAML. Unassigned users will receive an error from Entra when they try to sign in.
Getting the federation metadata to paste into Thawly
- Back on the SAML-based sign-on configuration page, find the SAML Certificates section.
- Copy the App Federation Metadata Url — it is a URL ending in
/federationmetadata/2007-06/federationmetadata.xml(with a query parameter appended by Entra). - Open Settings → Account → Single sign-on in Thawly. In the IdP configuration panel, paste the Metadata URL into the IdP Metadata URL field.
- Click Save (or Verify connection if that button is shown).
Thawly will fetch the metadata URL and complete the connection. Proceed to Section 7 — Verifying it works.
4. Step-by-step: Okta
What you will need from Thawly first
Open Settings → Account → Single sign-on in Thawly. Copy the ACS URL and Entity ID from the SAML configuration panel before creating the Okta app.
Creating the SAML 2.0 app in Okta
- Sign in to your Okta admin console (
https://yourcompany-admin.okta.com). - In the left sidebar, navigate to Applications → Applications.
- Click Create App Integration.
- Select SAML 2.0 as the sign-in method. Click Next.
- Give the app a name — for example, Thawly. Upload a logo if you like. Click Next.
- On the Configure SAML step:
- Single sign-on URL: paste the ACS URL from Thawly's SSO panel.
- Audience URI (SP Entity ID): paste the Entity ID from Thawly's SSO panel.
- Name ID format: choose EmailAddress.
- Application username: choose Okta username (or Email if your Okta usernames are not email addresses).
- Under Attribute Statements, add the following three:
| Name | Name format | Value |
|---|---|---|
firstName | Basic | user.firstName |
lastName | Basic | user.lastName |
email | Basic | user.email |
- Click Next. On the Feedback step, select "I'm an Okta customer adding an internal app" and click Finish.
Assigning users in Okta
- On the app's Assignments tab, click Assign → Assign to People (or Assign to Groups if you want to use group-based access).
- Search for and assign the users or groups who should have Thawly access. Click Done.
Getting the IdP metadata to paste into Thawly
- On the app's Sign On tab, click View SAML setup instructions or find the Identity Provider metadata link.
- Copy the Metadata URL shown on that page.
- Open Settings → Account → Single sign-on in Thawly. Paste the Metadata URL into the IdP Metadata URL field in the configuration panel.
- Click Save.
Proceed to Section 7 — Verifying it works.
5. Step-by-step: Google Workspace
What you will need from Thawly first
Open Settings → Account → Single sign-on in Thawly. Copy the ACS URL and Entity ID from the SAML configuration panel. Google Workspace requires these entered as fields (it does not accept a metadata URL from the SP).
Creating a custom SAML app in Google Workspace
- Sign in to the Google Admin console as a Super Admin or Services Admin.
- Navigate to Apps → Web and mobile apps.
- Click Add app → Add custom SAML app.
- Give the app a name — for example, Thawly. Click Continue.
- On the Google Identity Provider details screen:
- Download the IdP metadata XML file — you will upload this to Thawly shortly.
- Or copy the SSO URL, Entity ID, and Certificate individually if you prefer manual entry.
- Click Continue.
- On the Service provider details screen:
- ACS URL: paste the ACS URL from Thawly's SSO panel.
- Entity ID: paste the Entity ID from Thawly's SSO panel.
- Name ID format: choose EMAIL.
- Name ID: choose Basic Information → Primary email.
- Click Continue.
- On the Attribute mapping screen, add the following mappings:
| Google Directory attribute | App attribute |
|---|---|
| First name | firstName |
| Last name | lastName |
| Primary email | email |
- Click Finish.
Turning the app on for users
- Still in the Admin console, open the app you just created.
- Click User access.
- Set the app to ON for everyone (or select specific Organizational Units if you want to restrict access).
- Click Save.
Uploading the metadata to Thawly
- Open Settings → Account → Single sign-on in Thawly.
- In the IdP configuration panel, choose Upload XML and upload the metadata XML file you downloaded from Google in step 5 above.
- Click Save.
Proceed to Section 7 — Verifying it works.
6. Step-by-step: Other SAML 2.0 providers
This section covers any SAML 2.0-compliant identity provider not listed above — OneLogin, JumpCloud, Auth0, Duo Security, Ping Identity, and similar.
The exchange is identical across all SAML 2.0 providers. Thawly gives you an ACS URL and an Entity ID; your IdP gives you a metadata URL or metadata XML. Field labels vary by IdP but the values are standard.
Step 1 — Collect values from Thawly
Open Settings → Account → Single sign-on in Thawly. Note down:
- ACS URL (also called: Reply URL, Single Sign-On URL, Callback URL, SAML Consumer Service URL)
- Entity ID (also called: Audience URI, SP Entity ID, Relying Party Identifier)
Step 2 — Create a SAML app in your IdP
In your IdP's admin console, create a new SAML 2.0 application (or "Service Provider"). Enter the ACS URL and Entity ID in the fields your IdP uses. If your IdP accepts an SP metadata XML or URL, use that instead — it auto-populates all fields.
Configure claim / attribute mappings so that your IdP sends:
| Claim name | Value |
|---|---|
email | The user's email address |
firstName (or given_name) | The user's first name |
lastName (or family_name) | The user's last name |
Assign the relevant users or groups.
Step 3 — Give Thawly your IdP metadata
Get the SAML Metadata URL or Metadata XML from your IdP. Open Settings → Account → Single sign-on in Thawly and paste the URL or upload the XML into the IdP configuration panel. Click Save.
7. Verifying it works
Once you have saved the IdP metadata in Thawly's SSO panel, test the connection before rolling it out to your team.
- Sign out of Thawly using the account menu in the top-right corner.
- On the Thawly sign-in page, click "Sign in with SSO" (or "Continue with SSO").
- Enter your company email address and click Continue.
- You will be redirected to your IdP's login page. Sign in with your usual company credentials.
- After successful authentication you will be redirected back to Thawly and land on the dashboard (
/dashboardor the page you were trying to access). - Check that your name and email appear correctly in the account menu — this confirms Thawly received the claims from your IdP.
If the test works cleanly, let your team know they can now sign in using the SSO button.
8. Troubleshooting
"Invalid ACS URL" or "Incorrect Assertion Consumer Service URL"
The URL in your IdP does not match what Thawly generated. Common causes:
- A trailing slash was added or removed by the IdP admin UI when pasting.
- The wrong field was used (e.g. the Single Logout URL field was filled instead of the ACS URL field).
Fix: copy the ACS URL from Thawly's SSO panel again and paste it freshly — do not retype it by hand.
"Audience URI mismatch" or "Issuer mismatch"
The Entity ID your IdP is sending does not match what Thawly expects.
Fix: open your IdP's application settings and confirm the Audience URI / SP Entity ID is set to exactly the Entity ID shown in Thawly's SSO panel.
"SAML certificate expired" or signature validation failures
IdP certificates rotate. Entra ID auto-rotates certificates every 1–3 years; Okta does not rotate by default.
Fix: download the updated IdP metadata XML from your IdP and re-upload it in Thawly's SSO panel. For Entra, refreshing via the Metadata URL is simplest — Thawly will re-fetch the current certificate automatically when you click Save.
"Claim mapping error" or users created without names
Thawly received the SAML assertion but could not map the email, first name, or last name.
Fix: check the attribute mapping section in your IdP's SAML application. Ensure the three attributes (email, firstName/given_name, lastName/family_name) are explicitly mapped. For Entra, confirm the email claim is sourcing from user.mail (not user.userprincipalname) if your UPN differs from email.
SSO button does not appear on the Thawly sign-in page
The SAML connection has not been fully activated yet on Thawly's side, or activation was completed but the connection is in Draft state rather than Active.
Fix: check whether you received the activation email. If not, email hello@thawly.co.uk and quote your organisation name. We will confirm the activation status.
Users get "Access denied" from the IdP
The user is not assigned to the Thawly SAML application in your IdP.
Fix: In Entra, add the user under Enterprise applications → Thawly → Users and groups. In Okta, assign the user or their group on the app's Assignments tab. In Google Workspace, check the app's User access settings.
9. Pricing
| Item | Price |
|---|---|
| SSO add-on (monthly) | £49 / month |
| SSO add-on (annual) | £490 / year (equivalent to ~10 months for 12) |
| Setup fee | None |
| Per-user charge | None — unlimited seats on every paid plan |
The SSO add-on is billed alongside your existing Thawly subscription on the same invoice. You can cancel the add-on at any time from Billing → Manage subscription in Stripe. Your team falls back to email and password sign-in at the end of the current billing period. No Thawly data is lost when the add-on is cancelled.
If you have questions not covered here, email hello@thawly.co.uk with your IdP name and a description of what you're seeing.