Grain
PricingCompareDocsChangelogDownload
Sign inDownload β†’
DOCSLast updated 2026-05-25
πŸ”Search the docsβ€¦βŒ˜K
Status β†—Β·ChangelogΒ·Download
END-TO-END DOCUMENTATION

Grain β€” every page in one document

Grain is a multi-agent command center. One operator delegates work to a coordinated swarm of specialized AI agents β€” Scout, Closer, Shield, Spark, Atlas, Pulse, Beacon, Forge, Sentinel, Scribe β€” that draft deliverables, run integrations, and post results back into whichever channel asked.

This page covers the full product end-to-end. If you're skim-reading, the Quick start gets you live in 10 minutes.

Quick start (10 minutes)

1. Create your workspace

Sign up at app.grain.sh. Pick a workspace name. You're in. No credit card required for the 30-day trial.

2. Install the desktop companion app

The desktop app runs your local executor β€” the process that picks up tasks and runs them on your machine (using your Claude Code / Codex / Gemini install). Tasks queue in Grain's cloud, but execution happens locally where your data lives.

Install, launch, sign in with the same account. See grain.sh/download for all builds and SHA256 sums.

3. Connect Slack

In Grain β†’ Settings β†’ Integrations β†’ click the Slack tile β†’ Connect β†’ approve on slack.com.

In Slack: /invite @Grain in any channel where you want the bot to listen.

4. Spawn your first task

In Slack:

@Grain summarize the last 24 hours in this channel

A live progress card appears within ~2 seconds and updates in place as the agent works. When done, the deliverable posts in the same thread.

DONE
You're live. The rest of this doc is depth.

How Grain works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ You (Slack / web / desktop / iOS)                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚ @Grain mention Β· Ask AI Β· API
                          β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Convex backend (cloud)                                   β”‚
β”‚ β€’ Receives mention                                       β”‚
β”‚ β€’ Routes to agent (delegator / explicit @scoped / RAG)   β”‚
β”‚ β€’ Creates task row                                       β”‚
β”‚ β€’ Posts live progress card                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚ task.status = "in_progress"
                          β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Local executor (your desktop)                            β”‚
β”‚ β€’ Polls every 5s for tasks assigned to its agents        β”‚
β”‚ β€’ Spawns Claude Code / Codex / Gemini / Superagent       β”‚
β”‚ β€’ Streams tool-call events back                          β”‚
β”‚ β€’ Submits final result                                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚ result + cost + artifact
                          β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Convex backend (cloud)                                   β”‚
β”‚ β€’ Updates task status                                    β”‚
β”‚ β€’ Posts completion card back to Slack thread             β”‚
β”‚ β€’ Persists Frame artifact                                β”‚
β”‚ β€’ Debits cost from credits ledger                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Why this split?

Your code, files, and credentials stay on your machine. Grain's cloud only sees task metadata (title, status, cost) β€” never the contents the agent reads or writes. You bring your own LLM keys, you run the agent loop locally, you keep the data.

OFFLINE FALLBACK
If your desktop is offline, a server-side fallback executor kicks in after 60s of executor silence + 2 minutes of task age. Uses Anthropic or OpenAI per org config. Disable in Settings β†’ AI β†’ Execution Engine for strict desktop-only.

The 10 named agents

Each agent has a role, a persona file (SOUL.md), and a set of attached skills. You can edit personas, route tasks to specific agents, or let the delegator pick.

AgentRoleBest at
ScoutResearchCompetitive intel, market scans, fact-finding
CloserSales opsDeal reviews, follow-up drafting, pipeline analysis
ShieldCompliancePolicy review, contract checks, risk flags
SparkMarketingCampaign drafting, brand voice, creative briefs
AtlasStrategyLong-form analysis, OKR rollups, exec briefs
PulseAnalyticsMetric dashboards, anomaly detection, weekly recaps
BeaconOutreachEmail drafting, sequence planning, personalization
ForgeEngineeringCode review, bug triage, dependency upgrades
SentinelOperationsOn-call triage, incident response, runbook execution
ScribeDocumentationMemos, runbooks, internal wiki entries

Routing

  • Default: Grain's delegator analyzes the request and routes to the best-fit agent.
  • Scoped: @Grain ATLAS draft a Q3 review β†’ goes directly to Atlas.
  • Project-pinned: tasks created inside a project default to that project's preferred agent.

Editing personas

