@fleox-agent-crm/agentcrm 0.0.0-stage → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +143 -0
- package/README.md +223 -2
- package/changelog.json +76 -0
- package/dist/admin/admin-files.json +26 -0
- package/dist/admin/assets/chartsImpl-B45AAqnr.js +91 -0
- package/dist/admin/assets/firebase-C1x_l9P9.js +2 -0
- package/dist/admin/assets/gitJson-CAUSxl8d.js +3 -0
- package/dist/admin/assets/index-ChFauO8y.js +1181 -0
- package/dist/admin/assets/index-TcjySLVg.css +1 -0
- package/dist/admin/assets/index.esm-BFc7vwnl.js +400 -0
- package/dist/admin/assets/index.esm-CtEQZRb1.js +1651 -0
- package/dist/admin/assets/index.esm-Dum0J07z.js +16 -0
- package/dist/admin/assets/index.esm2017-EOzKbpUS.js +390 -0
- package/dist/admin/assets/lucide-react.min--rznIkmQ.js +6 -0
- package/dist/admin/assets/sdk-DgzLACmL.js +1717 -0
- package/dist/admin/config.js +3 -0
- package/dist/admin/favicon.svg +1 -0
- package/dist/admin/index.html +139 -0
- package/dist/admin/runtime/agentcrm-runtime.js +104 -0
- package/dist/admin/runtime/lucide-react.js +791 -0
- package/dist/admin/runtime/react-dom-client.js +17 -0
- package/dist/admin/runtime/react-dom.js +20 -0
- package/dist/admin/runtime/react-i18next.js +19 -0
- package/dist/admin/runtime/react-jsx-runtime.js +17 -0
- package/dist/admin/runtime/react.js +22 -0
- package/dist/agent/agentcrm.mjs +4057 -0
- package/dist/agent/chunks/_commonjsHelpers-ClciMIcB.mjs +14 -0
- package/dist/agent/chunks/activities-Cj_SIOay.mjs +227 -0
- package/dist/agent/chunks/api-Cz0Ubj-B.mjs +98 -0
- package/dist/agent/chunks/appearance-BloHbiLA.mjs +174 -0
- package/dist/agent/chunks/automations-DwWruxmu.mjs +698 -0
- package/dist/agent/chunks/backup-W3CjgkAJ.mjs +116 -0
- package/dist/agent/chunks/batch-CVETiJj5.mjs +142 -0
- package/dist/agent/chunks/compact-BGHI92tm.mjs +69 -0
- package/dist/agent/chunks/context-CxFfqS4D.mjs +65 -0
- package/dist/agent/chunks/core-Dy7vY9H6.mjs +255 -0
- package/dist/agent/chunks/dedupe-BepmsaHv.mjs +123 -0
- package/dist/agent/chunks/encoding-C9MzdP95.mjs +36 -0
- package/dist/agent/chunks/exportCsv-C6e6XEmB.mjs +130 -0
- package/dist/agent/chunks/extCheck-GgHG1dYB.mjs +200 -0
- package/dist/agent/chunks/extPackage-DuZ6GZhp.mjs +115 -0
- package/dist/agent/chunks/extScaffold-Aqyjf1nr.mjs +320 -0
- package/dist/agent/chunks/extensionActions-D2HtpQz4.mjs +48 -0
- package/dist/agent/chunks/extensions-Bp72uZ9a.mjs +164 -0
- package/dist/agent/chunks/featureRegistry-DSsZbhrh.mjs +149 -0
- package/dist/agent/chunks/fields-B0bitgmr.mjs +476 -0
- package/dist/agent/chunks/files-CjsPJSR6.mjs +158 -0
- package/dist/agent/chunks/files-D1daDgY0.mjs +367 -0
- package/dist/agent/chunks/firebase-DxGVQV9E.mjs +454 -0
- package/dist/agent/chunks/firebaseRules-iori-s7U.mjs +221 -0
- package/dist/agent/chunks/forms-BfuWaQjA.mjs +847 -0
- package/dist/agent/chunks/gitJson-fjr8mcHe.mjs +528 -0
- package/dist/agent/chunks/hosting-Bme7LxPc.mjs +144 -0
- package/dist/agent/chunks/http-Bk9ICb7I.mjs +127 -0
- package/dist/agent/chunks/ids-CvnmrMJX.mjs +59 -0
- package/dist/agent/chunks/ids-u-noYcy5.mjs +14 -0
- package/dist/agent/chunks/importCsv-LVmMTaWU.mjs +334 -0
- package/dist/agent/chunks/index-B-4W0-P4.mjs +535 -0
- package/dist/agent/chunks/index-BM8qeGOb.mjs +2489 -0
- package/dist/agent/chunks/index-Bnmav-Oh.mjs +311 -0
- package/dist/agent/chunks/index-CRkw3_iF.mjs +147 -0
- package/dist/agent/chunks/index-CWrrF1wl.mjs +111 -0
- package/dist/agent/chunks/index-DUSdTBkz.mjs +2988 -0
- package/dist/agent/chunks/index-RCmo-uld.mjs +26 -0
- package/dist/agent/chunks/index-w03ReRs4.mjs +9780 -0
- package/dist/agent/chunks/install-CbpD_7gd.mjs +188 -0
- package/dist/agent/chunks/jsx-runtime-Ca2uwGDr.mjs +76 -0
- package/dist/agent/chunks/loader-MPD9iAvh.mjs +184 -0
- package/dist/agent/chunks/lucide-react.min-Bt3gtepY.mjs +64 -0
- package/dist/agent/chunks/memory-WNR3VHUJ.mjs +56 -0
- package/dist/agent/chunks/migrate-CsClnnN8.mjs +182 -0
- package/dist/agent/chunks/modules-clWdE-K2.mjs +202 -0
- package/dist/agent/chunks/nodeImport-ylfRDvqt.mjs +38 -0
- package/dist/agent/chunks/package-B7mI6HGi.mjs +194 -0
- package/dist/agent/chunks/papaparse-Df7i1dHr.mjs +1309 -0
- package/dist/agent/chunks/pipelines-BAKpPk1w.mjs +234 -0
- package/dist/agent/chunks/plan-BmTat6-T.mjs +254 -0
- package/dist/agent/chunks/pluginRegistry-DyHtlkcr.mjs +83 -0
- package/dist/agent/chunks/query-C5nJB_3C.mjs +192 -0
- package/dist/agent/chunks/records-DcHFelq5.mjs +2195 -0
- package/dist/agent/chunks/registry-COfJrSmg.mjs +182 -0
- package/dist/agent/chunks/registry-DijAKZ24.mjs +431 -0
- package/dist/agent/chunks/relations-B9TynBmA.mjs +191 -0
- package/dist/agent/chunks/reports-BACHGccj.mjs +189 -0
- package/dist/agent/chunks/runtime-C0Xf0Axi.mjs +14873 -0
- package/dist/agent/chunks/runtimeConfig-CCOFg1RM.mjs +250 -0
- package/dist/agent/chunks/s3-Dz50-NuA.mjs +903 -0
- package/dist/agent/chunks/schema-C4lSslXv.mjs +373 -0
- package/dist/agent/chunks/schema-DnLj8dUO.mjs +213 -0
- package/dist/agent/chunks/sdk-whvfg786.mjs +43644 -0
- package/dist/agent/chunks/seed-6MRmQQBR.mjs +541 -0
- package/dist/agent/chunks/server-DC3t8r30.mjs +242 -0
- package/dist/agent/chunks/settings-Di8nzNEL.mjs +111 -0
- package/dist/agent/chunks/standardObjects-CheqfDqa.mjs +243 -0
- package/dist/agent/chunks/stats-BfuLWhVV.mjs +51 -0
- package/dist/agent/chunks/store-5gqRSKXg.mjs +122 -0
- package/dist/agent/chunks/themes-DPZFv3yc.mjs +43 -0
- package/dist/agent/chunks/tools-iSH-yMpl.mjs +884 -0
- package/dist/agent/chunks/types-BOy9PUl7.mjs +44 -0
- package/dist/agent/chunks/users-DI1BvS0f.mjs +107 -0
- package/dist/agent/chunks/utils-DmI8FtXP.mjs +83 -0
- package/dist/agent/chunks/views-DH1n9Lrt.mjs +109 -0
- package/dist/version.json +7 -0
- package/package.json +97 -4
- package/plugin/.claude-plugin/plugin.json +17 -0
- package/plugin/skills/agentcrm-admin/SKILL.md +191 -0
- package/plugin/skills/agentcrm-admin/references/appearance.md +26 -0
- package/plugin/skills/agentcrm-admin/references/import.md +16 -0
- package/plugin/skills/agentcrm-admin/references/records.md +30 -0
- package/plugin/skills/agentcrm-admin/references/schema.md +59 -0
- package/plugin/skills/agentcrm-extensions/SKILL.md +93 -0
- package/plugin/skills/agentcrm-extensions/references/module-recipes.md +213 -0
- package/plugin/skills/agentcrm-extensions/references/runtime-api.md +41 -0
- package/plugin/skills/agentcrm-extensions/references/testing.md +78 -0
- package/plugin/skills/agentcrm-extensions/references/theme-recipes.md +65 -0
- package/plugin/skills/agentcrm-install/SKILL.md +116 -0
- package/plugin/skills/agentcrm-install/references/firebase.md +18 -0
- package/plugin/skills/agentcrm-install/references/github.md +20 -0
- package/plugin/skills/agentcrm-install/references/mcp.md +17 -0
- package/plugin/skills/agentcrm-install/references/plans.md +45 -0
- package/plugin/skills/agentcrm-install/references/s3.md +24 -0
- package/plugin/skills/agentcrm-manage/SKILL.md +108 -0
- package/plugin/skills/agentcrm-manage/references/cron.md +11 -0
- package/plugin/skills/agentcrm-manage/references/doctor.md +18 -0
- package/plugin/skills/agentcrm-sales/SKILL.md +92 -0
- package/plugin/skills/agentcrm-sales/references/enrichment.md +13 -0
- package/plugin/skills/agentcrm-sales/references/playbooks.md +29 -0
- package/plugin/skills/agentcrm-sales/references/weekly-report.md +27 -0
- package/types/agentcrm-runtime.d.ts +894 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agentcrm-sales
|
|
3
|
+
description: Sales workflows on an AgentCRM - pipeline review and forecast, stale deals and next best actions, meeting prep briefs, follow-up email drafts from the timeline, lead qualification and enrichment from the public web, duplicate cleanup, importing trade show / event lead lists, and the weekly sales report. Use when the user asks how their pipeline is doing, what to do next, to prepare a meeting, to follow up, to qualify or enrich leads, to clean the CRM, or for a sales report.
|
|
4
|
+
license: PolyForm-Noncommercial-1.0.0
|
|
5
|
+
compatibility: Requires Node.js 20+. Web search / fetch tools help for enrichment.
|
|
6
|
+
metadata:
|
|
7
|
+
version: "0.3.1"
|
|
8
|
+
repository: "https://github.com/fleox/agentcrm"
|
|
9
|
+
allowed-tools: Bash Read Write WebSearch WebFetch
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Sales workflows with AgentCRM
|
|
13
|
+
|
|
14
|
+
You are the user's sales assistant on top of their CRM. Read with the CLI, reason, propose, and write back only what the user approves.
|
|
15
|
+
|
|
16
|
+
**Language:** talk to the user in their language; keep commands and files in English.
|
|
17
|
+
|
|
18
|
+
Every command is `npx -y @fleox-agent-crm/agentcrm@0.3.1 <command> --json` with `--site <alias>` (pick it with the `agentcrm-manage` skill). Command details are in the `agentcrm-admin` skill.
|
|
19
|
+
|
|
20
|
+
## Ground rules
|
|
21
|
+
|
|
22
|
+
- **Never invent facts** (prices, commitments, titles, emails). Everything you state comes from the CRM or a public source you cite.
|
|
23
|
+
- **Propose, then write.** Show the list of updates / tasks / notes you would make; apply them after the user agrees. Log what you did (notes, tasks) so the team sees it in the timeline.
|
|
24
|
+
- **Personal data**: enrich only from public professional sources (company website, press, public LinkedIn pages); never scrape private data, never guess personal emails. Record the source in a note.
|
|
25
|
+
- Start every session with `objects get deals` / `objects get people` so you know the stages, lifecycle values and custom fields.
|
|
26
|
+
|
|
27
|
+
## Pipeline review
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 report pipeline --site acme --json
|
|
31
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 report forecast --site acme --json
|
|
32
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 report stale --site acme --json
|
|
33
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 records list --site acme --object deals --filter closeDate:before:today --filter stage:notIn:won,lost --json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Answer with: open amount and weighted forecast (vs last review if known), deals per stage, the at-risk list (stale, close date passed, no open task, no contact), and ONE next best action per at-risk deal. Then offer to create the follow-up tasks (`tasks add … --record <dealId>`) and fix stale close dates (`records update <id> --set closeDate=…`). Playbook and next-best-action rules: references/playbooks.md.
|
|
37
|
+
|
|
38
|
+
## Meeting prep brief
|
|
39
|
+
|
|
40
|
+
For a person, company or deal:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 records get <id> --site acme --json
|
|
44
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 activities list --site acme --record <id> --related --limit 30 --json
|
|
45
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 tasks list --site acme --record <id> --status all --json
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Brief (one page): who they are (role, company, size, industry), relationship history (last 5 interactions, open questions, promises made), open deals (stage, amount, close date), recent public news about the company (cite links), 3 goals for the meeting, questions to ask, risks. Offer to save it as a note on the record.
|
|
49
|
+
|
|
50
|
+
## Follow-up drafts
|
|
51
|
+
|
|
52
|
+
Read the record and its timeline (as above), then draft the email: subject + body, specific to what was discussed, one clear ask. Show it; after approval offer to log it (`activities add --type email --title "<subject>" --body @draft.md --record <id>`) and to create a reminder task.
|
|
53
|
+
|
|
54
|
+
## Lead qualification and enrichment
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 records list --site acme --object people --filter lifecycleStage:eq:lead --sort createdAt:desc --limit 25 --json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
For each lead: read the record and its company; enrich from public sources (company website: size, industry, location; the person's public role); score fit (1-5) and intent from the timeline; recommend a lifecycle stage and an owner. Present a table, then apply approved changes with `records update` and log the sources with `notes add`. Details: references/enrichment.md.
|
|
61
|
+
|
|
62
|
+
## Clean duplicates
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 records duplicates --site acme --object people --json
|
|
66
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 records duplicates --site acme --object companies --json
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
For each group, pick the primary (most complete, most activities), show what the merge keeps, then `records merge <primaryId> <dupId>...` (plan, then `--yes`) group by group.
|
|
70
|
+
|
|
71
|
+
## Trade show / event lead lists
|
|
72
|
+
|
|
73
|
+
1. Look at the file (headers, a few rows) and map columns to people fields; put the event name in `leadSource` (add the option if missing) and `tags`.
|
|
74
|
+
2. Dry run: `npx -y @fleox-agent-crm/agentcrm@0.3.1 import csv leads.csv --site acme --object people --map "…" --json`. Report new vs existing contacts and errors.
|
|
75
|
+
3. After approval: the same with `--yes`.
|
|
76
|
+
4. Offer the follow-up: a task per hot lead for its owner, or a note on each record with the booth conversation if the file has comments.
|
|
77
|
+
|
|
78
|
+
## Weekly sales report
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 report won-lost --site acme --months 3 --json
|
|
82
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 report activity --site acme --days 7 --json
|
|
83
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 report pipeline --site acme --json
|
|
84
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 report conversion --site acme --json
|
|
85
|
+
npx -y @fleox-agent-crm/agentcrm@0.3.1 tasks list --site acme --overdue --json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Template and what to compute: references/weekly-report.md.
|
|
89
|
+
|
|
90
|
+
## Using the MCP server instead
|
|
91
|
+
|
|
92
|
+
When the CRM is connected as an MCP server (see the `agentcrm-install` skill, references/mcp.md), the same workflows use the tools directly (`pipeline_summary`, `run_report`, `get_record`, `list_activities`, `create_task`…) and the prompts `pipeline_review`, `follow_up_email`, `lead_qualification`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Lead enrichment from the public web
|
|
2
|
+
|
|
3
|
+
Allowed sources: the company's own website (about, team, pricing, careers, press pages), reputable press, public company registries, the person's public professional profile. Not allowed: guessing personal emails, private profiles, data brokers, anything behind a login.
|
|
4
|
+
|
|
5
|
+
For each lead:
|
|
6
|
+
|
|
7
|
+
1. Company: confirm the domain from the email; read the website for industry, size range, location, products. Update `companies` fields (`industry`, `employees`, `address`, `linkedin`) only with values you found.
|
|
8
|
+
2. Person: public role and seniority; update `jobTitle` only if found.
|
|
9
|
+
3. Fit score (1-5): match with the user's ideal customer (ask the user for it once and keep it in a note on the CRM settings or in this conversation).
|
|
10
|
+
4. Intent: from the CRM timeline (form submissions, emails, meetings).
|
|
11
|
+
5. Recommendation: lifecycle stage (lead, mql, sql), owner, next action.
|
|
12
|
+
|
|
13
|
+
Log each enrichment: `notes add <recordId> --body "Enriched from <url> on <date>: …"`. Present everything as a table before writing; write only what the user approves.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Pipeline playbooks
|
|
2
|
+
|
|
3
|
+
## Signals of a deal at risk
|
|
4
|
+
|
|
5
|
+
- No activity for longer than `settings.staleDealDays` (report `stale`).
|
|
6
|
+
- Close date in the past while the deal is still open.
|
|
7
|
+
- No open task on the deal (nobody owns the next step).
|
|
8
|
+
- No contact linked (`contacts` empty) or a single contact (single-threaded).
|
|
9
|
+
- Stuck in the same stage much longer than other deals of that stage.
|
|
10
|
+
- Amount empty in Proposal or later.
|
|
11
|
+
|
|
12
|
+
## Next best action by stage
|
|
13
|
+
|
|
14
|
+
| Stage | Typical next step |
|
|
15
|
+
|---|---|
|
|
16
|
+
| New | Qualify: discovery call within 3 days; confirm need, budget owner, timing |
|
|
17
|
+
| Qualified | Book the demo / workshop with the decision maker; add the second contact |
|
|
18
|
+
| Proposal | Walk through the proposal live; ask for objections and the decision date |
|
|
19
|
+
| Negotiation | Align on terms; identify the signer and the paperwork; set a close plan |
|
|
20
|
+
| Won | Kick-off and handover task; ask for a referral after onboarding |
|
|
21
|
+
| Lost | Log the lost reason; set a reminder to reconnect in 3 to 6 months |
|
|
22
|
+
|
|
23
|
+
Always phrase the action as a task with an owner and a due date: `tasks add --title "…" --due <date> --assignee <owner> --record <dealId>`.
|
|
24
|
+
|
|
25
|
+
## Forecast hygiene
|
|
26
|
+
|
|
27
|
+
- Weighted forecast = amount x stage probability; moving a deal updates its probability.
|
|
28
|
+
- Deals past their close date inflate the forecast: propose new dates with the owner.
|
|
29
|
+
- Large deals without recent activity deserve a direct question to their owner.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Weekly sales report
|
|
2
|
+
|
|
3
|
+
Compute from the reports (last 7 days unless the user says otherwise):
|
|
4
|
+
|
|
5
|
+
- **Headline**: open pipeline, weighted forecast, won this week (count, amount), lost this week (count, top reasons).
|
|
6
|
+
- **Movement**: deals created, deals that moved forward, deals that slipped (close date pushed).
|
|
7
|
+
- **Activity**: calls, emails, meetings, notes per user (report `activity --days 7`).
|
|
8
|
+
- **Funnel**: lifecycle conversion (report `conversion`).
|
|
9
|
+
- **Risks**: stale deals (report `stale`), overdue tasks (`tasks list --overdue`).
|
|
10
|
+
- **Next week**: deals expected to close (closeDate within 7 days), meetings booked.
|
|
11
|
+
|
|
12
|
+
Format (Markdown, short):
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
# Sales week <date range>
|
|
16
|
+
Open pipeline: <amount> (weighted <amount>) | Won: <n> / <amount> | Lost: <n>
|
|
17
|
+
## Highlights
|
|
18
|
+
- …
|
|
19
|
+
## At risk
|
|
20
|
+
| Deal | Owner | Stage | Amount | Why | Next step |
|
|
21
|
+
## Activity by rep
|
|
22
|
+
| Rep | Calls | Emails | Meetings |
|
|
23
|
+
## Next week
|
|
24
|
+
- …
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Offer to save it as a note on a "Weekly reports" record or to export it as a file; never send it anywhere without the user.
|