> For AI agents: [llms.txt](https://docs.trustedauth.com/llms.txt) provides a Markdown index of this documentation.

# Expensify

Expensify provides automation tools for expense management receipt tracking (see <https://www.expensify.com>). You can protect access to Expensify by integrating Expensify with Identity as a Service. Once integrated, users can use single sign-on to log in to their Expensify account through Identity as a Service.

note

This integration was tested using Identity as a Service version 5.16 and Expensify Release March 2021. Other versions of Expensify may require integration and configuration steps that differ from those documented in this procedure. For other versions of Expensify, use this procedure as a starting point for integrating Expensify. In the event of other issues, contact <support@entrust.com> for assistance.

## Prerequisites

Before you begin, you need to validate your domain with Expensify. See the following documentation for information on how to validate your domain prior to completing the SAML configuration:

> <https://community.expensify.com/discussion/4644/how-to-claim-and-validate-your-domain-in-expensify/>

To integrate Expensify with Identity as a Service, do the following:

## Step 1: Download the Expensify metadata file

1. Log in to your Expensify account as an administrator. Your home page appears.
2. Click **Settings > Domains**. The **Domains** page appears.
3. Click **SAML**. The **SAML Login** page appears.
4. Toggle to **Enabled**.
5. Scroll to **Service Provider MetaData**.
6. Copy the metadata and paste in into a text editor, such as Notepad.
7. Save the file as expensify_metadata.xml.

## Step 2: Add Expensify to Identity as a Service

1. Log into your Identity as a Service administrator account.
2. Click Menu icon **>** **Security > Applications**. The **Applications** **Lists** page appears.
3. Click **Add**. The **Select an Application Template** page appears.
4. Do one of the following:
   - Select **SAML Cloud Integrations** from the search drop-down list and scroll to find the application you want to add to IDaaS.
   - In the **Search bar**, enter a search option to filter for the application you want to add to IDaaS.
5. Click **Expensify**. The **Add Expensify** page appears.
6. Enter an **Application Name**.
7. Enter an **Application Description**.
8. Optional. Add a custom application logo.
   1. Click Plus icon next to **Application Logo**. The **Upload Logo** dialog box appears.
   2. Click Upload icon to select an image file to upload.
   3. Browse to select your file and click **Open**. The **Upload Logo** dialog box reappears showing your selected image.
   4. If required, resize your image.
   5. Click **OK**.
9. Select the **Authentication Flow** that appears to users during login.
10. Click **Next**. The **General** page appears.
11. Click Upload icon to the **Upload Metadata XML** and browse to the location of the metadata file you downloaded. The **Metadata Configuration** dialog box appears.
12. If required, click **Merge with existing values** to merge new values with existing values for Alternative Assertion Consumer Services URLs and SAML attribute names.
13. Click **Save**.
14. Enter the **SAML Session Timeout** to the time when the SAML Assertion times out. The maximum is 720 minutes.
15. Enter the **Max Authentication Age (seconds)** to set the maximum amount of time that can elapse before a user is required to reauthenticate during a new login attempt. This applies for both SP-initiated and IDP-initiated login. Set this field to -1 to disable this feature.
16. From the **SAML NameID Attribute** drop-down list, select **Email**.
17. Select the **SAML Signing Certificate** from the drop-down list.
18. Select **Sign Complete SAML Response**.
19. Optional: Select **Respond Immediately for Unsuccessful Responses** to return to the application immediately after a login failure, rather than allow user to try again with a different userID.
20. Deselect **Enable Go Back Button** if you do not want users to be able to go back to the Expensify login page to log in.
21. Select **Show Default Assertion Consumer URL Service in the My Profile**. When selected, the Default Assertion Consumer URL appears in a user's My Profile page in addition to relay states and Alternative Assertion Consumer URLs.
22. Optional. Add **Alternative Assertion Consumer Service URLs**, as follows:
    1. Click **Add**.
    2. Enter a **Name**.
    3. Enter a URL **Value**.
    4. Select **Show in My Profile** to display the Alternative Consumer Service URL in a user's My profile page.
    5. Optional. **Add an Application Logo**.
    6. Click **Add**.
    7. Repeat these steps to add more Alternative Assertion Consumer Service URLs.
23. Click **Submit**.

## Step 3: Add a resource rule

See [Create resource rules](/docs/authentication-and-security/create-and-manage-resource-rules.md).

## Step 4: Download the metadata file from Identity as a Service

1. In Identity as a Service, click Menu icon **>** **Security > Applications**. The **Applications List** page appears.
2. Do one of the following:
   - Click Cloud Download icon next to the application you are integrating with Identity as a Service.
   - Click Ellipsis Vertical icon next to the application you are integrating with Identity as a Service and select **SAML IDP Metadata**.
3. The **SAML Application Metadata** dialog box appears.
4. **Select the certificate to include in the SAML IDP Metadata file** from the drop-down list.
5. If applicable, **Select the domain to include in the SAML IDP Metadata** file from the drop-down list.
6. Enter the **Lifetime, in days, for the SAML IDP Metadata file**. The value must be between 2 and 730.
7. Do one of the following, as required:
   - Copy the **Public Endpoint** to paste into your SAML application being used Identity Provider authentication.
   - Click **Download**.

note

If you are using multiple domains, you must download each domain's metadata file separately because the values in the metadata file vary for each domain.

## Step 5: Configure Expensify for single sign-on with Identity as a Service

1. Log in to your Expensify account as an administrator. Your home page appears.
2. Click **Settings > Domains**. The **Domains** page appears.
3. Click **SAML**. The **SAML Login** page appears.
4. Open the metadata you downloaded in _Step 4: Download the metadata from identity as a Service_ in a text editor, such as Notepad.
5. Copy the contents of the metadata file and paste them in to the **Identity Provider Metadata** field of the Expensify SAML Login page.
6. Expensify saves the configuration automatically.

## Step 6: Test the integration

### Testing Service Provider Login

1. Open a Web browser and enter the URL for your Expensify account. You are directed to Identity as a Service.
2. Log in to your Expensify account **User ID** and click **Next**.
3. Respond to the second-factor authentication challenge. If you respond successfully, you are logged into Expensify.

### Testing Identity as a Service redirect log in

1. Log in to your Identity as a Service account.
2. Go to your **My Profile** page if you are not already there.
3. Under **Applications**, click **Expensify**.
4. Respond to the second-factor authentication challenge. If you respond successfully, you are logged in to Expensify.