Settings β†’ Agents β†’ click an agent β†’ Persona editor. Each agent has a SOUL.md β€” global personality + tone. Per-project AGENT.md overlays add project-specific context.

You are Spark β€” Grain's marketing agent.
Voice: confident, witty, never cute.
Always include one tasteful dry observation per draft.
Default to short paragraphs and bulleted lists over walls of text.

Slack integration

The Slack bot is Grain's primary surface for most users. Full feature set:

@Grain mention flows

You typeGrain does
@Grain helloPosts a greeting card with example commands
@Grain summarize today's dealsQuick OpenAI answer in ~2s
@Grain create a task: draft Q3 briefAsks: Quick reply or Send to agent?
@Grain ATLAS write a competitive memo on AcmeRoutes directly to Atlas, full pipeline
@Grain plan a task from this threadReads thread, proposes structured breakdown with βœ…/❌ buttons
@Grain remind me Tuesday morning to follow upParses time, schedules reminder
@Grain remind me DM at 5pmPrivate DM reminder, not posted in channel

Routing confirmation

When you say β€œcreate a task,” Grain doesn't just spawn one β€” it asks:

  • ⚑ Quick reply β€” gpt-4o-mini, inline reply in ~2s, no task row, no executor. Costs ~$0.0001. Good for β€œdraft an email,” β€œsummarize last week's standup.”
  • πŸ€– Send to agent β€” creates a real task, runs the full agent pipeline on your executor, progress streams back to the thread, deliverable posts when done. Good for β€œresearch competitors,” β€œbuild a battlecard,” β€œreview the codebase.”

Long requests (>800 chars) skip the confirmation and go straight to agent β€” clearly not a quick-answer at that size.

Thread continuation

Reply in any thread Grain opened β€” your text appends to the running task's conversation. The agent picks up the new context on its next round. No need to switch to the web app.

Channel monitoring (opt-in)

In Settings β†’ Integrations β†’ Slack β†’ Monitored channels, tick channels like #bugs or #support. Grain passively classifies every top-level message via gpt-4o-mini:

  • Looks like a bug β†’ posts a card: β€œπŸ› File this in Linear?” with βœ…/❌
  • Looks like a feature request β†’ same flow but tagged Feature
  • Looks like noise β†’ silent

Click βœ… β†’ real Linear issue created with title, body, priority, type, link back to the Slack thread.

Cost: ~$0.0001 per message classified. Default OFF for every channel β€” opt in per channel.

Strict @mention policy

Grain is silent in channels unless explicitly tagged. No autonomous task creation from random chatter. Three paths to act:

  • @Grain mention β€” always responds
  • Thread reply to a Grain-started thread β€” appends to that task
  • Monitored channel (you opted in) β€” classifier fires on top-level messages

Everything else: ignored.

Installation (manual fallback)

If your org doesn't have SLACK_CLIENT_ID configured (rare β€” only for self-hosted Grain), follow the manual setup. We provide a paste-ready manifest at docs/slack-app-manifest.yaml β€” paste at api.slack.com/apps β†’ From a manifest. Then add the redirect URL https://app.grain.sh/api/slack/callback and paste the Bot Token + Signing Secret in Settings.

Other integrations

Native β€” built by Grain, one-click OAuth

IntegrationWhat agents can do
Slack12 tools β€” post, DM, react, schedule, summarize, search, etc.
GitHubRead repos, list PRs, file issues, search code
LinearCreate + list + update issues, query by team / project / cycle
NotionRead pages, search workspace, create new pages
HubSpotQuery contacts / deals / companies, log activities
StripeRead payments, refunds, subscriptions (read-only by default)

Each tile in Settings β†’ Integrations has Connect / Manage / Disconnect with a confirmation dialog. Disconnect is a full teardown β€” revokes the OAuth token, disables the tools, stops notifications.

Community long-tail β€” via Composio

3,200+ apps available through Composio. Toggle on toolkits (Mailchimp, Trello, Calendly, Zoho, etc.) in Settings β†’ Integrations. First-time use opens app.composio.dev/apps for OAuth on Composio's hosted page; subsequent calls just work.

MCP servers (advanced)

Add custom MCP servers from the public catalog or your own self-hosted ones at Settings β†’ MCP Catalog. Run any stdio / SSE / streamable-http server alongside Grain's native tools.

Notification channels

ChannelUse it for
SlackDefault β€” posts task updates, approval requests, scheduled reports
TelegramMobile-first notifications
WhatsAppPersonal phone notifications
Microsoft TeamsEnterprise teams
Web pushBrowser notifications when the app isn't open
iOS pushNative iOS app (in beta)

