360 Secure SkillHub
360 安全技能中心

CRM-in-a-Box

提供 CRM-in-a-Box 开放协议的文件结构与基线数据,指导代理在目录中维护 contacts.ndjson、pipeline.ndjson、interactions.ndjson 与 config.yaml:追加联系人、更新交易阶段、记录互动并查询;默认含六个管道阶段与七个标签,可 fork 配置适配不同行业,无 SaaS 依赖。

taylorhou
taylorhou
热度 83.29
最近更新 2026-05-17 12:50:48
分类:协作依赖:读写文件 / 代码执行应用场景:CRM / 任务管理 / 笔记整理 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add crm-in-a-box
Metadata
name
crm-in-a-box
description
Bootstrap and manage an open, file-based CRM using the CRM-in-a-Box protocol (contacts, pipeline, interactions as NDJSON). Use when setting up a new CRM for a company, logging contacts/leads, updating deal stages, or recording interactions — all without any SaaS dependency.
metadata
{"openclaw":{"emoji":"📇"}}

CRM-in-a-Box Skill

An open, agent-native CRM protocol. One directory = one CRM. No vendor lock-in.

Files

  • contacts.ndjson — one JSON object per line, each a contact/company record
  • pipeline.ndjson — deal/opportunity tracking with stages
  • interactions.ndjson — append-only log of emails, calls, notes, meetings
  • config.yaml — pipeline stages and labels

Bootstrap a New CRM

Copy the baseline files into a company directory:

mkdir -p ./mycompany/crm
cp /path/to/crm-in-a-box/{config.yaml,contacts.ndjson,pipeline.ndjson,interactions.ndjson} ./mycompany/crm/

Or start fresh with empty NDJSON files and the default config.

Contact Schema

{
  "id": "c001",
  "name": "Jane Smith",
  "email": "jane@example.com",
  "company": "Acme Corp",
  "phone": "+1-555-0100",
  "stage": "new",
  "labels": ["hot-lead"],
  "notes": "Referred by John.",
  "created_at": "2026-01-01T00:00:00Z"
}

Pipeline Schema

{
  "id": "p001",
  "contact_id": "c001",
  "stage": "proposal_sent",
  "deal": "Enterprise License",
  "value": 12000,
  "updated_at": "2026-01-15T00:00:00Z"
}

Interaction Schema

{
  "id": "i001",
  "contact_id": "c001",
  "type": "email",
  "summary": "Sent intro email about Denver market sale.",
  "at": "2026-01-15T10:00:00Z"
}

Pipeline Stages (default)

new → contacted → meeting_scheduled → proposal_sent → negotiating → won / lost

Default Labels

hot-lead, warm-lead, cold-lead, referral, conference, inbound, outbound

Agent Instructions

  • Log a contact: append a JSON line to contacts.ndjson
  • Update a stage: append an updated entry to pipeline.ndjson (keep old entries — append-only)
  • Log an interaction: append to interactions.ndjson
  • Search contacts: grep -i "name" contacts.ndjson | python3 -m json.tool
  • List pipeline: cat pipeline.ndjson | python3 -c "import sys,json; [print(json.dumps(json.loads(l), indent=2)) for l in sys.stdin]"

Forks / Verticals

Fork config.yaml to customize stages and labels for your vertical:

  • pm-crm — Property management (tenants, owners, vendors)
  • saas-crm — SaaS sales
  • realestate-crm — Buyers, sellers, listings
  • recruiting-crm — Candidates, jobs, placements

Part of the biz-in-a-box family of open protocols.