Skip to main content
Part of Lumos Launchpad: Foundation, step 6, and Access Reviews, step 1.

Why use custom apps?

Sometimes apps don’t show up in Lumos automatically because they:
  • Are homegrown or legacy applications
  • Don’t sit behind your IdP
  • Lack a direct Lumos integration
You can still:
  • Add them to the AppStore for request workflows with manual steps or a webhook for provisioning (no CSV required)
  • Add them for Access Reviews or audit/compliance reporting (CSV upload required)
  • Enrich existing IdP-synced apps with extra data columns (CSV upload optional)

1. Adding a custom app

  1. Go to All Apps
  2. Click Add App
  3. Enter details:
    • App Name
    • Logo (optional)
    • Description (optional)
    • Category (optional)
  4. Save and view your new custom app.
  • If you only need it in the AppStore, you’re done.
  • If you need to track users or run Access Reviews, continue with a CSV upload.

2. Preparing your CSV file

Your CSV acts as a snapshot of account data. You can upload your CSV at anytime in order to ensure right mapping in your fields. You can add this to your Access Review right away and when you’re about a week away from launching your Access Review, if the CSV is outdated, you can Sync and upload a new CSV right within your review. Please keep in mind that this will be a snapshot in time.

Required fields

  • Email (preferred) OR
  • First Name + Last Name
If neither is present → upload will fail

Optional fields

  • External Identifier / Unique ID → best for matching existing accounts
  • Status → This is the ACCOUNT status and it must match one of Lumos’ accepted values. Please keep in mind that different software applications may use different account statuses. If you are ONLY bringing in ACTIVE accounts, do not worry about mapping this field at all. Lumos will assume all accounts are ACTIVE in that case. Here are the Lumos-required Status Values:
    • DISCOVERED
    • STAGED
    • ACCESS_CREATED
    • ACTIVE (default if blank)
    • SUSPENDED
    • DEPROVISIONED
    • ARCHIVED
    • MANUALLY_REMOVED
    • ACCESS_REMOVED
    • NON_CORPORATE_ACCOUNT
    • WAITING_MANUAL_REMOVAL
  • If you provide an invalid value, your upload will fail.
  • If you provide no value or omit the Status column, it’s assumed that the status of any accounts being uploaded is ACTIVE.

File requirements for your CSV upload:

  • Encoding: UTF-8
  • Size limit: 10 MB
  • Delimiter: Default comma (,), unless otherwise specified
Missing data in your CSV = treated as removed. In other words, if you’ve done a CSV upload in the past and you are now doing a new one within the same App, any missing data in your CSV will be treated as removed.

3. Uploading and mapping data

  1. Click Import Accounts in your custom app
  2. Upload the CSV
  3. Mapping Basics:
    • Left side = Your CSV column header
    • Right side = Field name in Lumos
    • Example: CSV “Department” → Lumos “Department”
  4. Map Your Primary Fields:
    • First Name (if you only have “Name” as opposed to First Name, Last Name in your CSV but you have email, you can leave this unmapped. If you have no field for email, the recommended action is to split text to columns to get a separate First Name, Last Name)
    • Last Name
    • Email: The best source of truth between your CSV export and your source of truth in Lumos (Your IdP). Lumos uses this field to match identities from your CSV to your IdP, where Lumos can pick up values such as “Team”, “Title”, and “Manager” if these attributes are properly matched in your Settings (see here)
    • Unique ID: Not required but you can use the unique ID from your service provider if you have it
    • Status: See above. If all of your users that you’re importing are ACTIVE in the service provider, you do not need to map this field
  5. Map Your Permission Fields:
    Any additional fields that you want to appear in the Access Review, you will need to map them here as Permission Fields (see image below). This could include, but is not limited to:
    • Role
    • Permission
    • Entitlement
    • Last Accessed
    • Last Activity
  6. Map Your Attribute Fields:
    These are any additional Attributes you may want mapped. Attributes mapped here will not show up in an access review.

4. How Accounts Are Matched
  • Priority order for matching:
    1. Unique Identifier
    2. Email
    3. First Name + Last Name
  • If no match is found → a new account is created and listed as “Unmatched”.
  • If a manual-only account is not matched → it becomes Deprovisioned.
Pro Tip: If you have a previous CSV already uploaded, download it as a CSV first to create a backup.

5. Verifying and troubleshooting

  • Check Activity Log:
    • Custom App Accounts Updated → success
    • Custom App Submission Failed → error (check field mappings, formatting, or Status values).
  • If uploading to a brand-new app, confirm the Accounts tab row count matches your CSV (minus header).

6. Example use cases

  • AppStore only: Just add app metadata. No CSV needed.
  • Audit/Access Review: Upload CSV of accounts from the service provider.
  • Data Enrichment: Upload CSV with extra fields (e.g., Roles, Business Units, Permissions) to enhance IdP-sourced apps.

Helpful resources