Bring your agents
Connect ChatGPT, Claude, Codex, OpenClaw, or any MCP client to the same company context, scoped to each user.
Connect an agent →Scan accounts approaching renewal, surface usage and sentiment changes, and recommend next steps.
See how customer signals become governed context, scheduled work, and human-approved action.
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 ↗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 ↗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.
Automations ↗“For each I own, watch , , and for churn signals on their . When a is near renewal and at risk, draft a save play and ping the who owns it before sending.”
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 ↗Acme Corp at risk
Drafted a save-play email for Tony to send their CFO. Review before I hand it off:
Use the agents your team already trusts. Managed agents are optional.
Connect ChatGPT, Claude, Codex, OpenClaw, or any MCP client to the same company context, scoped to each user.
Connect an agent →Run repeatable work from live events or schedules under the same approval policy.
Build a managed agent →Share context, permissions, approvals, and connected actions with any agent. Add Lobu's runtime only when you need it.







The use case above is one project: connections, entity types, automations, and agent configuration. Inspect each piece or let your coding agent generate it.
import {
connectorFromFile,
defineAgent,
defineConfig,
defineSkill,
defineEntityType,
defineRelationshipType,
defineAutomation,
every,
secret,
field,
} from "@lobu/cli/config";
import type SalesforcePipelineConnector from "./salesforce-pipeline.connector.ts";
const accountHealthMonitorSkill = defineSkill({
name: "account-health-monitor",
content:
'Poll CRM data for tracked accounts. Return only material risk escalations in `health_changes` as standard observation event drafts. Put the readable risk change and supporting signals in `content`; put `{ kind: "health_change", account, from, to }` in `metadata`. Return an empty array when risk did not increase.\n',
});
const sales = defineAgent({
id: "sales",
skills: [accountHealthMonitorSkill],
name: "sales",
description:
"Help revenue teams track account health, rollout progress, and renewal signals",
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",
],
},
// Packages live on the agent, not on skills — `jq` backs the account-brief
// skill's news filtering.
nixPackages: ["jq"],
});
// entity types and relationships defined here…
const accountHealthMonitor = defineAutomation({
agent: sales,
slug: "account-health-monitor",
name: "Account health monitor",
triggers: [every("0 */12 * * *")],
tags: ["sales", "health", "renewals"],
minCooldownSeconds: 1800,
outputs: { health_changes: { event: "observation" } },
skills: ["account-health-monitor"],
});
export default defineConfig({
connectors: [
connectorFromFile<typeof SalesforcePipelineConnector>(
"./salesforce-pipeline.connector.ts"
),
],
org: "sales",
orgName: "Sales",
orgDescription:
"Help revenue teams track account health, rollout progress, and renewal signals",
agents: [sales],
entities: [organization, product, region, renewalRisk, team],
relationships: [affects, expandedInto, runs],
automations: [accountHealthMonitor],
});Connect any agent to shared context and keep consequential actions under approval.