Google Docs API Credentials
Set up your own Google API credentials to export under your organization's quota and avoid shared rate limits.
By default, Kami exports Google Docs using a shared API key. This works well for most users, but if you are on a Business or Enterprise plan you can bring your own Google API credentials (BYOK) to export under your organization's quota and avoid shared rate limits.
Before you start
- You need a Business or Enterprise plan — BYOK is not available on Free or Pro
- A Google account with access to Google Cloud Console
- About 10 minutes to complete setup
Step 1: Create a Google Cloud project
Open Google Cloud Console
Go to console.cloud.google.com and sign in with the Google account you want to own the API credentials.
Create a new project
Click the project dropdown at the top of the page, then click New Project. Give it a name like "Kami Export" and click Create.
Select the project
After creation, make sure the new project is selected in the project dropdown.
Use an existing project
If you already have a Google Cloud project for your organization, you can reuse it — skip ahead to Step 2.
Step 2: Enable the Google Drive API
Open the API Library
Navigate to APIs & Services → Library in the sidebar, or use the direct link.
Enable the Drive API
Search for Google Drive API if it is not already shown. Click on it, then click Enable.
Kami only needs the Drive API. You do not need to enable the Docs API or Sheets API.
Step 3: Configure the OAuth consent screen
Open the consent screen settings
Choose user type
Select External (available to any Google account) and click Create. If your organization uses Google Workspace and you only need internal access, select Internal instead.
Fill in app information
Enter an App name (e.g. "Kami Export"), your User support email, and a Developer contact email. The other fields are optional. Click Save and Continue.
Add scopes
Click Add or Remove Scopes. Search for drive.file and check the Google Drive API — .../auth/drive.file scope. This scope only allows Kami to access files it creates, not your entire Drive. Click Update, then Save and Continue.
Add test users (External only)
If you chose External, add the Google accounts that will use this credential as Test users. While the app is in "Testing" status, only these accounts can authorize. Click Save and Continue.
Publishing the app
If you need more than 100 test users, you will need to submit the app for Google's verification review. For most teams, keeping the app in "Testing" and adding individual users is sufficient.
Step 4: Create an OAuth Client ID
Open the Credentials page
Create credentials
Click + Create Credentials at the top, then select OAuth client ID.
Configure the client
Set Application type to Web application. Give it a name like "Kami".
Add the redirect URI
Under Authorized redirect URIs, click + Add URI and enter:
https://kami.typo.monster/api/auth/callback/google
Save and copy credentials
Click Create. A dialog appears with your Client ID and Client Secret. Copy both values — you will need them in the next step.
Keep your Client Secret safe
Treat the Client Secret like a password. Do not commit it to source control or share it publicly.
Step 5: Add credentials to Kami
Open Account Settings
Go to Dashboard → Account and scroll to the Google API Credentials card.
Enter your credentials
Paste your Client ID (format: 123456789.apps.googleusercontent.com) and Client Secret (format: GOCSPX-...) into the corresponding fields.
Save
Click Save Credentials. Kami validates the format and stores them securely. All future Google Docs exports from your account will use your own credentials.
Reverting to shared credentials
You can remove your custom credentials at any time from the same settings page. Exports will automatically fall back to the shared API key.
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
| "Invalid redirect URI" during authorization | Redirect URI mismatch | Verify the redirect URI in Google Cloud Console is exactly https://kami.typo.monster/api/auth/callback/google — no trailing slash |
| "Access denied" or "App not verified" | User not added as test user | Add the Google account to the test users list in the OAuth consent screen settings |
| Still hitting rate limits | Credentials not saved correctly | Check that both Client ID and Client Secret are filled in on the Account Settings page |
| "Quota exceeded" on your own project | Drive API quota reached | Check your Google Cloud quotas and request an increase if needed |
| Export fails after credentials change | Stale authorization | Remove credentials, save, then re-add them to trigger a fresh OAuth flow |
Next steps
- Migrating from Notion — end-to-end export walkthrough
- Plans & Limits — export quotas per plan
- Notion to Google Docs — how the conversion works