Skip to main content
Each cookbook here is a multi-integration recipe. The point isn’t “agent reads one tool” — that’s a chatbot. The point is what one sandbox lets you compose when five sources feed the same knowledge graph.

Why does this code exist?

Paste a function. Agent returns the PR, the Slack debate, the Linear ticket, the Notion RFC, and the Drive spec that shaped it. GitHub + Slack + Linear + Notion + Drive.

Kill your standups

Every morning, agent weaves commits + Linear moves + Slack activity + calendar + Notion edits into a per-person standup post. 5 sources, one paragraph each.

Ship a feature across 3 repos

Index three repos with the CLI, hand the agent a feature request. It plans the change, opens a PR in each repo, and links them in the right order. The agentic developer flow, finally.

Customer health radar

Intercom + Slack + HubSpot + Stripe + Zendesk + GitHub. Agent ranks at-risk accounts with cross-source corroboration. Single-source signals are noise.

Post-mortem in 60 seconds

PagerDuty + Slack + GitHub deploys + Datadog + Linear. Agent reconstructs the timeline while the incident call is still going. 5 witnesses, one story.

Why these are the patterns that matter

Every recipe above has the same shape:
  1. Connect 5–6 integrations to one sandbox.
  2. Let Copass link entities across them during ingestion — PR → ticket → Slack thread → doc.
  3. Ask the agent a question that spans all of them. The answer is a narrative, not a search result.
That’s the move. Any single integration is a Zapier. Five integrations plus a graph that links them is a memory layer for your company — and nobody has to build the joins.

Before you start

Every cookbook assumes you’ve bootstrapped Copass once:
npm install -g @copass/cli
copass login
copass setup
copass apikey create --name my-app
And that these env vars are set:
export COPASS_API_KEY=olk_...
export COPASS_SANDBOX_ID=sb_...
Integrations use slugs from Pipedream’s 3,000+ app catalog. When you’re not sure what to pass to connect(), hit router.integrations.catalog({ q: '...' }) for the live list.

How the recipes are structured

Every page follows the same shape:
  1. What you’ll build — one paragraph, the end result.
  2. The code — copy-paste, runs as-is with the env vars above.
  3. What’s happening — two or three callouts on the integrations-heavy lines.
  4. Make it yours — one or two simple edits. Usually a different SaaS slug; same prompt.
No surprises, no hidden steps.