
This guide describes how an Okta administrator configures the SurfaceAIintegration to enable Single Sign-On (SSO) for their users via OpenIDConnect (OIDC).
Overview: SurfaceAI is the AI agent platform for property operations. SurfaceAI uses the OpenID Connect Authorization Code flow to authenticate users against your Okta org. Once configured, your users sign in to SurfaceAI with their Okta credentials.
The SurfaceAI OIDC integration supports:
The following are not supported:
Before configuring this integration, ensure that:
Users can be created via SurfaceAI’s self-service user management system.
1. In the Okta Admin Console, go to Applications → Applications and click Create App Integration.
2. Select OIDC – OpenID Connect as the sign-in method.
3. Select Web Application as the application type and click
Next.
4. Enter the following values:
| Field | Value |
| App integration name | SurfaceAI |
| Grant type | Authorization Code |
| Sign-in redirect URIs | https://app.getsurface.ai/auth/okta |
| Sign-out redirect URIs | (leave blank) |
| Initiate login URI | https://app.getsurface.ai/login/okta |
| Login initiated by | Either Okta or App |
| Application visibility | Check Display application icon to users |
5. Under Assignments, assign the application to the users or groupswho should be able to sign in to SurfaceAI. Only users that have alsobeen provisioned in SurfaceAI will be able to complete sign-in.
6. Click Save.
From the application’s General tab in Okta, record:
https://your-org.okta.com or `https://your-org.okta.com/oauth2/default`)Collect these three values from Okta:
| Field | Value |
| Issuer URI | Issuer URI from Okta |
| Client ID | Client ID from Okta |
| Client Secret | Client Secret from Okta |
Provide this information to the SurfaceAI team using secret-sharing technology of your choosing (for instance, 1Password).
Please provide instructions for how to retrieve the information securely with operations@getsurface.ai or email with any questions.
SurfaceAI requests the following standard OIDC scopes, all of which areenabled by default in Okta:• openid• email• profile
SurfaceAI uses the email claim returned from the /userinfo endpoint to look up the user’s pre-provisioned account. Ensure that the email claim issued by your authorization server matches the email address recorded for the user in SurfaceAI.
email claim from Okta is the sole identifier SurfaceAI uses to match an Okta user to a SurfaceAI account. If a user’s email address changes in Okta, their SurfaceAI account email must be updated to match before they can sign in again.For help configuring or troubleshooting this integration, contact SurfaceAI support at support@getsurface.ai.
When contacting support, please include:
your-org.okta.com).