How SSO works
- Each connection covers one email domain. A connection links one domain, such as
example.com, to your IdP. Subdomains such aseu.example.comneed their own connection. - Domain verification comes first. A connection stays inactive until you publish a DNS TXT record that proves you control the domain.
- Sign-in starts in Lab. People choose Sign in with SSO on the Lab sign-in page and enter their work email. Starting from your IdP’s app dashboard is not supported.
- New people join as members. The first SSO sign-in adds the person to your team with the Member role. Owners and admins can change roles on the Team page.
- Existing accounts are linked. If someone already has an Anam account with that email, SSO signs them in to the same account and keeps their data.
- SSO is optional. People in your domain can still sign in with a password, Google or GitHub. Lab can’t yet require SSO for a domain.
Before you start
You need:- An Anam organization on an Enterprise plan.
- The Owner or Admin role in that organization.
- Admin access to your IdP, to create an OIDC or SAML application.
- Access to your domain’s DNS, to add a TXT record.
Set up SSO
Open the SSO settings
Choose a protocol and enter your domain
example.com.Add Lab's settings to your IdP
- OIDC: the Redirect URI. Allow the
openid,emailandprofilescopes. - SAML: the ACS URL and Entity ID. Your IdP must sign SAML assertions.
Enter your IdP's details
- OIDC: the Issuer URL, Client ID and Client secret. Lab discovers the other endpoints from the issuer.
- SAML: the IdP metadata XML. It must include the signing certificate and an HTTPS sign-in URL with the HTTP-Redirect binding.
Verify your domain
@example.com addresses can sign in with SSO.Test sign-in
Configure your identity provider
These guides cover the IdP side of steps 3 and 4. Use the values from your Lab dialog wherever a guide refers to a Lab value.- Google Workspace (SAML)
- Microsoft Entra ID (OIDC)
- Okta (OIDC)
- Other providers
- In the Google Admin console, go to Apps > Web and mobile apps, then choose Add app > Add custom SAML app.
- Enter an app name, such as
Anam Lab. Google rejects names with special characters such as parentheses. - On Google Identity Provider details, choose Download metadata. Open the downloaded file and paste its contents into IdP metadata XML in Lab.
- On Service provider details, paste Lab’s ACS URL and Entity ID. Leave Signed response unchecked. Google signs the assertion.
- Set Name ID format to
EMAILand Name ID to Basic Information > Primary email. - Optional: on Attribute mapping, map First name to
givenNameand Last name tosurnameso new people get a display name. Without them, Lab uses the email address as the name. - Choose Finish, then open User access and turn the app ON for the organizational units or groups that should use Anam.
Manage connections
Owners and admins manage connections from the menu on each connection’s card.Rotate a client secret or signing certificate
Choose Update credentials. Everyone stays linked and the domain stays verified.- OIDC: create a new client secret in your IdP, save it in Lab, then remove the old secret from your IdP.
- SAML: after your IdP publishes a new signing certificate, paste its new metadata XML. Lab shows when the current certificate expires and marks the connection Certificate expiring from 30 days before.
Move to a different IdP application
A new client ID, issuer, or SAML sign-in URL belongs to a different IdP application, so it needs a new connection:- Add a connection for the same domain with the new application, and publish its TXT record. The old connection keeps working in the meantime.
- Delete the old connection, then choose Check DNS record on the new one.
Remove someone’s access
Because SSO is optional, disabling someone in your IdP only stops new SSO sign-ins. Their current Lab session continues until it expires, up to seven days after they last used it. They can also still sign in another way if they control the email address. When someone leaves, disable them in your IdP and remove them from your team on the Team page.Delete a connection
Choose Delete connection. People can no longer sign in through that connection, but their current sessions stay active and they keep their accounts. They can sign in with a password using Forgot password.If your Enterprise plan ends
Connections stay saved but stop working. People sign in with a password instead, using Forgot password the first time. To keep SSO, talk to our sales team about renewing your Enterprise agreement.Troubleshooting
If sign-in fails after your IdP, Lab shows an error page. Its address includes an error code, such aserror=invalid_saml_response. Include the code and the time of the attempt when you contact support.
Single sign-on doesn't appear on the Team page
Single sign-on doesn't appear on the Team page
We couldn't find the TXT record on example.com yet
We couldn't find the TXT record on example.com yet
- The host isn’t duplicated, such as
_anam-domain-verification-…example.com.example.com. If your DNS provider adds the domain, enter only the part before it. - The value matches Lab exactly.
- The record is published on the same domain as the connection.
dig TXT <host>, then choose Check DNS record again.The verification value expired and has been replaced
The verification value expired and has been replaced
Single sign-on isn't set up for example.com
Single sign-on isn't set up for example.com
- The person typed their work email address.
- The connection shows Active, not Pending verification.
- The email’s domain exactly matches the connection. Subdomains need their own connection.
Your company's identity provider didn't allow this sign-in
Your company's identity provider didn't allow this sign-in
403 and app_not_enabled_for_user. Turn the app on for that person under User access.We couldn't reach your company's identity provider
We couldn't reach your company's identity provider
Your company's identity provider didn't complete sign-in
Your company's identity provider didn't complete sign-in
- The client secret in Lab is current. Secrets in some IdPs, including Microsoft Entra ID, expire. Create a new one and save it with Update credentials.
- Your IdP returns the person’s email address for the
emailscope.
We couldn't verify the sign-in response from your company's identity provider
We couldn't verify the sign-in response from your company's identity provider
invalid_saml_response). Check that:- The ACS URL and Entity ID in your IdP exactly match the connection’s card.
- Your IdP signs assertions, and assertion encryption is off.
- The Name ID is the person’s email address in the connected domain.
- The metadata in Lab is current. After a certificate rotation, use Update credentials.
- The person finished signing in at your IdP within five minutes of choosing Sign in with SSO. Lab’s sign-in request expires after that.
- The browser didn’t resend a finished sign-in, for example after going back. Start again from the Lab sign-in page.
Start single sign-on from the Lab sign-in page
Start single sign-on from the Lab sign-in page
unsolicited_response). Lab only accepts sign-ins that start from Sign in with SSO on the Lab sign-in page. If your IdP shows Anam as an app tile, point people to the sign-in page instead.Your organization can't add more members through single sign-on
Your organization can't add more members through single sign-on
organization_full), so people signing in with SSO for the first time can’t join. Existing members can still sign in. An owner or admin can remove people who no longer need access on the Team page, or contact support.SAML metadata errors when adding a connection
SAML metadata errors when adding a connection
- SAML metadata must include the IdP signing certificate: download the full metadata file from your IdP again and paste all of it.
- SAML metadata must provide a public HTTPS HTTP-Redirect sign-in endpoint: your metadata needs a
SingleSignOnServicewith the HTTP-Redirect binding and a public HTTPS URL. - The SAML identity-provider metadata is invalid: paste the whole XML document, starting with
<EntityDescriptoror<md:EntityDescriptor.
This metadata uses a different sign-in URL
This metadata uses a different sign-in URL
Single sign-on isn't available for your organization
Single sign-on isn't available for your organization
sso_unavailable) for one of two reasons:- The organization is no longer on an Enterprise plan. The sign-in page then shows Single sign-on is available on the Enterprise plan. To restore SSO, contact your account team or talk to our sales team.
- The connection was deleted while the person was signing in. Their next attempt shows Single sign-on isn’t set up for example.com. An owner or admin can add the connection again.
Everyone with access to the connection is locked out
Everyone with access to the connection is locked out
Limitations
- SSO can’t be required for a domain. Password, Google and GitHub sign-in stay available.
- There is no SCIM provisioning. People join when they first sign in, and you remove them on the Team page.
- IdP roles and groups aren’t mapped to Anam roles. New people join as members.
- IdP-initiated SAML sign-in, such as opening Anam from an IdP app dashboard, isn’t supported.

