Use Google Vault in Sim to manage matters, holds, exports, and saved queries. Workflows can create and update matters, manage held accounts and collaborators, start exports, and download exported files.
Sim requests these scopes when someone connects a Google Vault account. For a self-hosted deployment, register your own app with the provider using the settings below. See Integrations and OAuth for setup.
Setting Value Redirect URI <NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/google-vaultEnvironment variables GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
Scope Description https://www.googleapis.com/auth/userinfo.emailView email address https://www.googleapis.com/auth/userinfo.profileView basic profile info https://www.googleapis.com/auth/ediscoveryManage Google Vault matters, holds, and exports https://www.googleapis.com/auth/ediscovery.readonlyView Google Vault matters, holds, and saved queries https://www.googleapis.com/auth/devstorage.read_onlyRead files from Google Cloud Storage
Connect Google Vault to manage the full matter lifecycle, create and manage holds and exports, and save reusable search queries for eDiscovery and compliance.
Create an export in a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") exportNamestring Yes Name for the export (avoid special characters) corpusstring Yes Data corpus to export (MAIL, DRIVE, GROUPS, HANGOUTS_CHAT, VOICE) accountEmailsstring No Comma-separated list of user emails to scope export (e.g., "user1@example.com , user2@example.com ") orgUnitIdstring No Organization unit ID to scope export (e.g., "id:03ph8a2z1enx5q0", alternative to emails) startTimestring No Start time for date filtering (ISO 8601 format, e.g., "2024-01-01T00:00:00Z") endTimestring No End time for date filtering (ISO 8601 format, e.g., "2024-12-31T23:59:59Z") termsstring No Search query terms to filter exported content (e.g., "from:sender@example.com subject:invoice")
Parameter Type Description exportjson Created export object
List exports for a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") pageSizenumber No Number of exports to return per page pageTokenstring No Token for pagination exportIdstring No Optional export ID to fetch a specific export (e.g., "exportId123456")
Parameter Type Description exportsjson Array of export objects exportjson Single export object (when exportId is provided) nextPageTokenstring Token for fetching next page of results
Delete an export from a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") exportIdstring Yes The export ID to delete (e.g., "exportId123456")
Parameter Type Description successboolean Whether the export was deleted
Download a single file from a Google Vault export (GCS object)
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") bucketNamestring Yes GCS bucket name from cloudStorageSink.files.bucketName objectNamestring Yes GCS object name from cloudStorageSink.files.objectName fileNamestring No Optional filename override for the downloaded file
Parameter Type Description filefile Downloaded Vault export file stored in execution files
Create a hold in a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") holdNamestring Yes Name for the hold corpusstring Yes Data corpus to hold (MAIL, DRIVE, GROUPS, HANGOUTS_CHAT, VOICE) accountEmailsstring No Comma-separated list of user emails to put on hold (e.g., "user1@example.com , user2@example.com ") orgUnitIdstring No Organization unit ID to put on hold (e.g., "id:03ph8a2z1enx5q0", alternative to accounts) termsstring No Search terms to filter held content (e.g., "from:sender@example.com subject:invoice", for MAIL and GROUPS corpus) startTimestring No Start time for date filtering (ISO 8601 format, e.g., "2024-01-01T00:00:00Z", for MAIL and GROUPS corpus) endTimestring No End time for date filtering (ISO 8601 format, e.g., "2024-12-31T23:59:59Z", for MAIL and GROUPS corpus) includeSharedDrivesboolean No Include files in shared drives (for DRIVE corpus)
Parameter Type Description holdjson Created hold object
List holds for a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") pageSizenumber No Number of holds to return per page pageTokenstring No Token for pagination holdIdstring No Optional hold ID to fetch a specific hold (e.g., "holdId123456")
Parameter Type Description holdsjson Array of hold objects holdjson Single hold object (when holdId is provided) nextPageTokenstring Token for fetching next page of results
Replace the name, query, and scope of an existing hold. This is a full-resource update: fetch the current hold first (Vault List Holds) and resupply every field you want to keep — any field left blank is cleared, not left unchanged.
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") holdIdstring Yes The hold ID to update (e.g., "holdId123456") holdNamestring Yes Name for the hold corpusstring Yes Data corpus of the hold (MAIL, DRIVE, GROUPS, HANGOUTS_CHAT, VOICE) accountEmailsstring No Comma-separated list of user emails covered by the hold (e.g., "user1@example.com , user2@example.com ") orgUnitIdstring No Organization unit ID covered by the hold (e.g., "id:03ph8a2z1enx5q0", alternative to accounts) termsstring No Search terms to filter held content (e.g., "from:sender@example.com subject:invoice", for MAIL and GROUPS corpus). Resupply the hold's current terms to keep them — this replaces the hold, so leaving it blank clears any existing filter. startTimestring No Start time for date filtering (ISO 8601 format, e.g., "2024-01-01T00:00:00Z", for MAIL and GROUPS corpus). Resupply the hold's current value to keep it — leaving it blank clears any existing date filter. endTimestring No End time for date filtering (ISO 8601 format, e.g., "2024-12-31T23:59:59Z", for MAIL and GROUPS corpus). Resupply the hold's current value to keep it — leaving it blank clears any existing date filter. includeSharedDrivesboolean No Include files in shared drives (for DRIVE corpus). Resupply true if the hold currently includes shared drives — leaving it false/blank clears that setting.
Parameter Type Description holdjson Updated hold object
Delete a hold and release its covered accounts
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") holdIdstring Yes The hold ID to delete (e.g., "holdId123456")
Parameter Type Description successboolean Whether the hold was deleted
Add accounts to an existing hold
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") holdIdstring Yes The hold ID to add accounts to (e.g., "holdId123456") accountEmailsstring Yes Comma-separated list of user emails to add to the hold (e.g., "user1@example.com , user2@example.com ")
Parameter Type Description responsesarray Per-account results of the add operation ↳ account json Held account (accountId, email) ↳ status json Status (code, message) if the add failed
Remove accounts from an existing hold
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") holdIdstring Yes The hold ID to remove accounts from (e.g., "holdId123456") accountIdsstring Yes Comma-separated list of Admin SDK account IDs to remove from the hold (e.g., "accountId1, accountId2")
Parameter Type Description statusesarray Per-account removal status, in request order
Create a new matter in Google Vault
Inputs and outputsParameter Type Required Description namestring Yes Name for the new matter descriptionstring No Optional description for the matter
Parameter Type Description matterjson Created matter object
List matters, or get a specific matter if matterId is provided
Inputs and outputsParameter Type Required Description pageSizenumber No Number of matters to return per page pageTokenstring No Token for pagination matterIdstring No Optional matter ID to fetch a specific matter (e.g., "12345678901234567890")
Parameter Type Description mattersjson Array of matter objects matterjson Single matter object (when matterId is provided) nextPageTokenstring Token for fetching next page of results
Update the name and/or description of a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID to update (e.g., "12345678901234567890") namestring Yes New name for the matter descriptionstring No New description for the matter
Parameter Type Description matterjson Updated matter object
Close a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID to close (e.g., "12345678901234567890")
Parameter Type Description matterjson Closed matter object
Reopen a closed matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID to reopen (e.g., "12345678901234567890")
Parameter Type Description matterjson Reopened matter object
Permanently delete a matter (must be closed first)
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID to delete (e.g., "12345678901234567890")
Parameter Type Description matterjson Deleted matter object
Restore a deleted matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID to restore (e.g., "12345678901234567890")
Parameter Type Description matterjson Restored matter object
Add a collaborator (or transfer ownership) to a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") accountIdstring Yes Admin SDK account ID of the user to add as a collaborator/owner rolestring Yes Permission level to grant: COLLABORATOR or OWNER sendEmailsboolean No Send a notification email to the added account ccMeboolean No CC the requestor on the notification email (only relevant if sendEmails is true)
Parameter Type Description permissionjson Created matter permission (accountId, role)
Remove a collaborator from a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") accountIdstring Yes Admin SDK account ID of the collaborator to remove
Parameter Type Description successboolean Whether the collaborator was removed
Save a reusable search query in a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") displayNamestring Yes Name for the saved query corpusstring Yes Data corpus to search (MAIL, DRIVE, GROUPS, HANGOUTS_CHAT, VOICE) accountEmailsstring No Comma-separated list of user emails to scope the query (e.g., "user1@example.com , user2@example.com ") orgUnitIdstring No Organization unit ID to scope the query (e.g., "id:03ph8a2z1enx5q0", alternative to emails) startTimestring No Start time for date filtering (ISO 8601 format, e.g., "2024-01-01T00:00:00Z") endTimestring No End time for date filtering (ISO 8601 format, e.g., "2024-12-31T23:59:59Z") termsstring No Search query terms (e.g., "from:sender@example.com subject:invoice")
Parameter Type Description savedQueryjson Created saved query object
List saved queries in a matter, or get a specific one if savedQueryId is provided
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") pageSizenumber No Number of saved queries to return per page pageTokenstring No Token for pagination savedQueryIdstring No Optional saved query ID to fetch a specific saved query
Parameter Type Description savedQueriesjson Array of saved query objects savedQueryjson Single saved query object (when savedQueryId is provided) nextPageTokenstring Token for fetching next page of results
Delete a saved query from a matter
Inputs and outputsParameter Type Required Description matterIdstring Yes The matter ID (e.g., "12345678901234567890") savedQueryIdstring Yes The saved query ID to delete
Parameter Type Description successboolean Whether the saved query was deleted