Cardholders may find other articles in the Ramp overview section to be more applicable.
Overview
System for Cross-domain Identity Management (SCIM) can be set up to connect your Identify Provider (IdP) with your Ramp account. SCIM allows you to invite and deactivate Ramp users directly from your IDP. Note: We currently support the SCIM integration for Okta only.
This article explains how to set up the integration from your Ramp account, configure your SCIM settings within the Ramp app, and what to expect when using the SCIM integration to invite and terminate users.
We've called out many suggestions and "things you should know" for using the integration so we strongly recommend you read this before setting up your SCIM integration!
Note: Changes made via SCIM may take up to 20 minutes to be reflected in Ramp, and in rare cases, slightly longer. For urgent actions, such as terminating a compromised Ramp user or card, we recommend completing the action directly in Ramp.
Jump to:
- Overview
- Set up the integration on Ramp
- SCIM settings page
- Provisioning users
- Deactivations
- Automatic updates
Set up the integration on Ramp
Before you begin
-
Determine which profile field you want to use for the user's department in Ramp. By default this is set to "department" but you can map to any profile field in Okta. Other common options are "cost center", "organization", or "division".
-
Determine which profile field you want to use for the user's location in Ramp. By default this is set to "city" but you can map to any profile field in Okta. Other common options are "cost center", "locale", "state", and "country code".
-
Audit your users in Okta to ensure there is a department AND location set for each user. Any user who does not have one of these values will not be provisioned in Ramp.
-
"Groups" in Okta can make it easier to manage user assignments. If you choose to use Okta groups, please fully review the "inviting user groups" section below.
-
If you already have users on your Ramp account:
-
- Confirm that the employee profile information in Ramp matches the data in your IDP. When you provision a user via SCIM and they already exist in Ramp, the IdP becomes the source of truth and will override the user's Ramp profile if it doesn't match.
- If a user's email address doesn't match, SCIM will use the Okta email address to create a second account for the user
-
-
If you are disconnecting from HRIS to set up SCIM
-
- Please ensure that the HRIS fields that you use for Department and Location are synced to your IDP (Okta). If you disconnect HRIS, and the data does not match your IDP, the SCIM integration will override the employee profile information on Ramp. (Reminder that you can map to any IdP field you'd like.)
- We recommend contacting your Ramp partner for support
-
-
(Later) Once you have the integration set up, before you terminate anyone via SCIM, you’ll want to determine your preferred options for handling user deletion in regards to how Ramp will handle their cards and status in approval chains. (See Terminations section below)
-
Know the supported features
- Create users (Invite to Ramp)
- Update user attributes (Name, Department, Location, Manager)
- Deactivate users
Integration setup
- Go to Settings > Apps
- Search and select Okta
- Note: You cannot integrate with both SCIM and HRIS at the same time. If you are connected to HRIS, you will need to disconnect the HRIS integration in order to set up SCIM.
- Select your identity provider (currently supporting Okta only)
- When you select your provider, you will be prompted with instructions on how to set up the integration with your IdP. These instructions vary by provider and will guide you through setup.
- Install the Ramp app in your Okta tenant
- Use the provided URL and API token from your Ramp dashboard to configure the app in Okta
- After configuring your credentials, the "To App" and "To Okta" options will appear in the left side menu. Click on: "To App" to configure the activity from Okta to Ramp. (You will not need to configure the "To Okta" activity as this is a one-way integration).
- Ensure that the following are checked and enabled:
- Create Users
- Update User Attributes
- Deactivate Users
Setting the attribute mappings
The following are the recommended attribute mappings. Please note: that you can assign any desired Okta value to the Ramp attributes. Ensure the attribute names match the capitalization below (e.g., in "userName" make sure the "N" is capitalized).
Attribute Name | Value | Apply On | Notes |
userName | This attribute cannot be configured | ||
givenName | user.firstName | Create and Update | |
familyName | user.lastName | Create and Update | |
user.email | Create and Update | ||
emailType | (user.email != null && user.email != '') ? 'work' : '' | Create and Update | Ramp will only accept emails that Okta indicates are their primary email or “work” email |
locality | user.city | Create and Update | This value will be used to set the user’s location in Ramp. If the location does not exist in Ramp yet, it will be automatically created. If Ramp receives a request to create or update a user with no locality set, it will be rejected. |
department | user.department | Create and Update | This value will be used to set the user’s department in Ramp. If the department does not exist in Ramp yet, it will be automatically created. If Ramp receives a request to create or update a user with no department set, it will be rejected. |
managerValue |
manager email |
Create and Update | This should be the user's manager's email address. If the user's manager does not have a Ramp account, the user will not be created in Ramp. The manager must exist on Ramp in order to be assigned as the manager. |
Attribute <> Ramp User Profile Mapping
Attribute Name | Ramp User Profile | Required? |
userName | Not shown on the Ramp user profile. We use this as a unique identifier on the back end. | Yes |
givenName | First Name | Yes |
familyName | Last Name | Yes |
Email address | Yes | |
emailType | Not used on the Ramp user profile. This is required to validate that the email address is the user’s work email | Yes |
locality | Location | Yes |
department | Department | Yes |
managerValue | Manager |
No |
Once you complete setup, you’ll land on the SCIM integration page where you can view and configure your SCIM settings.
Troubleshooting
If you run into any issues configuring SCIM, please get in touch with our Support team. To contact Ramp support, go to your Ramp dashboard and click on the (?) icon at the bottom right of your screen. Just type 'contact,' and we'll send an email to Ramp's support team. A team member will get back to you as soon as possible.
SCIM settings page
The SCIM Settings page is your Ramp control center for SCIM. Here you can:
- View the last sync time.
- This is the last time we received an SCIM update from your IdP. If you think your connection is having an issue, we recommend checking this timestamp.
- See the number of users invited and terminated via SCIM
- Configure your offboarding options (See Terminations section below)
- View integration information in case you need to reconnect at some point
- “Disconnect” the integration.
- Disconnecting will prevent any future data syncing. To fully disconnect, go to your IdP and follow the steps to delete the SCIM integration.
Provisioning users
Invites
When you connect to your IdP (Okta) via SCIM, you will be able to automatically invite users to Ramp from your IdP.
Ramp requires the following information to send the invite:
- First Name
- Last Name
- Email address
- Department
- Location
- Manager
If a user has a manager assigned to them in your IdP, you can push that information to Ramp as well, and we recommend doing so. (This is configurable from Okta)
Note that if you invite a user with a manager who has not been invited to Ramp yet, we will not be able to provision the user in Ramp until the manager has been invited to Ramp as well.
In order to successfully send a user invite via SCIM, the required fields must be populated in your IdP, otherwise the invite will not be sent. If the user is missing any required fields, the request will fail. You can track errors/unsent invites in Okta.
Note that you can map any Okta field to the Ramp attributes; the recommended fields are pre-populated in Okta, but you can change them.
Ramp invites are sent to users via email. The invite email “sender” is set to the user’s manager. If the user doesn’t have a manager, it falls back to the Ramp account owner. In other words, new users provisioned via SCIM will receive an invite email from their manager; if they don’t have a manager, it will come from the Ramp account owner.
If you also have SSO/SAML set up, your users can access Ramp using SSO and don't need to accept the invite via email.
Inviting user groups in Okta
You have the option to invite users as individuals or as part of user groups from your Okta account.
It is common to have workflows in Okta that automatically add or remove a user to/from a group based on certain criteria. If a user is (automatically or manually) moved from a group where they are assigned to Ramp, they will be immediately terminated from Ramp. This applies even if they are added to a new group that's also assigned to Ramp; Okta treats this as two separate actions, which results in the user being terminated and then recreated with a new user account.
Due to this, we recommend you assign users to Ramp using a group that is manually managed rather than managed through automation and workflows. If you do need to move users between groups, we recommend adding the user to the new group BEFORE removing them from any other groups OR temporarily disabling "de-provisioning" from the SCIM settings while you make group changes. This will ensure they stay provisioned to Ramp and do not accidentally get terminated.
When you assign the Ramp app to a group, Okta will prompt you to set a department for the entire group. You can choose to assign the department at the group level, but if you prefer to use the department that's set on the individuals' profiles, you will need to update one of your configuration settings to do so. To disable this in Okta:
- Go to: Applications -> Applications -> Ramp -> Provisioning
- Under "Ramp Attribute Mappings" click the "Go to Profile Editor" button
- Click the pencil next to "Department" to edit this attribute
- Uncheck the "Attribute required" checkbox and save
Now, when you assign a group, it will still ask you for a department for the entire group, but you can leave it blank. The users in the group will be invited to Ramp from the department value that's saved to their profile.
User setup in Ramp
If a user is assigned as someone’s manager in your IdP when they're invited, we will automatically assign them the Manager role on Ramp. Otherwise, all users invited via SCIM will be assigned the Employee role. You can update a user’s role from your Ramp account after they accept their invite.
IT admins and Bookkeepers on Ramp cannot act as Managers. When you try to provision or update a user whose manager is an IT admin or Bookkeeper, you will receive an error, and the attempt to provision or update will fail.
When a user is invited via SCIM, we will issue any default Spend Programs that you’ve configured for your business.
Deactivations
When a user is de-provisioned from your IdP, we will automatically deactivate them in your Ramp account.
SCIM deactivation
When a user is deactivated by the Identity Provider:
- Users on Ramp will be put in an (new) inactive state where they:
- Cannot log in
- Cannot spend on cards
- Will not receive Ramp notifications
- Users on Ramp will not be deleted or have their cards terminated (the previous behavior).
This inactive state is reversible. Upon reactivation:
- Users can log in to Ramp again.
- Users can spend on their previously issued cards.
- Users will resume receiving Ramp notifications.
Impact on workflows and approvals
While a user is inactive:
- They will be indicated as “(Inactive)” on the People table.
- They will remain in their assigned Ramp workflows.
- They will remain as managers if they are assigned as such.
- However, they will be unable to perform actions related to these duties due to their inability to log in to Ramp.
Deleting users and terminating cards
Ramp will no longer automatically delete users and terminate their cards based on a SCIM instruction. If a customer wants to delete users and terminate their cards permanently, they need to log in to Ramp and perform these actions manually.
When performing these actions on Ramp, customers will have options to:
- Terminate or reassign any active cards.
- Replace the user in any active workflows.
Which is consistent with the current user deletion functionality.
Automatic updates
Any time a user’s information is updated in your IdP system, the SCIM integration will update the user’s information in Ramp. Your IdP will be the source of truth for all employee information. The following information is automatically updated via SCIM:
- Name
- Department
- Location
- Manager
- Role (only if an Employee on Ramp is assigned as someone’s Manager in your IdP, we will upgrade them to Manager on Ramp)
Please note: Email changes are not currently supported. The resolution is to ask your admin to change the email manually and update SCIMUser.user_name and .email.