Google Sites integration guide: How to connect
Last updated: September 16, 2026
This article provides technical documentation for the Kinfolk Google Sites connector, which enables you to sync Google Sites pages. By interacting with Google Vault and Google Drive APIs, this connector makes content discoverable through Kinfolks’s unified knowledge search.
Prerequisites & restrictions
You have modern “Google Sites” format which is accessible from Google Drive, not a “Legacy Google Sites” platform.
Google Cloud Platform (GCP) must be available for you to enable programmatic access.
You must have at least a Google Workspace Business Plus subscription to enable Google Vault feature. Alternatively, you may enable it as a separate subscription.
Known Limitations:
Single Google Site page export limit is 100 Mb
Direct page URLs are available on best effort (as those are not available on any API and we try to restore those programmatically, but it’s not 100% precise)
Only whole-site reindex is available
How to set up the connector
You will need to create a service account in your GCP to give it programmatic access to your cloud. We would use Google Vault service for extracting data from Google Sites and enable domain-wide delegation to allow the service account to understand the user's visibility.
That includes a number of steps to be done:
GCP: Create new project GCP
GCP: Enable necessary APIs in your cloud for programmatic access
GCP: Create service account
Get service account JSON
Google Workspace: (Optional) Create separate integration user
Google Workspace: Create user role to access Google Site & Google Vault
Assign role to user you use to connect Kinfolk to manage visibility (e.g. integration user)
Google Workspace: Enable Domain-Wide Delegation (DWD) for created service account
Google Workspace: Enable Google Vault
Google Workspace: Google Vault Matter object for running Google Site exports
Store Google Vault Matter ID
Kinfolk: Configure Google Sites integration
Pass Service account JSON - to provide authentication
Pass Google Vault Matter ID - to give us ability to export data from Google Sites
Pass User email who has assigned role in step (4)
If you use Google Drive integration - we’ll use that user email by default
GCP configuration
1. Enable GCP
ℹWe recommend creating a new Google Cloud project for the integration to keep it isolated and scoped
This step is necessary if you have never used Google Cloud in your organisation. This is required to enable programmatic access to data.
Go to Manage Resource section in Google Cloud console
Create “New Project”. Create it with any organisation and project name you like. We recommend use “Kinfolk integration” for clarity.
Write down Project ID (shown under project name)
Go to Billing section
Use existing billing or create another one for newly created project
Account without billing is not available for operations
2. Enable APIs
Here is a list of services necessary for enabling programmatic access. Make sure to replace [PROJECT_ID] with real project ID from step above.
Admin SDK API (admin.googleapis.com) - accessing Google Workspace (prerequisite for Google Vault) https://console.developers.google.com/apis/api/admin.googleapis.com/overview?project=[PROJECT_ID]
Cloud Resource Manager API (cloudresourcemanager.googleapis.com) - Reading GPC resources metadata https://console.cloud.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=[PROJECT_ID]
Service Usage API (serviceusage.googleapis.com) - enable service management https://console.developers.google.com/apis/api/serviceusage.googleapis.com/overview?project=[PROJECT_ID]
Drive API (drive.googleapis.com) - accessing Google Drive by API https://console.developers.google.com/apis/api/drive.googleapis.com/overview?project=[PROJECT_ID]
Google Vault API (vault.googleapis.com) - Accessing Google Vault data https://console.cloud.google.com/marketplace/product/google/vault.googleapis.com?project=[PROJECT_ID]
3. Create Service Account
Go to Service Accounts section
Select project from step (1) and click Open
Click Create Service Account.
Enter service name kinfolk-admin and optional description. ID would be auto-generated
Skip Grant this service account access to project and Grant users access to this service account. Click Done.
Back on the Service Accounts page for your project, you should now be able to see the service account that was just created.
Click on created service account, Details tab will open
Click “Advanced Settings”
In section “Domain-Wide delegation” copy Client ID - it will be used for DWD in step (6)
Go to Keys tab
Click Add Key > Create New Key. In the panel that appears, select the key type JSON then click Create.
A private JSON key will be saved to your computer.
⚠This secret is shown only once and can not be re-downloaded. Keep it private. Best to remove the file once uploaded to Kinfolk.
Note: JSON key usage is restricted
JSON key is a simple and reliable way of operating service accounts, especially since we provide minimal permissions, and is industry standard. Google has recently pushed for more complex permission flows, so if you create a new organisation in GCP, you may have the JSON key disabled by default.
Google Workspace configuration
This configuration happens in Google Workspace Admin Console
4. Create separate integration user
ℹThis step is optional and you’re free to reuse any existing user, but having a separate user will simplify managing integration and keep it tightly scoped with minimal permissions
Go to User page
Click “Add new user” and provide user with email e.g. kinfolk-integration
5. Create admin role
Go to Roles page
Click Create new role
Name “Kinfolk integration”
Under Admin Console Privileges, select the following
Users → Read
Services → Drive and Docs → Settings
Google Vault → Manage matters
Google Vault → Manage exports
Google Vault → Manage searches
Under Admin API Privileges, select the following
Users → Read
Click Continue, and then Create Role
You should be redirected to a page where you can assign users to the “Kinfolk Integration” role you just created. Click Assign members, and add a Google Workspace user created in step (4).
⚠ This user needs to have logged in at least once to the Google Workspace and accepted the Terms of Service.
Click Assign role
6. Enable Domain-Wide Delegation (DWD)
Go to Domain-wide delegation section in Google Admin Console
You need to be logged as an admin
Click Add new
Add Client ID copied from Service Account in step (3)
Insert following string into “OAuth Scopes”:
https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/drive.readonly,https://www.googleapis.com/auth/ediscovery,https://www.googleapis.com/auth/devstorage.read_onlyThis list includes following permissions:
Read users (admin.directory.user.readonly)
Read Google Drive (drive.readonly)
Manage Google Vault (ediscovery)
Export data from Google Vault (devstorage.read_only)
7. Enable Google Vault
If you don’t have Google Vault enabled in your plan (Must be Business Plus or higher) - it can be purchased separately, start by reading this support article from Google
8. Create Google Vault Matter
Open Google Vault
Go to the Matters page.
Click Create
Create new matter with name “Kinfolk Matter”
Click Share button
In “Invite people” add email of Integration user from step (4)
Copy ID of created Google Vault Matter
It can be seen in URL and looks like UUID like f81d4fae-7dec-11d0-a765-00a0c91e6bf6
Kinfolk configuration
9. Configure Google Sites integration in Kinfolk
Go to Kinfolk Integration Settings
Find Google Sites, and click to connect
Provide following details
Integration user email from step (4)
If you have Google Drive connected with user already, this user would be used by default
Vault Matter ID from step (8)
Service Account JSON from step (3)
Kinfolk behaviour
You should now have “Import Google Site” button available in the Knowledge Page
Click the button to view available Sites, and from the modal select which Sites you want to sync
For newly-selected Sites import will start
How syncing works
Each Google Site instance becomes “Folder” in the knowledge list
Each individual page of the site becomes “Item” inside that page
Only whole Google Site can be reindexed
Reindexing is blocking, next reindex may start only once previous reindex is completed
Deleting vs. toggling pages off
Deleting a page is not permanent. If the Google Site is still connected, the page can be added back the next time that site is manually refreshed from the UI.
Use the OFF toggle to exclude a page. Toggled-off pages remain off after reindexing. The page stays visible in the list, but is excluded from the knowledge base.
The 24-hour automatic refresh does not reindex Google Sites. Deleted pages come back only when someone manually clicks refresh on that Google Site folder in the UI, as long as the site is still connected.