Market · Self-hostable

Company context for market intelligence.

Pull new funding, launches, and market signals on portfolio and watchlist companies, and surface what to track next.

Try it
Connects to
DiscordGitHubGmailGoogle CalendarGoogle ChatHacker NewsLinearMicrosoft TeamsPostgreSQLProduct HuntRedditRSS / AtomSlackTelegramWhatsApp CloudX (Twitter)YouTube+3 more
03/LOBU RUN ]

One company layer, in 4 steps.

See how organizations, financing projections, and source events connect without role-specific identity types.

01

Connect your company.

Connectors stream your databases, SaaS tools, files, devices, and internal APIs into context. Your systems of record stay where they are. Models, sandboxes, and devices are independent layers, credentials gateway-side. Flip the tabs to wire each one.

Connectors ↗
+50 built-in — or your agent writes one ↗
Crunchbase updates become events in the same shared context.
feed · event → shared memoryentity
Crunchbase
updateLovable closed $15M Series Anow
02

Turn activity into governed context.

Raw events resolve into people, customers, projects, policies, and goals, with the relationships between them. Every fact from the connectors above converges on the right record, carries its provenance, and is read under the caller's permissions.

Memory ↗
memory
Investment organization
idPK
organization_type
thesis
Operating organization
idPK
organization_type
stage
Funding round projection
idPK
round_type
amount_usd
Market signal event
idPK
entity_idsFK
signal_type
03

Deploy Behaviors that watch and act.

A trigger — a schedule, or reactive to connector events — plus a plain-language prompt. Once defined it runs unprompted: scans memory, matches the trigger, and surfaces the work with the evidence attached.

Behaviors ↗
behavior
triggers⏱ ScheduleDaily · 8:00 AM⚡ On eventLovable closed $15M Series A
prompt

Each morning, scan @company for and . When a signal matches the thesis, draft an IC memo and ping the @investor who owns it.

@ connector@ entityReferences resolve to the sources and types you defined above.
04

Use it from any agent.

ChatGPT, Claude, and Codex connect over MCP; Slack, Teams, and WhatsApp over chat; your own apps over the API. Same context, same permissions, whoever's asking. Consequential work arrives as a proposal you review, edit, and approve.

Platforms ↗
#deal-flowLovable
lobujust now

New round · Lovable

  • $15M Series A led by Accel
  • Already in portfolio
  • Warm intro via Adam K. (ex-Replit)

Drafted an IC memo for Adam with the warm path. Review before I post it:

Draft · IC memo
Lovable closed a $15M Series A led by Accel — already in portfolio. Track v0, Bolt, Replit Agent as peer signals. Warm path: Adam K. (ex-Replit). Recommend IC review this week.

The multiplayer operating layer for agents.

A harness makes one agent run. Lobu gives every agent the shared company environment around it — context, identity, permissions, events, interactions, approvals, actions, and audit. Bring Claude, Codex, ChatGPT, Slack agents, or your own runtime over MCP and APIs. Use Lobu's optional runtime when you also want Lobu to run a proactive agent. See how it compares →

02/UNDER THE HOOD ]

One control plane. Any agent.

Any agent can use Lobu's shared context, identity, permissions, interactions, approvals, and connected actions. Add the optional inference and sandbox runtime when you want Lobu to run proactive agents too — with evals, deployment, and observability built in.

Halftone figure: multi-socket plug bank
Halftone figure: stacked storage drives
Halftone figure: inference orb with orbiting nodes
Halftone figure: sealed container with a keyhole
Halftone figure: clipboard checklist with checkmarks
Halftone figure: freight container on a crane hook
Halftone figure: oscilloscope with waveform
01·CONNECTORS

Plug into everything.

20+ connectors (Slack, GitHub, Gmail, Linear, Postgres and more) stream events in, and actions flow back out under scoped identities. Anything with an API fits the connector SDK.

For engineers

The same agent, in code.

The use case above is one project: connections, entity types, behaviors, and agent configuration. Inspect each piece or let your coding agent generate it.

lobu.config.tslobu.config.ts
import {
  connectorFromFile,
  defineAgent,
  defineConfig,
  defineSkill,
  defineEntityType,
  defineRelationshipType,
  defineBehavior,
  reactionFromFile,
  secret,
} from "@lobu/cli/config";
import type ExaNewsFeedConnector from "./exa-news-feed.connector.ts";
import type founderActivityTrackerReaction from "./founder-activity-tracker.reaction.ts";

const founderActivityTrackerSkill = defineSkill({
  name: "founder-activity-tracker",
  content:
    "You are a venture capital analyst tracking the public activity of startup founders in your portfolio.\n\nThe founders are the entities bound to this Behavior — the payload's `entities` array lists each founder's name, type, and ID. Their recent public activity arrives in the payload's `founder_posts` source.\n\nProduce a structured founder activity report:\n1. **Executive Summary**: 2-3 sentence overview of founder activity and signals.\n2. **Per-Founder Analysis**: For each active founder, summarize their messaging themes, engagement level, and signals about company direction.\n3. **Cross-Portfolio Patterns**: Themes multiple founders discuss.\n4. **Notable Signals**: Flag potential announcements, strategic shifts, or concerns.\n\nBe specific and cite actual tweets/posts as evidence.\n",
});