Tasks & execution

Task lifecycle

backlog β†’ todo β†’ in_progress β†’ testing β†’ review β†’ done

Most tasks skip straight from creation to in_progress (executor picks up immediately). The intermediate states are for tasks that require human approval gates or have explicit testing phases.

How execution works

When a task hits status: "in_progress":

  • Local executor (running on your desktop) polls every 5s for assigned tasks
  • Picks the right backend per agent config: claude-code, codex, gemini, superagent, or auto
  • Spawns the backend CLI with your env keys
  • Streams tool-call events back via /api/executor/result
  • Submits final deliverable + cost

Backend selection

BackendBest forCost
claude-codeCode, file ops, multi-step planning$$$ (Sonnet 4.5)
codexOpenAI-native, tool-use, quick research$$ (gpt-5-mini / gpt-4o)
geminiLong context (1M tokens), research$$ (Gemini 2.5 Pro)
superagentContinuous agents with memory + skills (Hermes runtime)varies
autoGrain picks per task via Smart Task Routingoptimized

Set per-agent in Settings β†’ Agents β†’ Backend, or per-task via the task creation form.

Approval gates

Tasks can require human approval before they finish. Common patterns:

  • Plan approval β€” agent posts a plan, waits for βœ… before executing
  • Decision approval β€” agent finishes, posts a deliverable, waits for βœ… before marking done
  • Risky-action approval β€” agent flags dangerous actions (file deletion, PR merge, etc.) inline

Approvals appear in Slack, the web app's Approvals tab, the iOS app, or via email.

Parallel multi-engine racing

Optional β€” enable in Settings β†’ Execution. Grain runs your task on multiple backends simultaneously (Claude Code + Codex + Gemini) and ships the first acceptable result. Costs more but cuts time-to-deliverable by ~40%.

Server-side fallback

When your local executor has been silent for >60s, a server-side fallback executor takes over. Uses your ANTHROPIC_API_KEY (or OPENAI_API_KEY). Configure in Settings β†’ AI β†’ Execution Engine β†’ Cloud fallback.

Frames β€” shareable artifacts

Frames are Grain's shareable artifact format. Every agent deliverable that isn't pure text is rendered as a Frame:

  • Brief β€” research memos, competitive battlecards, exec summaries
  • Dashboard β€” block-based data widgets (KPIs, charts, tables)
  • Report β€” weekly recaps, scheduled outputs, recurring summaries
  • Memo β€” long-form analysis with sections + citations
  • Battlecard β€” sales objection-handling, win/loss patterns

Each Frame has

  • A canonical URL (app.grain.sh/briefs/<id>)
  • PDF export for offline sharing
  • Share token for read-only public links (no auth required)
  • Embed widget for dropping into Notion, Confluence, your own site

Frames render the same way everywhere β€” Slack file deliverable, email attachment, web view β€” because they're all served from one Frame source.

Settings reference

The Settings page is organized into seven left-rail tabs. Deep-link any of them via the URL path, e.g. app.grain.sh/settings/ai.

AI & Models β€” /settings/ai

  • Execution Engine β€” pick the default LLM provider, set BYO API keys (Anthropic, OpenAI, Google, etc.)
  • Smart Task Routing β€” rules that route specific task types to specific models
  • Model Triage β€” fallback chain when primary model is rate-limited
  • Retry Escalation β€” auto-upgrade to a stronger model on retry
  • AI Intelligence β€” quality gates, confidence thresholds, auto-iteration caps

Agents & Skills β€” /settings/agents

  • Agent Tools (MCP) β€” add MCP servers, configure per-agent tool access
  • Superagent (beta) β€” opt-in Hermes runtime for persistent continuous agents

Execution β€” /settings/execution

  • Execution Backend β€” set per-agent backend (claude-code / codex / gemini / superagent)
  • Parallel Multi-Engine β€” toggle racing
  • Superpowers β€” enable cross-task memory, skill auto-creation
  • Gstack β€” Grain-native code execution sandbox (E2B)

Workspace β€” /settings/workspace

  • Git Configuration β€” repos agents can clone, branch naming rules
  • Custom Branding β€” your logo, color palette, fonts (shown in Frames + Slack cards)

