Microsoft Entra integration: Set up SCIM provisioning

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. For general information on using SCIM with Ramp, please review this article.

This article explains how to set up the Microsoft Entra integration from your Ramp account. After finishing this setup, you can also optionally enable role syncing from Entra by following this article.

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 5 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.

Set up the integration on Ramp

Before you begin

Integration setup

  1. Go to Settings > Apps
  2. Search and select Microsoft Entra
  1. When you select your provider, you will be prompted with instructions on how to set up the integration with Microsoft Entra.
    Ramp setup flow for adding Ramp as a custom application in Microsoft Entra
  2. Install the Ramp app in your Microsoft Entra tenant.
  3. Use the provided URL and API token from your Ramp dashboard to configure the app in Microsoft Entra.
  4. Follow the directions in the setup flow to map the appropriate Microsoft Entra attributes to Ramp attributes.
  5. Ensure that the following are checked and enabled in the "Provision Microsoft Entra ID Users" menu:

Setting the attribute mappings

The following are the recommended attribute mappings. Please note: that you can assign any desired Microsoft Entra value to the Ramp attributes. Ensure the attribute names match the capitalization below (e.g., in "userName" make sure the "N" is capitalized).

customappsso AttributeValueNotes
userNameuserPrincipalName
activeSwitch([IsSoftDeleted], , "False", "True", "True", "False")
emails[type eq "work"].valuemail
name.givenNamegivenName
name.familyNamesurname
addresses[type eq "work"].localitycityThis 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 unless you have set a default location.
externalIdmailNickname
urn:ietf:params:scim:schemas: extension:enterprise:2.0:User: employeeNumberemployeeId
urn:ietf:params:scim:schemas: extension:enterprise:2.0:User: departmentdepartmentThis 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 unless you have set a default department.
urn:ietf:params:scim:schemas: extension:enterprise:2.0:User: managermanagerThis value is the Ramp identifier for the user's manager.

Attribute <> Ramp user profile mapping

Attribute NameRamp User ProfileRequired?
userNameNot shown on the Ramp user profile. We use this as a unique identifier on the back end.Yes
activeActivation/deactivation state for Ramp user. We do not handle full account deletion through SCIM (see below).
emails[type eq "work"].valueEmail address
name.givenNameFirst name
name.familyNameLast name
addresses[type eq "work"].localityRamp location
externalIdAlternate unique identifier provided by Microsoft Entra. Not shown in Ramp.
urn:ietf:params:scim:schemas: extension:enterprise:2.0:User: employeeNumberEmployee ID, shown in some data exports.
urn:ietf:params:scim:schemas: extension:enterprise:2.0:User: departmentRamp department
urn:ietf:params:scim:schemas: extension:enterprise:2.0:User: managerRamp identifier for this user's manager.

Once you complete setup, you’ll land on the SCIM integration page where you can view and configure your SCIM settings. Read more about the SCIM settings page here.

Troubleshooting

If you run into any issues configuring SCIM, go to your Ramp dashboard and click the (?) icon at the bottom right of your screen. Ask Ramp to help troubleshoot the setup issue you are seeing in your SCIM configuration, and continue in the same help flow if you need a next step.

Provisioning users

Invites

When you connect to your IdP (Microsoft Entra) via SCIM, you will be able to automatically invite users to Ramp from your IdP.

Ramp requires the following information to send the invite:

  1. First Name
  2. Last Name
  3. Email address
  4. Department
  5. Location
  6. 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 Microsoft Entra)

Note that if you invite a user with a manager who has not been invited to Ramp yet, their manager will not be configured until they are provisioned to Ramp.

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 Microsoft Entra.

Note that you can map any Microsoft Entra field to the Ramp attributes. The recommended fields are pre-populated in Microsoft Entra, 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 Microsoft Entra

You have the option to invite users as individuals or as part of user groups from your Microsoft Entra account.

It is common to have workflows in Microsoft Entra 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 deactivated from Ramp.

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

You can optionally enable role syncing from Entra by following this article. If you don't choose to enable role syncing: 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 Admin and Accounting roles on Ramp cannot act as Managers. When you try to provision or update a user whose manager has the IT Admin or Accounting role, 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

As with all of Ramp's SCIM integrations, users will be de-provisioned rather than deleted if they are no longer assigned to the Ramp app in their IdP. Read more here for considerations of what this entails.

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.

Email changes are supported via SCIM. When an email is updated in your identity provider, the employee will receive a verification email and must confirm the change before it takes effect in Ramp. You can read more about handling user updates here.