Scout reads Drive as its own service account, not as you. You create the service account once, share folders with its email, and Scout can read exactly what you’ve granted it, nothing more. No browser consent. No OAuth tokens. No impersonation. The full setup, including the manual GCP Console path for orgs that block service-account keys, lives in the Scout repo: GDRIVE_CONNECT.md.Documentation Index
Fetch the complete documentation index at: https://docs.agno.com/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Scout running locally (setup)
- The
gcloudCLI installed and authenticated (gcloud auth login) - A Google account with permission to create GCP projects
Step 1: Create the service account
gcloud account. Hit Enter to accept or type your own. The script:
- Creates the GCP project under your org.
- Enables the Google Drive API.
- Creates the
scout-agentservice account. - Downloads a JSON key to
<repo>/.scout/service-account.json(gitignored). - Prints the service account email and copies it to your clipboard.
If your GCP org enforces
constraints/iam.disableServiceAccountKeyCreation, the script tries to apply a project-scoped override automatically. If you don’t have roles/orgpolicy.policyAdmin, ask an admin to run the override command the script prints.Step 2: Share folders with Scout
This is the one step only you can do. The service account has no way to grant itself access. For each folder Scout should see:- Right-click the folder in Drive → Share.
- Paste Scout’s service account email (in your clipboard from Step 1).
- Role: Viewer.
- Uncheck Notify people. The service account has no inbox.
- Click Share.
Step 3: Wire credentials and restart
Add to.env:
/app). If you stored the key elsewhere, use the absolute path and add a matching volume mount in compose.yaml.
Restart:
Verify
“Search Drive for files with ‘roadmap’ in the name.”Scout calls
query_gdrive and returns matches with their webViewLinks.
Why Scout uses its own identity
Borrowing your credentials would collapse the audit trail. Everything Scout did would show up as something you did. With its own identity, actions stay attributable, multiple people can interact with the same agent safely, and access is scoped to exactly what’s been shared with the service account. The same pattern will apply when Gmail and Calendar providers ship. Scout will have its own mailbox and calendar seat.Troubleshooting
| Symptom | Likely cause |
|---|---|
/contexts shows ok: false, “service account file not found” | The path in GOOGLE_SERVICE_ACCOUNT_FILE doesn’t resolve inside the container. Move the key under .scout/ or add a matching volume mount. |
| Queries return permission denied / 403 | The folder isn’t shared with the service account email. |
| Queries return no results | You shared individual files instead of the parent folder, or the JSON key is invalid. Validate with python -m json.tool .scout/service-account.json. |
gcloud projects create fails with “project ID already in use” | Project IDs collide globally across GCP. Type a different one at the prompt. |