Sync Connectors
Mount external data sources into your Context File System.
What is a sync connector
A sync connector is not a one-time data import. It is an ongoing sync relationship. Each connector has a direction and a trigger mode so your Context File System stays in sync with the outside world.
After data is synced in, it is converted into structured JSON or Markdown content nodes and stored in your Project. Agents can query and use it directly.
Supported connectors
| Connector | Direction | Trigger | Data Type |
|---|---|---|---|
| Notion | Pull | Incremental sync | Pages / databases → Markdown / JSON |
| GitHub | Pull | Incremental sync | Repos / Issues / PRs → JSON |
| Gmail | Pull | Scheduled polling | Emails → JSON |
| Google Drive | Pull | Manual / scheduled | Files → Markdown / JSON |
| Google Docs | Pull | Manual / scheduled | Documents → Markdown |
| Google Sheets | Pull | Manual / scheduled | Sheets → JSON |
| Google Calendar | Pull | Scheduled polling | Calendar events → JSON |
| Linear | Pull | Manual | Issues / projects → JSON |
| Airtable | Pull | Full sync | Tables → JSON |
| PostHog | Pull | Manual | Events / users / insights → JSON |
| Database Connection | Pull | Manual | Database tables → JSON |
| Local Folder | Bidirectional | Real time | Local files ↔ content nodes |
| File Upload | Pull | One-time import | PDF / DOCX / images → Markdown |
| Web Crawling | Pull | One-time import | Public web pages → Markdown |
Sync directions
Pull: External data → PuppyOne
- Best for SaaS sources like Notion, GitHub, and Gmail
- Data is available to agents in a read-only or queryable form
Bidirectional: External ↔ PuppyOne
- Best for local folder sync
- Data modified by agents in PuppyOne can be synced back to your local folder
How to add a connector
Via the Dashboard
- Open your Project → click Connections → Add Connection
- Choose a data source and complete OAuth authorization (or paste an API key)
- Select the resources to sync, such as pages, repositories, or mailbox labels
- Click Start Sync and wait for the first sync to finish
Via the CLI
Use the puppyone conn add command to add connections quickly:
# Add a Notion connection (OAuth required first)
puppyone conn add notion <notion-url>
# Add a GitHub connection
puppyone conn add github <repo-url>
# Add a local folder connection
puppyone conn add folder ~/workspace --name "My Workspace"
# Add a PostHog connection
puppyone conn add posthog --api-key phx_xxx --config '{"project_id":"123","mode":"events"}'
# List all connections
puppyone conn lsAfter syncing finishes, the data appears in your Project file tree and can be accessed directly through MCP or the API.