Tutorial: Configure TravelPerk for automatic user provisioning
This tutorial describes the steps you need to perform in both TravelPerk and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and deprovisions users and groups to TravelPerk using the Azure AD Provisioning service. For important details on what this service does, how it works, and frequently asked questions, see Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory.
- Create users in TravelPerk
- Remove users in TravelPerk when they do not require access anymore
- Keep user attributes synchronized between Azure AD and TravelPerk
- Single sign-on to TravelPerk (recommended)
The scenario outlined in this tutorial assumes that you already have the following prerequisites:
- An Azure AD tenant.
- A user account in Azure AD with permission to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
- An active TravelPerk admin account.
- A Premium/Pro plan.
Step 1. Plan your provisioning deployment
- Learn about how the provisioning service works.
- Determine who will be in scope for provisioning.
- Determine what data to map between Azure AD and TravelPerk.
Step 2. Configure TravelPerk to support provisioning with Azure AD
Login to the TravelPerk Application with your admin account.
Navigate to Company Settings > Integrations > SCIM
Click Enable SCIM API
You can also enable approvals through SCIM. Approvals help you set additional governance by ensuring trips get approved first by the specified approvers. You can learn more about this here.
You can specify whether you want every person's manager to automatically become the user responsible for the approval of trips. Therefore an approver will be assigned in the corresponding automatic approval process. TravelPerk will map Azure's manager value, to the user's desired approver. The user needs to exist on the platform before becoming the provisioned user approver. Approvers will not be created if they are not properly configured on TravelPerk.
Automatic approval process creation is available in the SCIM settings after enabling SCIM from the integrations page. To turn it on, select Through an Identity Provider and switch the toggle for Enable automatic approval process creation.
Click on Save changes once the necessary approval process is configured.
Step 3. Add TravelPerk from the Azure AD application gallery
Add TravelPerk from the Azure AD application gallery to start managing provisioning to TravelPerk. If you have previously setup TravelPerk for SSO, you can use the same application. However it is recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery here.
Step 4. Define who will be in scope for provisioning
The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user / group. If you choose to scope who will be provisioned to your app based on assignment, you can use the following steps to assign users and groups to the application. If you choose to scope who will be provisioned based solely on attributes of the user or group, you can use a scoping filter as described here.
When assigning users to TravelPerk, you must select a role other than Default Access. Users with the Default Access role are excluded from provisioning and will be marked as not effectively entitled in the provisioning logs. If the only role available on the application is the default access role, you can update the application manifest to add additional roles.
Start small. Test with a small set of users and groups before rolling out to everyone. When scope for provisioning is set to assigned users and groups, you can control this by assigning one or two users or groups to the app. When scope is set to all users and groups, you can specify an attribute based scoping filter.
Step 5. Configure automatic user provisioning to TravelPerk
This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users and/or groups in TestApp based on user and/or group assignments in Azure AD.
To configure automatic user provisioning for TravelPerk in Azure AD:
Sign in to the Azure portal. Select Enterprise Applications, then select All applications.
In the applications list, select TravelPerk.
Select the Provisioning tab.
Set the Provisioning Mode to Automatic.
Under the Admin Credentials section, click on Authorize. You will be redirected to TravelPerk's Login page. Input your Username and Password and click on the Sign In button. Click on Authorize App on the Authorization page. Click Test Connection to ensure Azure AD can connect to TravelPerk. If the connection fails, ensure your SecureLogin account has Admin permissions and try again.
In the Notification Email field, enter the email address of a person or group who should receive the provisioning error notifications and select the Send an email notification when a failure occurs check box.
Under the Mappings section, select Synchronize Azure Active Directory Users to TravelPerk.
Review the user attributes that are synchronized from Azure AD to TravelPerk in the Attribute-Mapping section. The attributes selected as Matching properties are used to match the user accounts in TravelPerk for update operations. If you choose to change the matching target attribute, you will need to ensure that the TravelPerk API supports filtering users based on that attribute. Select the Save button to commit any changes.
Attribute Type Supported For Filtering userName String ✓ externalId String active Boolean name.honorificPrefix String name.familyName String name.givenName String name.middleName String preferredLanguage String locale String phoneNumbers[type eq "work"].value String externalId String title String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager Reference urn:ietf:params:scim:schemas:extension:travelperk:2.0:User:gender String urn:ietf:params:scim:schemas:extension:travelperk:2.0:User:dateOfBirth String urn:ietf:params:scim:schemas:extension:travelperk:2.0:User:invoiceProfiles Array urn:ietf:params:scim:schemas:extension:travelperk:2.0:User:emergencyContact.name String urn:ietf:params:scim:schemas:extension:travelperk:2.0:User:emergencyContact.phone String urn:ietf:params:scim:schemas:extension:travelperk:2.0:User:travelPolicy String
To configure scoping filters, refer to the following instructions provided in the Scoping filter tutorial.
To enable the Azure AD provisioning service for TravelPerk, change the Provisioning Status to On in the Settings section.
Define the users and/or groups that you would like to provision to TravelPerk by choosing the desired values in Scope in the Settings section.
When you are ready to provision, click Save.
This operation starts the initial synchronization cycle of all users and groups defined in Scope in the Settings section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.
Step 6. Monitor your deployment
Once you've configured provisioning, use the following resources to monitor your deployment:
- Use the provisioning logs to determine which users have been provisioned successfully or unsuccessfully
- Check the progress bar to see the status of the provisioning cycle and how close it is to completion
- If the provisioning configuration seems to be in an unhealthy state, the application will go into quarantine. Learn more about quarantine states here.
- Managing user account provisioning for Enterprise Apps
- What is application access and single sign-on with Azure Active Directory?