Skip to main content
SAML SSO controls how your team signs in to the Velt Console. It does not affect the Velt SDK running in your product, and no integration code changes are required. Setup takes about 15 minutes, plus 5 minutes for the optional user sync.

How it works

  1. You create a SAML 2.0 app in your identity provider (Okta in this guide) for the Velt Console.
  2. You copy three values from that app (Issuer, Sign-on URL, Certificate) into the Velt Console SAML settings page and click Save Configuration. There are no extra steps on the Velt side.
  3. You add the people who should get in to your Velt workspace: invite them, or let Okta add them with user sync.
  4. Your team signs in at a dedicated SSO URL such as https://console.velt.dev/saml/acme/login, or from the Okta dashboard tile, and lands in the Velt Console.

Before you begin

You need:
  • Okta admin access: permission to create a new App Integration in your Okta org.
  • Velt workspace owner or admin access: only owners and admins can manage SAML settings. The SAML tab is hidden from workspace members, so ask an owner or admin to complete Step 3.
  • Your company email domain (for example acme.com). All users signing in through SSO must have emails on this domain. You can’t use public email domains such as gmail.com. Workspaces owned by the same account can share a domain; a domain already used by another organization’s workspace can’t be used.

Values cheat sheet

You exchange values in both directions. Fill this in as you go. Velt to Okta: copy these from the Velt Console SAML page, under Values for you. Okta to Velt: copy these from Okta after you create the app. Choices you make in Velt:
The exact values for your environment are shown with copy buttons in the Velt Console under Team → SAML → Values for you. Always copy from there. The values in this guide assume the production console at console.velt.dev.

Setup

1

Create the SAML app in Okta

  1. Sign in to your Okta Admin Console.
  2. Go to Applications → Applications → Create App Integration.
  3. Select SAML 2.0 and click Next.
  4. Under General Settings, set App name to Velt Console or anything your team will recognize, then click Next.
  5. Under Configure SAML, fill in the General section:
  1. Leave Attribute Statements empty. None are required.
  2. Click Next, choose I’m an Okta customer adding an internal app, then click Finish.
The Name ID must be the user’s email address. Velt identifies each user by the email Okta sends in the SAML response, so leaving Name ID format as Unspecified with a non-email username breaks sign-in.
The Audience URI is a shared identifier. It only has to match byte for byte what you enter as Service Provider ID in Velt in Step 3. Use console.velt.dev with no https://, no trailing slash, and no spaces.
2

Copy the Okta values

After the app is created:
  1. Open the app’s Sign On tab.
  2. Find the SAML 2.0 metadata and setup details. Click More details, or View SAML setup instructions on older Okta versions.
  3. Copy these three values into your cheat sheet:
The certificate must be the full PEM block, including the header and footer lines:
3

Enter the configuration in the Velt Console

  1. Sign in to the Velt Console as a workspace owner or admin.
  2. Go to Team → SAML. If you see a Manual / App-based switch, choose Manual.
  3. Fill in Basic Settings:
  1. Fill in SAML Settings with the values you copied from Okta in Step 2:
  1. Click Save Configuration. You should see “SAML configuration saved.”
Saving the form provisions the SSO connection. There is nothing else to enable on the Velt side.
4

Assign users in Okta

Back in Okta, open your new app’s Assignments tab and assign the people or groups who should have access to the Velt Console. Users who are not assigned get an Okta error when they try to sign in.
5

Give people access in Velt

Okta decides who can sign in. Your Velt workspace decides who gets in: signing in with SSO never adds anyone to a workspace. People who aren’t members see “Contact your admin to sign in.”Add people one of two ways:
  • Invite each person under Team → Users, with the email they use in Okta.
  • Let Okta add them with user sync, so assigning someone in Okta adds them to the workspace and unassigning them removes them.
6

Test sign-in

Your team can sign in through either URL:To test:
  1. Open your branded URL in a private or incognito window.
  2. Enter a work email on your configured domain, for example you@acme.com, and click Continue with SSO.
  3. You are redirected to Okta. Authenticate there, and you land back in the Velt Console dashboard.

Sign in from the Okta dashboard tile