Knowledge β€” /settings/knowledge

  • Knowledge Base β€” internal wiki entries agents read at task start
  • Connected Sources β€” RAG-indexed sources (Notion, Google Drive, Slack history, etc.)

Automation β€” /settings/automation

  • Scheduled Reports β€” recurring agent tasks (weekly metrics, daily standups, monthly summaries)
  • Notification Settings β€” which events route to which channels

System β€” /settings/system

  • Environment Variables β€” per-org env vars exposed to the executor
  • Mobile Access β€” iOS app pairing
  • API Tokens β€” for programmatic Grain access

Pricing

PlanPriceWhat you get
Starter$49 / user / month3 named agents (Scout, Closer, Spark) Β· 500 agent tasks/mo Β· Slack + email integrations Β· Standard KB + RAG Β· Community support
Growth$99 / user / monthAll 10 named agents Β· 2,500 agent tasks/mo Β· All integrations (Slack, Linear, HubSpot, GitHub, Notion, Stripe + 3,200+ via Composio) Β· Plan-from-thread, scheduled reminders, monitored-channel auto-triage Β· Parallel multi-engine racing Β· Priority queue + email support
Enterprisefrom $2,000 / monthUnlimited tasks Β· SSO / SAML Β· Audit log + retention controls Β· On-prem deploy option Β· BYO LLM keys for data residency Β· Dedicated Slack channel + named CSM Β· 99.9% uptime SLA

All plans: 30-day free trial, no card required. Annual billing saves 20%. See grain.sh/pricing for the full breakdown.

Security & data

Where your data lives

  • Task metadata + agent state β€” Convex backend (cloud)
  • Agent execution β€” your local desktop (default) or our server fallback (opt-in)
  • Code, files, credentials the agent reads β€” your machine, never leaves
  • LLM API calls β€” your BYO keys or Grain's pooled keys (your choice)

Authentication

  • Email + password (default)
  • Google OAuth
  • SSO / SAML (Enterprise)
  • 2FA available on all plans

Audit

  • Every agent action logged with timestamp, user, agent ID, tool call, cost
  • Costs Dashboard breaks down by agent / task / provider / day
  • ROI Dashboard correlates agent output to business outcomes

Compliance

  • SOC 2 Type II (in progress, targeting Q4 2026)
  • GDPR-compliant data handling
  • Per-org data residency (Enterprise)
  • No training on customer data β€” your prompts + outputs never feed model training

FAQ

Why local execution? Isn't cloud easier?

Because your code, customer data, and credentials are too sensitive to leave your machine. Grain's cloud orchestrates the work β€” your machine does the work. You get the convenience of a SaaS task manager with the privacy of self-hosted execution.

Can I use Grain without a desktop app?

Yes β€” toggle on cloud fallback in Settings. Server-side executor picks up tasks when your desktop is offline. Uses your BYO API key.

Which LLM is best?

Depends on the task. Smart Task Routing picks for you. Defaults:

  • Slack quick-answer: OpenAI gpt-4o-mini
  • Long agent tasks: Claude Sonnet 4.5 via Claude Code CLI
  • Massive-context research: Gemini 2.5 Pro

Can I bring my own model?

Yes via OpenRouter or any OpenAI-compatible endpoint. Set in Settings β†’ AI β†’ Custom Provider.

How do I get Grain on my phone?

iOS app in beta β€” pair via Settings β†’ Mobile Access on the web app. Android app shipping Q3 2026. In the meantime, mobile Slack works perfectly β€” every Grain interaction is available there.

What happens if I cancel?

Your workspace stays read-only for 90 days. Export all tasks, Frames, and chat history via Settings β†’ Workspace β†’ Export. After 90 days, data is permanently deleted.

Self-hosted option?

Yes for Enterprise. Run Grain on your own Convex deployment, your own infrastructure. We provide the Docker Compose stack + ops support.

Get help

← ChangelogDownload Grain β†’
Was this helpful? Yes Β· No Β· Email support
Grain

The multi-agent command center. Hire an entire AI team in 30 seconds.

Product
BriefsAgentsFramesAgent FleetRemote Control
Platform
OverviewChannelsSkillsKnowledgePricing
Resources
DownloadDocsChangelogStatusDiscord
Compare
vs OpenClawvs Claude Codevs Viktorvs Codexvs ChatGPTvs Tasklet
Company
AboutCareersPressSecurityPrivacy
Β© MMXXVI Β· GRAIN Β· SAN FRANCISCOSOC 2 TYPE IIHIPAAGDPR