Skip to main content
These are the steps to connect SaaS accounts to a custom app using Google Sheets. In addition to the existing manual or CSV import methods, you can manage and sync SaaS accounts through Google Sheets.

How to Use

Prerequisites

Complete the following steps to prepare before connecting Google Sheets.

Prepare Google Sheets and Your Data

First, format your Google Sheets spreadsheet.
Header row (required)Set headers in row 1 of the sheet. AI uses the headers for automatic column mapping.
Any format acceptedUse data exported directly from your SaaS as-is. AI identifies fields from the headers.
Email address (required)Include a column for email addresses and fill in the email for each account.

Share View/Edit Access

Add a dedicated service account as a shared member so the system can access your Google Sheets file.
  1. In Google Sheets, click File in the top-left corner, then Share > Share with others. Google Sheets file share menu
  2. Paste prod-sheets-reader@money-forward-itmc.iam.gserviceaccount.com in the Add people and groups field, then click Send. Add user screen
  3. When prompted with “Share anyway?”, click Share anyway. Share confirmation dialog

Create a New Custom App and Connect Google Sheets

  1. Go to Integrations > Integrations and click Register and manage a service without integration. Integrations screen
  2. On the “Register and manage a service without integration” screen, fill in the following fields and click Create.
    Service searchSearch for and select a service, or enter any service name.
    Workspace nameEnter any workspace name.
    Data sourceSelect Google Sheets.
    Service registration screen
  3. On the “Specify Google Sheets file” screen, enter the Google Sheets file URL and click Start integration. Paste the URL of the Google Sheets file you prepared in the prerequisites. Spreadsheet URL input screen
  4. On the “Column mapping” screen, review the Mapping destination and Data preview, then click Confirm and import data.
    On the “Column mapping” screen, AI automatically sets the mapping destinations. Change them as needed.Available mapping destinations include Saas User Id, Display Name, Roles, Licenses, and Username. Additional destinations are Email, Status, Two FaLast, Activity, and Do not map. Set columns you do not want to import as Do not map.
    Column mapping screen
  5. The “Connecting to file” screen appears. Connecting to file screen
  6. When the “Integration complete” screen appears, click Done. You can verify the connected custom app on the Services screen. Integration complete screen

Connect Google Sheets to an Existing Custom App

  1. Go to Services > Custom App > Info and click + Create new integration. Info screen
  2. Enter a workspace name, select Google Sheets as the data source, and click Create. Data source selection screen
  3. On the “Specify Google Sheets file” screen, enter the Google Sheets file URL and click Start integration. Paste the URL of the Google Sheets file you prepared in the prerequisites. Spreadsheet URL input screen
  4. On the “Column mapping” screen, review the Mapping destination and Data preview, then click Confirm and import data.
    On the “Column mapping” screen, AI automatically sets the mapping destinations. Change them as needed.Available mapping destinations include Saas User Id, Display Name, Roles, Licenses, and Username. Additional destinations are Email, Status, Two FaLast, Activity, and Do not map. Set columns you do not want to import as Do not map.
    Column mapping screen
  5. The “Connecting to file” screen appears. Connecting to file screen
  6. When the “Integration complete” screen appears, click Done. You can verify the connected custom app on the Services screen. Integration complete screen

Re-connect Google Sheets

To change the column mapping, click the three-dot menu [] on the right side of the workspace under Info > Workspace. Then select Re-connect. After clicking Re-connect, follow step 3 onwards in Create a New Custom App and Connect Google Sheets. Re-connect screen

Sync with Google Sheets

When you update your Google Sheets file, account information in the custom app updates through automatic or manual sync.
Automatic syncAccount information updates during the nightly automatic sync.
Manual syncFor manual sync steps, see Running a Sync.

Delete a Workspace for a Registered Service

  1. Go to Services > Service list and click the custom app. Custom apps display as (Custom) under the left-side Services/Workspace item.
  2. Under the service details Info tab, click the three-dot menu [] at the right end of the workspace row. Then click Delete.
Workspace deletion screen

FAQ

Q. Do I need any settings other than sharing under File > Share > Share with others in Google Sheets?

A. Add prod-sheets-reader@money-forward-itmc.iam.gserviceaccount.com under “Share with others”. No other settings are required. There are no restrictions on the type of access (Editor/Viewer) or the file storage location (Shared Drive/My Drive).

Q. Is there a Google Sheets template available?

A. There is no dedicated template, but you can use the template from Bulk Account Registration. Any format works.

Q. Can I update accounts via API?

A. API is not supported.

Q. I want to manage accounts in one Google Sheets file with multiple sheets. Is multi-sheet management supported?

A. Yes. Each sheet has a different URL displayed in the browser. Paste the URL for each sheet to connect them individually.

Q. Can I register multiple licenses or roles in the custom app Google Sheets integration?

A. Enter multiple values separated by commas (,) in the licenses and roles columns of your Google Sheets file. After saving, sync with Google Sheets to confirm the multiple entries appear in the custom app. Example: To register three licenses “L1, L2, L3” in the licenses column, enter L1,L2,L3. To register two roles “R1, R2” in the roles column, enter R1,R2.

Q. Is there a way to import only rows that match specific conditions from Google Sheets?

A. Use the Google Sheets FILTER function to extract only rows that match your criteria. This does not modify the source data. Configure a formula based on the examples below to match the conditions you want to extract.
PatternFormulaOperator meaningNotes
Extract specific items only (e.g., Active only)=FILTER(Sheet1!A:G, Sheet1!G:G = "Active")= (equals)Shows rows where column G matches the specified value.
Exclude specific items (e.g., exclude Terminated)=FILTER(Sheet1!A:G, Sheet1!G:G <> "Terminated")<> (not equal)Shows rows where column G does not match the specified value.
Extract from another file while keeping headers (e.g., exclude Terminated)={ IMPORTRANGE("source-data-URL", "Sheet1!A1:G1"); FILTER( IMPORTRANGE("source-data-URL", "Sheet1!A2:G"), INDEX(IMPORTRANGE("source-data-URL", "Sheet1!A2:G"), 0, 7) <> "Terminated" ) }<> (not equal)Shows rows where column G is not “Terminated”. Fixes row 1 as the header.
Example: To automatically display only “Active” rows from source data on Sheet1 into Sheet2: Set headers in row 1 of Sheet2, then place the FILTER function in row 2, column A of Sheet2. This extracts the “Active” rows. When connecting, set the URL of Sheet2 in the Google Sheets file URL field. FILTER function example 1 Example: To automatically display rows excluding “Terminated” from source data on Sheet1 into Sheet2: Place the FILTER function in row 1, column A of Sheet2 to extract all rows except “Terminated”. (Headers are required.) When connecting, set the URL of Sheet2 in the Google Sheets file URL field. FILTER function example 2 Example: The source data lives in a separate management spreadsheet. Automatically display rows excluding “Terminated” into Sheet1 of the integration spreadsheet: Place the function in row 1, column A of Sheet1 in the integration spreadsheet to extract all rows except “Terminated”. (Headers are required.) When connecting, set the URL of Sheet1 in the integration spreadsheet in the Google Sheets file URL field. FILTER function example 3
Last modified on July 13, 2026