With the settings above, sign-in starts from Velt. To let people also click the app’s tile on their Okta dashboard, change three settings in Okta. Velt shows these values with copy buttons under Team → SAML → Okta dashboard tile.
  1. In Okta, open the app and go to General → SAML Settings → Edit, then Next to reach Configure SAML.
  2. Set Single sign-on URL to https://console.velt.dev/saml/<your-slug>/acs.
  3. Uncheck Use this for Recipient URL and Destination URL, and set both Recipient URL and Destination URL to https://console.velt.dev/__/auth/handler.
  4. Click Show Advanced Settings. Under Other Requestable SSO URLs, click + Add Another and enter https://console.velt.dev/__/auth/handler with index 1.
  5. Click Next, then Finish.
Sign-in from Velt keeps working. The direct sign-in link, https://console.velt.dev/saml/<your-slug>/sso, starts the same sign-in without the email step, which is useful for an Okta bookmark app.
The tile’s Single sign-on URL contains your URL Slug. If you change the slug in Velt, update this URL in Okta too.

Sync users from Okta

User sync lets Okta add people to your Velt workspace when you assign them to the app, and remove them when you unassign or deactivate them. It uses SCIM 2.0 and needs Okta Lifecycle Management on your Okta plan. Without it, invite people under Team → Users.
1

Create a sync token in Velt

Save your SAML configuration first. Then, on Team → SAML → Automatic user sync (SCIM):
  1. Copy the SCIM connector base URL: https://console.velt.dev/scim/v2.
  2. Click Turn on and create token and copy the token.
Velt shows the token once. Treat it like a password and paste it only into Okta. If it’s lost or shared, create a new one: the old one stops working right away.
2

Turn on SCIM for the app in Okta

  1. Open the app’s General tab. Under App Settings, click Edit, set Provisioning to SCIM, and click Save.
  2. Open the new Provisioning tab, select Integration, and click Edit:
  1. Click Test Connector Configuration. Okta should report that the connector is configured. Then click Save.
Your browser’s password manager may fill your Okta password into the Authorization field when you change the Authentication Mode. Clear the field before you paste the token.
3

Choose what Okta sends to Velt

Under Provisioning → To App, click Edit and enable Create Users, Update User Attributes and Deactivate Users. Click Save. Leave Import Groups off: Velt doesn’t sync groups.
4

Assign people and check the result

Assign people or groups on the Assignments tab. Okta adds each person to Velt within seconds, and Team → Users lists them. The sync section in Velt shows the last four characters of your token and when Okta last connected.If people you assigned before turning on sync don’t appear, unassign and assign them again.

What Okta changes in Velt

Only emails on your workspace’s Email Domain are synced. Sync never changes anyone’s role; change roles under Team → Users. Velt doesn’t email the people sync adds.

Updating your configuration

Any value can be changed later. Return to Team → SAML, edit, and click Save Configuration again. Changes take effect immediately.
  • Certificate rotation: when your Okta signing certificate is renewed, paste the new certificate into the X.509 Certificate field and save. Do this before the old certificate expires to avoid sign-in interruptions.
  • Changing the URL Slug: this updates your branded login URL to /saml/<new-slug>/login. Share the new link with your team, and update the tile’s Single sign-on URL in Okta if you set it up. Existing sessions are unaffected.
  • Replacing the sync token: click Create a new token and confirm. The old token stops working right away. Paste the new one into Okta under Provisioning → Integration → Edit, test it, and save.
  • Turning sync off: click Turn off and confirm. Okta can no longer add or remove anyone. Current members stay.
  • Removing SSO: contact Velt support at support@velt.dev to disable SAML for your workspace.

Troubleshooting

Still stuck? Contact support@velt.dev with your workspace name, your URL slug, and a screenshot of the error. Never send the whole sync token.

FAQ

No. SAML SSO only controls how your team signs in to the Velt Console, which is the admin dashboard. It has no effect on the Velt SDK running in your product.
No. Each person needs an invite under Team → Users, or has to be added by user sync. Okta only decides who can sign in.
The Velt side is identical. Any SAML 2.0 identity provider works. In your IdP, set the ACS or Reply URL to https://console.velt.dev/__/auth/handler. Set the SP Entity ID or Audience to the same value as the Velt Service Provider ID field, and make sure the Name ID is the user’s email. Then copy your IdP’s Issuer, SSO URL, and certificate into the Velt form as described in Step 3. The tile and user sync steps in this guide are written for Okta.
No. Signing out of the Velt Console does not sign the user out of Okta, and signing out of Okta does not sign the user out of the Velt Console.