Enterprise Data Connectors
The enterprise connector pack extends the open-source Data Providers API with cloud-storage, source-control, and team-chat sources. The REST surface is identical — create, list, update, delete, and trigger sync calls work the same. Only the available provider_type values change.
Connector Types
| Type | Description | Typical Connection Args |
|---|---|---|
local_fs | Filesystem watch backed by the connectors VFS catalog (watches for changes, deduplicates blobs, supports include/exclude globs) | root_path, watch, include_globs, exclude_globs |
s3 | Amazon S3 bucket | bucket, prefix, region, endpoint_url |
github | GitHub repository: code, issues, PRs, releases, wikis | repo, branch, include_issues, include_prs, token |
gdrive | Google Drive folder | folder_id, oauth_refresh_token |
dropbox | Dropbox folder | folder_path, oauth_refresh_token |
slack | Slack workspace — channels and DMs | workspace_id, channels, include_dms, oauth_token |
teams | Microsoft Teams — channels and chats | tenant_id, team_id, channels, oauth_token |
discord | Discord guild text channels | guild_id, channels, bot_token |
web_scraper | URL list or sitemap crawler with optional link-following | urls, depth, follow_links, same_domain_only |
manual_upload | Catch-all bucket for client-uploaded blobs | mime_filters, max_size_bytes |
Connection-arg shapes are documented per-connector inside the memorylayer-data-connectors package. The OAuth-bearing connectors (gdrive, dropbox, slack, teams) use refresh tokens stored in encrypted_args rather than long-lived access tokens.
Example: GitHub Repository
curl -X POST "$MEMORYLAYER_URL/v1/data-providers" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "scitrera/memorylayer", "provider_type": "github", "connection_args": { "repo": "scitrera/memorylayer", "branch": "main", "include_issues": true, "include_prs": true }, "encrypted_args": { "token": "ghp_..." }, "schedule": "0 */6 * * *" }'Example: Slack Workspace
curl -X POST "$MEMORYLAYER_URL/v1/data-providers" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Eng Slack", "provider_type": "slack", "connection_args": { "workspace_id": "T01234567", "channels": ["eng-platform", "eng-releases"], "include_dms": false }, "encrypted_args": { "oauth_token": "xoxp-..." }, "schedule": "*/30 * * * *" }'Example: S3 Bucket
curl -X POST "$MEMORYLAYER_URL/v1/data-providers" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Research Papers S3", "provider_type": "s3", "connection_args": { "bucket": "research-papers", "prefix": "published/", "region": "us-east-1" }, "encrypted_args": { "aws_access_key_id": "AKIA...", "aws_secret_access_key": "..." }, "schedule": "0 2 * * *" }'Deployment Model
The connectors run inside a separate data_connectors server (typically reachable via Aether). The core MemoryLayer server proxies create / list / sync requests to it; sync workers stream content through a VFS catalog and into the documents pipeline. Operators do not need to expose the connectors process directly to end users — only the core server’s /v1/data-providers endpoint is consumed by clients.
Contact memorylayer.ai for access to the enterprise connector pack and deployment templates.
Related Pages
- Data Providers — the open-source
/v1/data-providersREST surface - Document Ingestion — how connector-sourced documents flow into memories