Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

NimbleBrainInc/synapse-crm

Repository files navigation

CRM — Upjack Demo App

mpak NimbleBrain Discord License: MIT

Lightweight contact and deal tracker with agent-driven follow-ups and pipeline reviews, built with Upjack.

View on mpak registry | Built by NimbleBrain

What This Demonstrates

  • 3 entity types with JSON Schema definitions and allOf composition
  • 4 custom domain tools for pipeline management and interaction tracking
  • 2 bundled skills: follow-up coaching and daily pipeline review
  • Hooks: auto-trigger follow-up coach on new interactions and deal stage changes
  • Schedules: daily weekday pipeline review at 9 AM
  • 3 named views: active pipeline, needs follow-up, recent interactions
  • Seed data with realistic contacts, deals, and interactions
  • Synapse UI: pipeline + contacts toggle, slide-over detail panel with view/edit/create modes, contact search, mobile-responsive cards

Entity Types

Entity Prefix Schema Notes
Contact ct_ contact.schema.json People — the hub entity. Deals and interactions link here.
Deal dl_ deal.schema.json Sales opportunities with stage, value, and close date.
Interaction ix_ interaction.schema.json Activity log: meetings, emails, calls, notes.

Custom Tools

Tool Purpose
move_deal_stage Advance/regress a deal with auto close-date and probability
log_interaction Create an interaction with auto-wired contact relationship
pipeline_summary Aggregate metrics by stage: count, value, win rate
contact_timeline Full interaction history for a contact (newest first)

Skills

Ensures every interaction has a concrete next step. Auto-sets follow-up dates based on interaction type (meetings: 2 days, calls: 5 days, emails: 3 days). Triggered on interaction.created and deal.updated (stage change).

Daily health check of the sales pipeline. Identifies stale deals (no interaction in 14+ days), overdue follow-ups, and past-due close dates. Runs weekdays at 9 AM.

File Structure

synapse-crm/
├── manifest.json
├── context.md
├── pyproject.toml
├── Makefile
├── schemas/
│ ├── contact.schema.json
│ ├── deal.schema.json
│ └── interaction.schema.json
├── skills/
│ ├── follow-up-coach/SKILL.md
│ └── pipeline-reviewer/SKILL.md
├── seed/
│ ├── sample-contacts.json
│ ├── sample-deals.json
│ └── sample-interactions.json
├── src/synapse_crm/
│ ├── __init__.py
│ ├── server.py
│ └── tools/
│ ├── __init__.py
│ ├── move_deal_stage.py
│ ├── log_interaction.py
│ ├── pipeline_summary.py
│ ├── contact_timeline.py
│ ├── find_or_create_contact.py
│ └── link_deals_to_contacts.py
├── ui/ # React + Vite + Synapse SDK
│ ├── package.json
│ ├── vite.config.ts
│ └── src/
│ ├── App.tsx
│ ├── tokens.ts
│ ├── components/ # DetailPanel, DealView, ContactView, DealCard, PipelineSummaryBar
│ ├── views/ # PipelineView, ContactListView
│ └── hooks/ # useDeals, useContacts, usePipelineSummary
└── tests/ # pytest

Running

make run # stdio mode for local MCP host development
make run-http # HTTP mode on port 8001
make dev # vite dev server for the UI
make bundle # refresh deps/ snapshot for platform install

About

Lightweight CRM with contact management, deal pipeline, and agent-driven follow-ups — Synapse app for NimbleBrain

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /