INTEGRATION FILESYSTEM FOR AGENTS

Relayfile
gives agents files

Mount Linear, GitHub, Notion, Slack, HubSpot, Salesforce, and your own systems as a realtime filesystem. Agents inspect provider data with bash, write records by saving files, and coordinate through scoped mounts instead of bespoke tool glue.

relayfile workspace
workspaceshared volume
/planswatching
brief.mdupdated 2s ago
tasks.jsonlocked by Builder
deploy.logstreaming
WATCH/plans
WRITE/docs/spec.md
LOCK/tasks.json

The file interface for integration work

Relayfile turns the systems where work happens into paths an agent can list, read, grep, edit, and watch.

01

Provider files

Mount Linear issues, GitHub PRs, Notion pages, Slack channels, and SaaS records as ordinary paths.

02

File writeback

Create, patch, and delete provider records by saving files. Adapters validate changes and queue writeback.

03

Realtime sync

Every writer publishes a new revision so other agents see fresh state on their next read.

04

Scoped mounts

Give each agent path-level read, write, watch, or admin permissions instead of broad provider credentials.

05

Deterministic digests

Precompute high-value rollups like yesterday.md so agents start with the answer-shaped file.

06

Native tools

Agents use cat, grep, find, jq, rg, and editors against a real local mount or the HTTP API.

Mount the systems agents actually use

Provider auth, pagination, sync, and writeback stay behind the mount. The agent sees one workspace tree with layouts, indexes, digests, and provider records side by side.

LinearGitHubNotionSlackHubSpotSalesforceGoogle DriveGmailComposioPipedreamNangoCustom APIs
SDK

Use the same files from code, HTTP, or a mount

Vercel AI SDK, Claude Agent SDK, OpenAI Agents SDK, scripts, and terminal-native agents can all read the same workspace tree and write through the same contract.

Attach a hosted workspace inside Daytona, E2B, CI, or your own sandbox.
Gate startup on provider readiness before the agent begins work.
The agent receives a normal directory plus environment variables.
Mount SDK
import { RelayfileSetup } from '@relayfile/sdk';

const setup = new RelayfileSetup({
  accessToken: process.env.RELAYFILE_ACCESS_TOKEN!,
});

const handle = await setup.ensureMountedWorkspace({
  workspaceId: 'rw_123',
  provider: 'notion',
  verifyProvider: true,
  localDir: '/workspace/relayfile',
});

console.log(handle.env().RELAYFILE_LOCAL_DIR);

Why Relayfile

Purpose-built for agents that need to work across real SaaS systems.

01

No schema tax

Agents open the files they need instead of loading a large typed tool surface for every connected provider.

02

Useful writes

Provider updates are file operations with validation, retries, and audit trails handled by the integration layer.

03

Multi-agent by default

Reviewer, implementer, and orchestrator agents can all mount the same workspace and react to the same revisions.

Get useful in three moves

Connect a provider, read the generated workspace, then write back through the same file interface. The first useful workflow is a directory listing, not a framework migration.

01

Connect a provider

npx relayfile setup \
  --provider notion \
  --workspace research-room \
  --local-dir ./relayfile-mount
02

Read the tree

ls ./relayfile-mount
cat ./relayfile-mount/LAYOUT.md
cat ./relayfile-mount/digests/yesterday.md
03

Write back

cat > ./relayfile-mount/linear/issues/drafts/follow-up.json <<'JSON'
{
  "title": "Follow up from digest",
  "state": "Todo"
}
JSON
Powered by Agent Relay

Relayfile extends the Agent Relay platform with shared storage for agents that communicate, coordinate, and act on the same files.