English
Data Connections
Overview

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

ConnectorDirectionTriggerData Type
NotionPullIncremental syncPages / databases → Markdown / JSON
GitHubPullIncremental syncRepos / Issues / PRs → JSON
GmailPullScheduled pollingEmails → JSON
Google DrivePullManual / scheduledFiles → Markdown / JSON
Google DocsPullManual / scheduledDocuments → Markdown
Google SheetsPullManual / scheduledSheets → JSON
Google CalendarPullScheduled pollingCalendar events → JSON
LinearPullManualIssues / projects → JSON
AirtablePullFull syncTables → JSON
PostHogPullManualEvents / users / insights → JSON
Database ConnectionPullManualDatabase tables → JSON
Local FolderBidirectionalReal timeLocal files ↔ content nodes
File UploadPullOne-time importPDF / DOCX / images → Markdown
Web CrawlingPullOne-time importPublic 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

  1. Open your Project → click ConnectionsAdd Connection
  2. Choose a data source and complete OAuth authorization (or paste an API key)
  3. Select the resources to sync, such as pages, repositories, or mailbox labels
  4. 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 ls

After syncing finishes, the data appears in your Project file tree and can be accessed directly through MCP or the API.