const opportunityMatcherSkill = defineSkill({
  name: "opportunity-matcher",
  content:
    "You are a community intelligence agent for a private founder community managed by a venture capital fund.\nYour job is to monitor founder activity and identify high-quality introduction opportunities between portfolio founders.\n\nThe community members are the entities bound to this Behavior — the payload's `entities` array carries each member's name, type, and metadata (title, role). Their recent activity arrives in the payload's `content` source.\n\n## Instructions\n1. Scan all new content for signals: launches, posts, hiring announcements, funding news, project updates, and collaboration signals.\n2. For each signal, identify which other community founders are likely to care and explain why.\n3. Suggest a concrete action: warm intro draft, shared-interest notification, or flagging for community ops review.\n4. Only suggest introductions where there is a clear, specific overlap — not generic \"both work in tech\" matches.\n5. Rate each signal's strength (high/medium/low) based on timeliness and relevance.\n",
});

const vcTracking = defineAgent({
  id: "vc-tracking",
  skills: [founderActivityTrackerSkill, opportunityMatcherSkill],
  name: "vc-tracking",
  description:
    "Track companies, founders, and investment opportunities for venture firms",
  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 founderActivityTracker = defineBehavior({
  agent: vcTracking,
  slug: "founder-activity-tracker",
  name: "Founder Activity Tracker",
  triggers: [{ kind: "schedule", cron: "0 10 * * *" }],
  notification: { priority: "normal" },
  tags: ["vc", "founders", "daily"],
  minCooldownSeconds: 600,
  reaction: reactionFromFile<typeof founderActivityTrackerReaction>(
    "./founder-activity-tracker.reaction.ts"
  ),
  skills: ["founder-activity-tracker"],
  sources: {
    founder_posts:
      "SELECT id, title, payload_text, author_name, source_url, occurred_at, score, origin_type, connector_key FROM events WHERE connector_key IN ('x') AND origin_type IN ('tweet', 'reply') ORDER BY occurred_at DESC LIMIT 300\n",
  },
  reactionsGuidance:
    "When a founder signals hiring activity, fundraising, or pivots, flag for the investment team.\nTrack founders going quiet as a potential concern.\nAlert on any public statements about competitors or market conditions.\n",
});

export default defineConfig({
  connectors: [
    connectorFromFile<typeof ExaNewsFeedConnector>(
      "./exa-news-feed.connector.ts"
    ),
  ],
  org: "market",
  orgName: "Market",
  orgDescription:
    "Track companies, founders, and investment opportunities for venture firms",
  agents: [vcTracking],
  entities: [
    company,
    founder,
    fundRound,
    investor,
    jobPosting,
    product,
    sector,
  ],
  relationships: [
    educatedAt,
    foundedBy,
    headquarteredIn,
    inIndustry,
    inSector,
    investedIn,
    mentions,
    operatesIn,
    previouslyAt,
    primaryRelationshipOwner,
    roundLedBy,
    roundOf,
    sourcedBy,
    usesTechnology,
    worksAt,
  ],
  behaviors: [founderActivityTracker, opportunityMatcher],
});
03/TEMPLATES ]

Start with an agent already connected.

Fork a working agent already wired to company systems, shared state, human approvals, and governed actions. Each ships with its sources, state model, and the work it performs.

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 →
lobu.config.ts
import { defineConfig, defineAgent, secret } from "@lobu/cli/config"
 
export default defineConfig({)
  agents: [
    defineAgent({ dir: "./agents/scout",
      providers: [{ id: "openrouter", key: secret("KEY") }] }),
  ],
  connections: [...], behaviors: [...],
});

Declarative. Yours. In your repo.

Every example above is a lobu.config.ts — desired state you version, review, and own.lobu validate checks it, lobu applyships it, lobu run boots it. No magic, no lock-in.

GitHub stars175Apache-2.0
Connectors20+Integrations
Channels8Slack, Teams, and more…
Self-hostable100%
04/RUN ANYWHERE ]

Local, self-hosted, or managed.

The same project runs on your laptop, in your cloud, or fully managed by lobu. Your context, permissions, and audit trail 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.

05/FAQ ]

Questions a technical buyer asks first.

No. lobu connects to them and resolves what happens across them into shared context, with provenance pointing back to the source. Your systems of record stay the source of truth; lobu operates across them, not instead of them.
06/FROM THE BLOG ]

Latest blog posts

Make every agent multiplayer.

One operating layer. Any agent. Open source.

Start building
Status:// provisioning…