PlanOpticon

planopticon / docs / guide / cloud-sources.md
Source Blame History 223 lines
f0106a3… leo 1 # Cloud Sources
f0106a3… leo 2
0981a08… noreply 3 PlanOpticon connects to 20+ source platforms for fetching videos, documents, and notes.
f0106a3… leo 4
f0106a3… leo 5 ## Google Drive
f0106a3… leo 6
f0106a3… leo 7 ### Service account auth
f0106a3… leo 8
f0106a3… leo 9 For automated/server-side usage:
f0106a3… leo 10
f0106a3… leo 11 ```bash
f0106a3… leo 12 export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"
f0106a3… leo 13 planopticon batch --source gdrive --folder-id "abc123" -o ./output
f0106a3… leo 14 ```
f0106a3… leo 15
f0106a3… leo 16 ### OAuth2 user auth
f0106a3… leo 17
f0106a3… leo 18 For interactive usage with your own Google account:
f0106a3… leo 19
f0106a3… leo 20 ```bash
f0106a3… leo 21 planopticon auth google
f0106a3… leo 22 planopticon batch --source gdrive --folder-id "abc123" -o ./output
f0106a3… leo 23 ```
f0106a3… leo 24
f0106a3… leo 25 ### Install
f0106a3… leo 26
f0106a3… leo 27 ```bash
f0106a3… leo 28 pip install planopticon[gdrive]
f0106a3… leo 29 ```
f0106a3… leo 30
0981a08… noreply 31 ## Google Workspace (gws)
0981a08… noreply 32
0981a08… noreply 33 Full Google Workspace integration beyond just Drive. Access Docs, Sheets, Slides, and Meet recordings through the `gws` CLI group.
0981a08… noreply 34
0981a08… noreply 35 ### Setup
0981a08… noreply 36
0981a08… noreply 37 ```bash
0981a08… noreply 38 planopticon auth google
0981a08… noreply 39 ```
0981a08… noreply 40
0981a08… noreply 41 A single Google OAuth session covers Drive, Docs, Sheets, Slides, and Meet.
0981a08… noreply 42
0981a08… noreply 43 ### Usage
0981a08… noreply 44
0981a08… noreply 45 ```bash
0981a08… noreply 46 # List all Google Workspace content
0981a08… noreply 47 planopticon gws list
0981a08… noreply 48
0981a08… noreply 49 # List only Google Docs
0981a08… noreply 50 planopticon gws list --type docs
0981a08… noreply 51
0981a08… noreply 52 # List Meet recordings
0981a08… noreply 53 planopticon gws list --type meet
0981a08… noreply 54
0981a08… noreply 55 # Fetch a specific file
0981a08… noreply 56 planopticon gws fetch abc123def --output ./downloads
0981a08… noreply 57
0981a08… noreply 58 # Ingest an entire Drive folder into a knowledge base
0981a08… noreply 59 planopticon gws ingest --folder-id abc123 --output ./kb --recursive
0981a08… noreply 60 ```
0981a08… noreply 61
0981a08… noreply 62 ## Microsoft 365 (m365)
0981a08… noreply 63
0981a08… noreply 64 Access OneDrive, SharePoint, Teams recordings, and Outlook content.
0981a08… noreply 65
0981a08… noreply 66 ### Setup
0981a08… noreply 67
0981a08… noreply 68 ```bash
0981a08… noreply 69 # Set your Azure AD app credentials
0981a08… noreply 70 export MICROSOFT_CLIENT_ID="your-client-id"
0981a08… noreply 71 export MICROSOFT_CLIENT_SECRET="your-client-secret"
0981a08… noreply 72
0981a08… noreply 73 # Authenticate
0981a08… noreply 74 planopticon auth microsoft
0981a08… noreply 75 ```
0981a08… noreply 76
0981a08… noreply 77 ### Usage
0981a08… noreply 78
0981a08… noreply 79 ```bash
0981a08… noreply 80 # List all Microsoft 365 content
0981a08… noreply 81 planopticon m365 list
0981a08… noreply 82
0981a08… noreply 83 # List only Teams recordings
0981a08… noreply 84 planopticon m365 list --type teams
0981a08… noreply 85
0981a08… noreply 86 # List SharePoint files from a specific site
0981a08… noreply 87 planopticon m365 list --type sharepoint --site "Engineering"
0981a08… noreply 88
0981a08… noreply 89 # Fetch a specific file
0981a08… noreply 90 planopticon m365 fetch item-id-123 --output ./downloads
0981a08… noreply 91
0981a08… noreply 92 # Ingest SharePoint content into a knowledge base
0981a08… noreply 93 planopticon m365 ingest --site "Engineering" --path "/Shared Documents" --output ./kb --recursive
0981a08… noreply 94 ```
0981a08… noreply 95
f0106a3… leo 96 ## Dropbox
f0106a3… leo 97
f0106a3… leo 98 ### OAuth2 auth
f0106a3… leo 99
f0106a3… leo 100 ```bash
f0106a3… leo 101 planopticon auth dropbox
f0106a3… leo 102 planopticon batch --source dropbox --folder "/Recordings" -o ./output
f0106a3… leo 103 ```
f0106a3… leo 104
f0106a3… leo 105 ### Install
f0106a3… leo 106
f0106a3… leo 107 ```bash
f0106a3… leo 108 pip install planopticon[dropbox]
0981a08… noreply 109 ```
0981a08… noreply 110
0981a08… noreply 111 ## YouTube
0981a08… noreply 112
0981a08… noreply 113 PlanOpticon can ingest YouTube videos by URL. Audio is extracted and transcribed, and any visible content (slides, diagrams) is captured from frames.
0981a08… noreply 114
0981a08… noreply 115 ```bash
0981a08… noreply 116 # Ingest a YouTube video
0981a08… noreply 117 planopticon ingest "https://www.youtube.com/watch?v=example" --output ./kb
0981a08… noreply 118
0981a08… noreply 119 # Ingest a playlist
0981a08… noreply 120 planopticon ingest "https://www.youtube.com/playlist?list=example" --output ./kb
0981a08… noreply 121 ```
0981a08… noreply 122
0981a08… noreply 123 YouTube ingestion uses `yt-dlp` under the hood. Install it separately if not already available:
0981a08… noreply 124
0981a08… noreply 125 ```bash
0981a08… noreply 126 pip install yt-dlp
0981a08… noreply 127 ```
0981a08… noreply 128
0981a08… noreply 129 ## Meeting recordings
0981a08… noreply 130
0981a08… noreply 131 Access cloud recordings from Zoom, Microsoft Teams, and Google Meet.
0981a08… noreply 132
0981a08… noreply 133 ### Zoom
0981a08… noreply 134
0981a08… noreply 135 ```bash
0981a08… noreply 136 # Set credentials and authenticate
0981a08… noreply 137 export ZOOM_CLIENT_ID="your-client-id"
0981a08… noreply 138 export ZOOM_CLIENT_SECRET="your-client-secret"
0981a08… noreply 139 planopticon auth zoom
0981a08… noreply 140
0981a08… noreply 141 # List recent Zoom recordings
0981a08… noreply 142 planopticon recordings zoom-list
0981a08… noreply 143
0981a08… noreply 144 # List recordings from a date range
0981a08… noreply 145 planopticon recordings zoom-list --from 2026-01-01 --to 2026-02-01
0981a08… noreply 146 ```
0981a08… noreply 147
0981a08… noreply 148 ### Microsoft Teams
0981a08… noreply 149
0981a08… noreply 150 ```bash
0981a08… noreply 151 # Authenticate with Microsoft (covers Teams)
0981a08… noreply 152 planopticon auth microsoft
0981a08… noreply 153
0981a08… noreply 154 # List Teams recordings
0981a08… noreply 155 planopticon recordings teams-list
0981a08… noreply 156
0981a08… noreply 157 # List recordings from a date range
0981a08… noreply 158 planopticon recordings teams-list --from 2026-01-01 --to 2026-02-01
0981a08… noreply 159 ```
0981a08… noreply 160
0981a08… noreply 161 ### Google Meet
0981a08… noreply 162
0981a08… noreply 163 ```bash
0981a08… noreply 164 # Authenticate with Google (covers Meet)
0981a08… noreply 165 planopticon auth google
0981a08… noreply 166
0981a08… noreply 167 # List Meet recordings
0981a08… noreply 168 planopticon recordings meet-list --limit 10
0981a08… noreply 169 ```
0981a08… noreply 170
0981a08… noreply 171 ## Notes sources
0981a08… noreply 172
0981a08… noreply 173 PlanOpticon can ingest notes and documents from several note-taking platforms.
0981a08… noreply 174
0981a08… noreply 175 ### Obsidian
0981a08… noreply 176
0981a08… noreply 177 Ingest an Obsidian vault directly. PlanOpticon follows wikilinks and parses frontmatter.
0981a08… noreply 178
0981a08… noreply 179 ```bash
0981a08… noreply 180 planopticon ingest ~/Obsidian/MyVault --output ./kb --recursive
0981a08… noreply 181 ```
0981a08… noreply 182
0981a08… noreply 183 ### Notion
0981a08… noreply 184
0981a08… noreply 185 ```bash
0981a08… noreply 186 # Set your Notion integration token
0981a08… noreply 187 export NOTION_API_KEY="secret_..."
0981a08… noreply 188
0981a08… noreply 189 # Authenticate
0981a08… noreply 190 planopticon auth notion
0981a08… noreply 191
0981a08… noreply 192 # Export knowledge base to Notion
0981a08… noreply 193 planopticon export notion --input ./kb --parent-page abc123
0981a08… noreply 194 ```
0981a08… noreply 195
0981a08… noreply 196 ### Apple Notes
0981a08… noreply 197
0981a08… noreply 198 PlanOpticon can read Apple Notes on macOS via the system AppleScript bridge.
0981a08… noreply 199
0981a08… noreply 200 ```bash
0981a08… noreply 201 planopticon ingest --source apple-notes --output ./kb
0981a08… noreply 202 ```
0981a08… noreply 203
0981a08… noreply 204 ### GitHub
0981a08… noreply 205
0981a08… noreply 206 Ingest README files, wikis, and documentation from GitHub repositories.
0981a08… noreply 207
0981a08… noreply 208 ```bash
0981a08… noreply 209 # Set your GitHub token
0981a08… noreply 210 export GITHUB_TOKEN="ghp_..."
0981a08… noreply 211
0981a08… noreply 212 # Authenticate
0981a08… noreply 213 planopticon auth github
0981a08… noreply 214
0981a08… noreply 215 # Ingest a repo's docs
0981a08… noreply 216 planopticon ingest "github://ConflictHQ/PlanOpticon" --output ./kb
f0106a3… leo 217 ```
f0106a3… leo 218
f0106a3… leo 219 ## All cloud sources
f0106a3… leo 220
f0106a3… leo 221 ```bash
f0106a3… leo 222 pip install planopticon[cloud]
f0106a3… leo 223 ```

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button