Legal · Self-hostable

AI teammates for contract review.

Review new contracts for risk, flag clauses that need counsel approval, and file a review ticket.

Connects to
ChannelDiscordGitHubGmailGoogle CalendarGoogle ChatHacker NewsLinearMicrosoft TeamsPostgreSQLProduct HuntRedditRepositoryRSS / AtomSlackTelegramWhatsApp CloudX (Twitter)YouTube+3 more
How it works

From source changes to shared memory.

Connect the systems this teammate can read, define its goal, and keep every result grounded in current, scoped context.

1

Connect your data

Pick the systems it can read. Lobu turns those updates into live customer memory.

DocuSignGoogle DriveGmailJira50+ more
Reuse a prebuilt connector, or point Lobu at any database you use.
Your agent writes code to parse contracts and clauses.
1,860 eventsConnector SDK
2

Define the goal

Tell it what to watch for and when to ask before acting.

“Review new contracts for risk, flag clauses that need counsel approval, and file a review ticket.”

Runs unattended · files to #legal-reviews.Watchers
3

Lobu works autonomously

It scans memory on schedule, spots the account at risk, and keeps the evidence attached.

Live contract memory · 26 contractscontract
Redwood NDA v2
Counterparty · Redwood
counsel review
clauses 9 · §7 flaggedstage pre-signature
Derived from recent events:
Uploaded NDA v2 for signature review
2h ago · Redwood
Updated indemnity language in §7
2h ago · DocuSign
Lena needs a readout before the call
1h ago · Slack
Acme MSAclear
Globex DPAclear
+ 24 more contractsMemory & entities
4

You review and approve

You can edit the draft, send it, or leave it.

L
Legal agent
online
Heads up: Redwood NDA §7 has uncapped indemnity, the same pattern that blocked the Acme NDA in September. It needs counsel sign-off before you countersign. Want me to file a review ticket?12:01
Yes, assign it to Priya.12:01
Filed REV-88 with Priya and linked §7 to the Redwood record. Posted to #legal-reviews.12:01
Replies in your team's chat, or your own app over the API:
For engineers

The whole agent, in code.

One project defines it end to end: the agent, its connectors, the memory schema, watchers, and skills. Write it yourself, or let your coding agent generate it. Pick a piece to read the code.

lobu.config.tslobu.config.ts
import {
  connectorFromFile,
  defineAgent,
  defineConfig,
  defineEntityType,
  defineRelationshipType,
  defineWatcher,
  secret,
} from "@lobu/cli/config";
import type DocuSignEnvelopesConnector from "./docusign-envelopes.connector.ts";

const legalReview = defineAgent({
  id: "legal-review",
  name: "legal-review",
  description:
    "Review contracts, summarize risk, and surface missing protections",
  dir: ".",
  providers: [
    {
      id: "anthropic",
      model: "claude/sonnet-4-5",
      key: secret("ANTHROPIC_API_KEY"),
    },
  ],
  network: {
    allowed: [
      "github.com",
      ".github.com",
      ".githubusercontent.com",
      "registry.npmjs.org",
      ".npmjs.org",
    ],
  },
});

// entity types and relationships defined here…

const contractReviewTracker = defineWatcher({
  agent: legalReview,
  slug: "contract-review-tracker",
  name: "Contract review tracker",
  schedule: "0 8 * * 1-5",
  notification: { priority: "high" },
  tags: ["legal", "contract", "daily"],
  minCooldownSeconds: 1800,
  reactionsGuidance:
    "For any contract with `status: needs_counsel`, route an entity-scoped event\nto the assigned reviewer. For contracts >90 days unsigned, escalate to the\ncounterparty owner; never auto-resolve risk items.\n",
  prompt:
    "Review active contracts for approaching deadlines, unsigned agreements, and unresolved risk items. Flag any clauses that still need counsel approval.\n",
});

export default defineConfig({
  connectors: [
    connectorFromFile<typeof DocuSignEnvelopesConnector>(
      "./docusign-envelopes.connector.ts"
    ),
  ],
  org: "legal-review",
  orgName: "Legal",
  orgDescription:
    "Review contracts, summarize risk, and surface missing protections",
  agents: [legalReview],
  entities: [clause, contract, counterparty, risk],
  relationships: [belongsToCounterparty, containsClause, createsRisk],
  watchers: [contractReviewTracker],
});
04/EXAMPLES ]

Explore agent workflows.

Each example shows the sources, the memory, and the action for one AI teammate. Same loop — connect, watch, act — pointed at a different job.

01Sales

Tracks account health, rollout progress, and renewal signals across the customer base.

Sources
HubSpotStripeZendesk
Draftsa CSM check-in when a renewal nears and health drops.
Fork this agent →
02Legal

Reviews incoming contracts, summarizes risk, and surfaces missing protections before sign-off.

Sources
DriveGmailDocuSign
Flagsmissing clauses and routes them for review.
Fork this agent →
03Finance

Reconciles data across systems, explains variance, and prepares recurring reporting runs.

Sources
StripeSnowflakePostgres
Preparesa variance summary ahead of the monthly close.
Fork this agent →
07/RUN ANYWHERE ]

Local, self-hosted, or managed.

The same project runs on your laptop, in your cloud, or fully managed by lobu — your data and controls stay wherever you need them.

Local

Run on your laptop.

One command boots the gateway, workers, memory, and embeddings.

Self-host

Run in your cloud.

Docker, a cloud VM, or Kubernetes when data and controls need to stay with you.

lobu Cloud

Let lobu run it.

The same project with managed isolation, secrets, and upgrades — nothing to operate.

09/FROM THE BLOG ]

Latest blog posts

Give every teammate a colleague.

Paste the setup prompt into Claude Code — lobu.config.ts, role files, and channels land in your repo. Ship it today.

Start building
Status:// provisioning…